为什么推送消息给A应用结果B应用收到消息?

问题详述

推送消息到Android设备,推送的目标App是A,结果部分设备(没有安装App A)上的App B收到了该条消息,这是怎么回事?

2.解决方案

请按以下步骤进行排查:

  • 请确认这两个应用是否有同样的包名,SDK在端上进行消息路由是以包名作为依据的;
  • 确认装有App B并且收到原本发给App A的设备是否曾经安装过App A。
  • 如果同时符合上述两个情形则有可能发生推送错误发生的情况。因为当前应用卸载无法做到100%检测。如果没有检测到App A的卸载,服务器会认为对应设备依然装有App A并向该设备下发推送消息,如果此时该设备又安装了具有相同包名的App B,则SDK会将该消息路由给App B。
  • 解决方法:不同App使用不同包名,彻底避免出现该问题。