根据registrationID推送成功手机却没有收到,全员广播是可以收到通知的


(小刀) #1

哪位大神有这样的情况,望赐教


#2

根据截图显示,该直接给registrationID推送的消息已经成功,说明:极光这边已经将消息发给了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、不要特别频繁的快速的间隔很小的推送消息,再重测一下看看。

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


(小刀) #3

感谢回复,已解决,app在后台运行是可以接受到消息的,如果页面一直打开app的话就接受不到消息,这是apns的机制吗?


#4

ios 系统决定的


(小刀) #5

感谢感谢!还是极光社区好,秒回。