集成阿里云移动推送,成功接收到推送。应用卸载后重装(不是覆盖安装)后再次接收到之前的推送。
问题原因
阿里云推送在推送到设备端之后会返回ack消息,如果服务端没有收到ack会认为应用没有收到消息,并会在合适时候重新推送。SDK端有数据库记录每一条收到的推送,并会在收到消息后进行去重处理,保证同一条消息只会透出一次。上述情况可能的原因是,应用没有返回ack给服务端,而用户卸载重装应用后会清空本地数据库导致去重机制失效。
解决方法
检查channel进程是否执行了与应用进程相同的初始化操作。当前应用到达ack消息通过channel进程上报服务端。如果channel进程没有成功初始化会导致ack消息上报失败。
确保推送SDK是在Application中进行的初始化,并且主进程和channel进程均可以执行到初始化代码。
更多官方信息
EMAS官网介绍:https://www.aliyun.com/product/emas
Devops:https://www.aliyun.com/product/emascrash/mobile_devops
移动热修复:https://www.aliyun.com/product/hotfix
移动测试:https://www.aliyun.com/activity/emas/mqcexpert
移动推送:https://www.aliyun.com/product/cps
HTTPDNS:https://www.aliyun.com/product/httpdns
EMAS 控制台: https://emas.console.aliyun.com/products
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。