小米弹窗未生效,应用被强制结束后推送无法收到?

问题详述

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

解决方案

如果您按照移动推送辅助通道配置文档 配置小米辅助通道并使用托管弹窗功能后,在小米系统下结束APP进程依然无法获取推送通知,请按下述排查步骤再对辅助通道配置进行一次检查,确保没有配置错误:

  • 请确保小米手机针对目标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进程必须完成与主进程同样的初始化才能保证功能的正常执行。