应用研发平台EMAS 阿里推送后台查看就显示离线 只是应用退到后台 请问这个是什么原因?
推送SDK为了提高推送到达率做了进程保活,除了应用进程之外,还有辅助进程channel。在诸如应用退到后台,设备锁屏或者应用杀死等场景都是通过channel进程接收推送消息的。而channel进程的正常工作是依赖于channel的成功初始化。如果您在Activity中执行了推送的初始化逻辑将导致channel进程无法完成初始化操作。channel进程无法正常工作将严重影响推送到达率。
解决方法
将推送初始化逻辑移至Application中,并保证主进程和channel进程均可以执行相关代码:
public class MyApplication extends Application {
@override
public void onCreate() {
super.onCreate();
if(如果是主进程或channel进程) {
initCloudChannel(this);
}
}
......
}
EMAS如何判断设备在线和离线
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。