java开发消息推送成功,手机收不到消息提醒

收不到消息
标签: #<Tag:0x00007fb8476be868>

#10

Android 不分开发或者生产,这里只针对 iOS,iOS在Apple那边有证书、环境区分,所以才有区别


#12

1、请不要随意暴露你的密码

2、你自己在官网上看得到AppKey对应的是什么应用名,我也不知道你们什么 AppKey用来做测试还是做生产。

3、如果你们要开发和生产的分成两个应用去推送,那么你们前端测试的时候为什么要拿 一个开发应用的AppKey 去配置生产的App ?

4、请你们自己去区分清楚这些信息,并配置正确

  • 应用名-AppKey值-该应用是用来测试还是用于生产。

  • 拿测试的应用的 AppKey 配测试的 App,App端选择测试证书(开发证书),服务端推送的时候用测试AppKey给测试应用推送

  • 拿生产的应用的AppKey配生产的 App,App选择生产证书(ad-hoc什么的),服务端推送的时候 用生产的 AppKey 给生产应用推送。

5、其实你们根本不需要搞得这么麻烦,iOS的一个应用本来就是可以分两个环境的,证书和代码配好就行了,没必要还分成两个应用。


(java开发) #13

谢谢您!前几天iOS和安卓都能收到,现在iOS的一直收不到,我们这边返回的状态一直都是成功的!
您说我们现在的环境是生产的,
但是前端的说是配置开发的,现在不知道到底是生产的还是开发的!


#14

我查到的registrationID是生产的就说明这个 App就是生产的,请你让你的前台去看这个连接,客户端的环境由证书决定,不是由他代码里面写的isProduction决定的


(java开发) #15

您好:我现在使用别名alias发送消息,更换手机之后,再换另外一个手机登录我做了DefaultResult deleteAlias(String alias, String platform)方法调用,清除别名alias,怎么没效果呢?消息还是发送到更换之前的手机上了
请问这种情况怎么解决???


#16

你在服务端清除的别名?返回值成功了吗?你设定的平台跟需要清除的平台一致吗?

你们客户端是否又重新调用 api 设置了别名


(java开发) #17

我设置别名使用的是public DefaultResult updateDeviceTagAlias(String registrationId, String alias,
Set tagsToAdd, Set tagsToRemove)这个方法,没要求设置平台!
清除别名返回的DefaultResult对象中isResultOK==true!清除完之后,再使用新的手机登录,请求发送消息还是原来的手机接收到的
是不是我设置别名调用方法错误?


#18

你是将别名值传空串吗?将你的请求参数与日志发一下。

如果你只允许一个别名下只有一个应用,在删除别名时可以直接用删除别名下绑定的所有的设备的方法
https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device/#_5

另外,你的应用是北京机房的应用,需要修改下域名。

参考:



(java开发) #19

调用这个方法返回


#20

返回 200 是成功的,你看下结果如何,域名改下再试一下


(java开发) #21

通过手机注册的极光号去发送,怎么原有登录过的手机和新登录的手机也都能收到消息?
难道不是按照registrationId去发送的?还是用别名发送的?


(java开发) #22

能不能帮我把我们app在你们平台注册的极光信息(registrationId和别名、标签都清除了?)我们再重新注册


#23

这不可能,如果你是正确的给registrationID推送,那么就只有registrationID对应的设备才能收到,registrationID是你客户端集成时得到的ID。每个手机的ID是唯一的。
registrationID不可清除。

在我这里也不能操作你的别名,只有你们自己拿AppKey和密码调 api 才可以去操作别名标签。


(java开发) #24

不好意思,服务器代码没部署,使用registrationID发送,确实好用!
暂时我就先用这个方式发送,等明天投产之后,再研究!
谢谢您今天的帮助!


#25

不客气。

另外,我们开展了一次征文活动,写写文章就能赢 Filco 和 VIP 服务,100% 获得 20 元京东电子充值卡,多样的选题,技术、产品、运营、数据分析、读后感均可,有兴趣可以看看,也可以转给你的同事们,拿奖超简单的。


