全部产品
云市场

移动推送Android SDK:小米托管弹窗未生效,应用杀死后推送无法收到,该如何排查?

更新时间:2017-06-07 13:26:11

1.问题

已经配置小米弹窗,但并未生效,应用杀死后仍然无法收到推送,这是怎么回事?

2.解决方案

如果您按照移动推送辅助通道配置文档 配置小米辅助通道并使用托管弹窗功能后,在小米ROM下杀死APP进程依然无法获取推送通知,请按下述Checklist再进行一次检查:

  • 请再review一遍移动推送辅助通道配置文档 确保没有- 配置错误;
    • 请确保小米手机针对目标APP开启了推送通知权限;
    • 请确认APP初始化阶段是否有小米通道注册成功及成功上报小米Token的log:
      1. 12-09 22:20:39.710 19566-19566/com.xxx E/MPS:MiPushRegister: MiPushRegister checkDevice flag=true //确认是小米的手机
      2. 12-09 22:20:39.712 19566-19566/com.xxx E/MPS:MiPushRegister: Register mipush. //开始注册小米
      3. 12-09 22:20:40.596 19566-19733/com.xxx E/MPS:MiPushReceiver: XiaoMi register success. //小米注册成功 regid=d//igwEhgBGCI2TG6lWqlCesc0I6xE1wUhNCBXQ8uNOi/dDZioYXVysbrVrvRmyEVPn9nWz92D28IzYbA1RzoGDyTzYZwXKfBHEQkrey4G8=
      4. 09-29 18:11:09.546 21569-21619/org.ajmd I/accs.NotifManager: reportThirdPushToken,dataId=null,regId=gO5l58x5vCzdeb7Z7y6IpgvPjspGINes9o7wAFd2BF8=,type=MI_TOKEN\ // 上报小米Token
      5. 10-17 17:52:31.645 23861-23905/com.alibaba.push2 I/accs.AgooService: onResponse,dataId=1,errorCode=200,data=[B@104768c2,serviceId=agooTokenReport//小米token上报成功确认
    • 确认OpenAPI的配置和小米托管弹窗关于内容的长度限制:设置AndroidXiaoMiActivity后会启动小米托管弹窗功能。托管弹窗的前提条件:1. 集成小米辅助通道;2. storeOffLine参数设为true;注意: 小米辅助通道对托管弹窗传输有长度限制,title < 16字符(中英文算一个字符),Body < 128字符(中英文算一个字符);
    • 确保APP处于退出进程状态,否则移动推送会优先使用应用内通知推送,而非托管弹窗机制;
    • 确认代码中是否屏蔽掉channel进程的初始化工作。比如在Application的 onCreate方法中判断是否是主进程,并屏蔽非主进程的初始化工作,进而导致channel进程无法正常初始化。SDK中channel进程必须完成与主进程同样的初始化才能保证功能的正常执行。