应用研发平台EMAS在线能收到消息,离线收不到是什么原因呢?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
检查推送消息的 payload 是否设置正确。推送消息的 payload 应该包含必要的信息,例如推送消息的标题、内容、声音、角标等。如果 payload 设置不正确,就可能导致应用程序无法正确解析推送消息。
检查应用程序是否正确处理了推送消息的回调函数。在 iOS 中,应用程序需要实现特定的回调函数,以接收推送消息的 payload。如果应用程序没有正确实现回调函数,或者回调函数中没有正确处理推送消息的内容,就可能导致应用程序无法正常接收推送消息。
检查应用程序的网络连接是否正常。如果应用程序处于离线状态,或者网络连接不稳定,就可能导致应用程序无法接收到推送消息。在这种情况下,您需要确保应用程序的网络连接正常,并且在应用程序重新连接到网络时,能够正确获取之前未接收到的推送消息。
APP在线:
1,初始化是否成功,若失败重点检查阿里云后台和app参数是否对(appkey,密码,应用包名)
2,检查前后端channel是否一致: https://help.aliyun.com/document_detail/67398.html?spm=a2c4g.11186623.0.0.360b46e2CBSG2v
3,设备通知状态是否打开
APP离线
1、离线存储是否打开,参考文档:https://help.aliyun.com/document_detail/434778.html中的StoreOffline
2、设备通知状态是否打开
3、厂商配置是否正确,参考文档:https://help.aliyun.com/document_detail/430567.html
4、厂商token是否正常获取,pushService.setLogLevel(CloudPushService.LOG_DEBUG) 过滤日志字段MPS,参考文档:https://help.aliyun.com/document_detail/57105.htm?spm=a2c4g.11186623.0.0.656dd167gEEWNp 对应的厂商通道文档
5、辅助通道必传参数是否填写:AndroidPopupActivity、AndroidPopupTitle、AndroidPopupBody,参考文档:https://help.aliyun.com/document_detail/57105.htm?spm=a2c4g.11186623.0.0.600c6e41VIRhAD
6、检查前后端channel是否一致: https://help.aliyun.com/document_detail/67398.html?spm=a2c4g.11186623.0.0.360b46e2CBSG2v
以上排查检查没有问题,提供appkey、消息id、设备id,此回答整理自钉群“应用研发平台EMAS开发者交流群”
当应用处于离线状态时无法收到EMAS推送消息,这可能由以下原因引起:
设备网络连接中断:如果设备处于无网络连接或网络不稳定的状态,消息推送无法到达设备。请确保设备正常连接到互联网,并具有稳定的网络连接。
推送平台限制:某些情况下,推送平台可能存在限制,例如,即使设备在线但推送平台服务器出现问题,也无法将推送消息传递给设备。在这种情况下,需要联系EMAS官方支持团队以了解是否存在推送平台的问题。
设备未注册或注册信息过期:设备必须在EMAS上注册才能接收推送消息。如果设备未正确注册,或者注册信息已过期(例如注册ID过期),则可能无法收到推送消息。确保设备正确注册并且注册信息是最新的。
推送消息类型和配置:某些推送消息可能需要设备在线才能被传递,如实时消息、通知等。如果你使用的是这些类型的消息,并且设备在离线状态下,那么离线时是无法收到这些消息的。请确认你所使用的推送消息类型和配置是否适合离线发送。
推送SDK设置或配置错误:检查你的应用代码中的推送SDK设置和配置,确保正确处理离线消息。根据EMAS推送SDK的文档或示例代码,查看是否有适当的配置来处理离线消息。