(java开发) #26

您好

修改这个域名之后,访问不通
报如下错误

2017-12-26 10:03:27.001 ERROR 193476 --- [           main] c.p.p.s.message.impl.JPushServiceImpl    : Connection error, should retry later

cn.jiguang.common.resp.APIConnectionException: Connection IO error. 
Can not connect to JPush Server. Please ensure your internet connection is ok. 
If the problem persists, please let us know at support@jpush.cn.
	at cn.jiguang.common.connection.NativeHttpClient._doRequest(NativeHttpClient.java:249)
	at cn.jiguang.common.connection.NativeHttpClient.doRequest(NativeHttpClient.java:99)
	at cn.jiguang.common.connection.NativeHttpClient.sendPost(NativeHttpClient.java:86)
	at cn.jpush.api.push.PushClient.sendPush(PushClient.java:163)
	at cn.jpush.api.JPushClient.sendPush(JPushClient.java:193)
	at cn.posagent.psp.service.message.impl.JPushServiceImpl.pushMessage(JPushServiceImpl.java:204)
	at cn.posagent.psp.service.message.impl.JPushServiceImpl.pushMessageByAlias(JPushServiceImpl.java:125)
	at cn.posagent.psp.service.messagePush.impl.MessagePushServiceImpl.messagePush(MessagePushServiceImpl.java:145)
	at cn.posagent.psp.service.messagePush.impl.MessagePushServiceImpl.messagePushData(MessagePushServiceImpl.java:111)
	at cn.posagent.psp.service.messagePush.impl.MessagePushServiceImpl.messageData(MessagePushServiceImpl.java:781)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
	at com.sun.proxy.$Proxy205.messageData(Unknown Source)
	at cn.posagent.psp.userJPush.UserJPushServiceTest.TestMessageData(UserJPushServiceTest.java:59)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)
	at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)
	at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)
	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
	at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: java.net.UnknownHostException: bjapi.jiguang.cn
	at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.SocksSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
	at sun.net.NetworkClient.doConnect(Unknown Source)
	at sun.net.www.http.HttpClient.openServer(Unknown Source)
	at sun.net.www.http.HttpClient.openServer(Unknown Source)
	at sun.net.www.protocol.https.HttpsClient.<init>(Unknown Source)
	at sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(Unknown Source)
	at cn.jiguang.common.connection.NativeHttpClient._doRequest(NativeHttpClient.java:161)
	... 46 common frames omitted

#27

是否你们屏蔽了我们这个域名,host文件给他绑定了一个无效IP?


(java开发) #28

{“msg_id”:36028797340873506,“sendno”:729867184,“statusCode”:0}
registrationId = 18171adc030848eb9f4

IOS收不到消息!麻烦您看下


#29

极光这边已经将消息发给了Apple服务器,你如果确认没收到,是Apple服务器没有下发,几个原因:
1、网络异常,无法连接到Apple服务器(此处与你是否手机可以正常上网是不一样的),Apple服务器对断连期间 的推送,只会保留1条,其他会丢弃。 可尝试切换网络

2、手机-通知栏提醒-提醒样式

3、调用了反注册代码 [[UIApplication sharedApplication] unregisterForRemoteNotifications];或者
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]进入应用设置页面使用户可以手动变更是否允许通知的设置。

4、注册apns代码中有提供类型选择:
entity.types = JPAuthorizationOptionAlert|JPAuthorizationOptionBadge|JPAuthorizationOptionSound; 你没有写上alert

5、iOS10以下,处于前台,收到消息是不会展示的,log会打印,iOS10以上才有提供接口,在前台展示通知

6、push Notification没开

7、App端配置的通配证书

8、高峰期Apple下发有延迟

9、检查清除角标的方法是否影响了消息的展示,角标清除,通知栏信息就没了。

10、不要特别频繁的快速的间隔很小的推送消息,再重测一下看看。


(Kevin) #30

你这个后来是怎么解决的?