针对MobPush智能推送服务在使用过程中可能出现的问题,本文为各位开发者们带来了针对MobPush安卓端推送问题的解决办法。
TCP在线推送排查
排查TCP在线收不到推送时,我们先通过客户端的RegistrationId接口获取设备的唯一标识
示例:
MobPush.getRegistrationId(new MobPushCallback<String>() {@Overridepublic void onCallback(String rid){Log.e("AAAAAAAA","RegistrationId:" + rid);} });
然后在mob开发者后台通过“设备查询”模板查询该设备的状态
下面是可能导致在线推送收不到的原因:
1、通过RegistrationId查询不到设备:
查询不到设备一般是由于appkey使用错误导致,可以检查一下客户端使用的appkey和创建推送时使用的appkey是否一致。
2、”推送权限“为“关闭”:
此时在手机“设置”中打开APP的推送权限,重启APP再进行推送即可。
3、“在线状态”为“离线”:
首先检查一下自己是否有集成厂商通道,如果没有集成厂商通道,该情况收不到推送为正常,当APP在有效时间内再次打开时会收到推送;如果有集成厂商通道,按“厂商推送排查”排查流程进行排查。
4、别名或者标签推送收不到:
此时检查一下“别名”、“标签”中是否有自己设置的别名或标签,若有,检查一下创建推送时设置的参数是否正确,一般是因为创建推送时设置别名或者标签不对导致;若没有,检查一下客户端设置的别名或标签是否正确以及是否设置成功,一般是由于客户端代码设置错误,或者设置失败导致。
厂商推送排查
排查厂商推送收不到推送时,我们先通过MobPushLog日志查看厂商通道是否注册成功:
1、在AndroidManifest.xml文件中添加以下配置
<meta-dataandroid:name="com.mob.mobpush.debugLevel"android:value="4" />
2、添加后,冷启动APP即可在在日志控制台即可查看到TAG为MobPushLog的相关日志
详细日志情况可以通过厂商SDK集成指南进行查看
厂商注册失败
厂商注册失败一般是由于配置信息不对,可以检查一下apk的包名、md5签名、指纹证书和对应厂商开发者后台配置的是否一致,厂商开发者后台配置可以参考厂商通道申请指南
厂商注册成功
在厂商注册成功的情况下还是收不到厂商推送,一般是由于以下两个原因导致的:
1、可能是手机开启了免打扰模式,通知被手机自动过滤了,可以将手机的“允许打扰”打开,再进行推送测试
2、触发了厂商的限制,推送下发失败了,各个厂商限制情况,可以参考厂商推送限制
MobPush是国内首屈一指的智能推送服务平台,现在还支持免费试用哦~