推送的消息收不到是开发者问得比较多的,其原因也有很多种,需要一步步排查才能确定是哪个环节出了问题。在推送服务无故障的情况下,开发者可从以下几个方面来排查。
一 不同的平台(android,ios)
首先需要明确的是,推送是区分平台的,根据平台不同有一些排查步骤是不同的。
1.android
如果设备收不到消息,可以先在工具里面查询是消息确实没有下发还是因为设备的长连接不在线导致的。如下图所示。
如果根据token看不到对应的消息记录,表示确实没有给这个设备发。可能的原因:a.device_token无效了;b.appkey和device_token不对应;c.没有筛选出来(具体原因需要根据发送类型来查)
如果能查到消息记录,看看消息状态,如果是【已受理】,表示因为设备长连不在线导致消息没有下发;如果是【已过期】,表示设备在消息的有效期内没有在线,消息不会再下发了;如果是【已送达】,可能是开发者没有注意或者是sdk端集成有问题,或者不允许展示通知,具体原因可能需要在客户端看一下日志。
2.ios
需要强调一点,iOS是严格区分生产和开发环境的,device_token在不同环境下是不一样的,需要开发者自己确定使用的环境,到具体的环境下去发送消息。
同android一样,后台工具中也可以根