连接成功,发送失败


(dangji) #1

连接成功了,但是根据id发送消息失败,全部发送只有安卓能收到


#2

收不到消息的问题:请提供推送的消息的msgid(MessageID)和收不到这条消息的设备的registrationID(在客户端获取,无论以何种方式做推送,该信息必须提供)

请一定要提供 registrationID 给我,因为你很有可能别名下有很多个目标,别名设置失败,推送的AppKey和设备对应的AppKey不一致等等,只有通过registrationID才能确确实实的查询到具体的设备收不到的原因!

这两个信息如何获取: 极光产品相关提问简要说明


(dangji) #3

161a3797c80ecb71fd2 ios 通知消息都收不到
170976fa8a8a0d9f7f8 安卓 消息收不到


#4

请你提供我所需要的完整的信息,Message ID


(dangji) #5

并没有报错,但是设备没有收到


(dangji) #6

后台全部显示消息发送成功,但是就是没收到


(dangji) #7

两台设备都显示发送成功,但是ios接收不到


#8

极光这边已经将消息发给了Apple服务器,你如果确认没收到,是Apple服务器没有下发,几个原因:
1、网络异常,无法连接到Apple服务器(此处与你是否手机可以正常上网是不一样的),Apple服务器对断连期间 的推送,只会保留1条,其他会丢弃。 可尝试切换网络
2、手机-通知栏提醒-提醒样式
3、调用了反注册代码 [[UIApplication sharedApplication] unregisterForRemoteNotifications];
4、注册apns代码中有提供类型选择:
entity.types = JPAuthorizationOptionAlert|JPAuthorizationOptionBadge|JPAuthorizationOptionSound; 你没有写上alert
5、iOS10以下,处于前台,收到消息是不会展示的,log会打印,iOS10以上才有提供接口,在前台展示通知
6、push Notification没开
7、App端配置的通配证书
8、高峰期Apple下发有延迟
9、检查清除角标的方法是否影响了消息的展示,角标清除,通知栏信息就没了。
10、不要特别频繁的快速的间隔很小的推送消息,再重测一下看看。

具体排查总结阅读:
1、 常见问题 - JPush 合集(持续更新)
2、 常见问题 - JPush 合集(持续更新)


(dangji) #9

安卓 通知可以收到 消息 收不到 也没有报错


(dangji) #10

只收到了通知,没有收到消息,没有报错


#11

1、要查询具体消息为什么收不到,请你提供消息的Message ID,我向你要了两次。

2、根据你当前官网控制台推送的消息,查询,Android的自定义消息是已经成功到手机上的,只有成功到了手机上,我们才会收到上报说成功。

3、Message 消息是不展示的,请你们客户端检查 log


(dangji) #12

我app用的apicloud提供的监听方法,不存在这个方法的时候,消息会弹出到通知栏的


(dangji) #13

发送编号 1517796735
Message ID 36028797555276862
推送方式 立即推送
接受对象 Reg.ID:161a3797c80ecb71fd2,170976fa8a8a0d9f7f8


(dangji) #14

大哥,不好意思,我找到问题了,apicloud提供的这个方法是设置ios角标的,我在接受消息的时候就执行了这个,但是不清楚为什么后面的就都不执行了,我把这个方法去掉就好了

ajpush.setBadge({
    badge: 0
});

#15

因为 apicloud他们封装了我们的 SDK ,所以这个我也不清楚他们具体的做法,什么方法可能会影响什么等。


(dangji) #16

再就是有个问题
服务器发送消息的时候这里的键是’extras’
app接收的时候就变成了’extra’


(dangji) #17

麻烦你了,谢谢了


#18

字段问题没什么,只要一一对应就行,看他们怎么规定了,只要不影响正常获取。官方的Android字段是这样:

iOS的是