在开发环境中用测试appKey进行测试时一切正常,但是切换到生产环境(更换成生产环境的appKey和appSecret,测试环境和生产环境app的包名相同)后却无法收到推送了,这是为什么?
问题原因
推送SDK在初始化的过程中为减少性能开销,在客户端保存有缓存,缓存以包名作为标识。
所以如果您更换了appKey,appSecret,包名保持不变的话,SDK在初始化的过程中并未真正发起设备注册过程。因而接收不到推送。
解决方案
强烈建议您使用不同的包名区分测试环境和生产环境。如果您使用Android Studio进行开发,在切换环境时,只需更换build.gradle文件中的applicationId即可,无需改变代码包名
如果确实需要使用相同的包名,在切换环境时请先卸载原有App,重新安装。不要覆盖安装
更多官方信息
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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。