Android 收不到消息 / 排查不出请根据第 9 点说明提供信息
注:iOS 收不到排查戳这里
首先确认推送是否是成功的,消息是否是正确的
调 API 推送或官网推送时,官网是否显示已成功, API 是否返回 HTTP code 200 和 msgid
是否调用的是推送校验的 API ,消息实际没有推送出去
若失败,官网会在页面上方提示,API 会返回错误码,根据错误码在列表中找到报错原因,在社区搜索该报错有更详细的排查步骤。
你 API 推送消息所使用的 Appkey 是否与你客户端配置的 Appkey 不一致?请仔细检查。
推送时 通知内容(Alert)是否为空 ,官网图示,为空则不展示
你是否推送的是自定义消息而不是通知消息,自定义消息默认不展示
其次确认客户端是否已经集成成功
确认 AppKey(在官网创建应用时生成的)已经正确的写入 Androidmanifest.xml
是否可以获取到 RegistrationID 的值(能取到表示集成成功),若取不到 ID 请获取一下客户端日志信息,是否有报错内容,将日志信息提供给官方分析。
最后确认客户端是否可以正常接收 / 展示推送消息
确认测试手机(或者模拟器)已成功连入网络(可以切换网络来判断是否该网络运营商有问题)
请使用接口 isPushStopped 来检查 是否调用了stoppush,若是请调 resumepush 进行恢复
检查手机的应用高级设置中是否设置了“允许推送时间”
手机的应用中是否勾选了“显示通知”
手机 - 设置 - 通知栏 -是否选择了横幅提醒
Android 8 系统,设置 targetSDKVersion>=26 时,华为手机可能不弹出通知,因为华为未兼容 Android 8.0 通知 Channel ,后续他们的修复情况暂时未知。可以尝试降低 targetSDKVersion
小米手机,muui10 有通知过滤功能。在设置->通知和状态栏 关闭通知过滤。
「Android 是不是要求后台进程不能关,才能收到推送?」
「Android 处于后台 / 黑屏状态下收不到推送」「Android 中极光推送后台服务被杀死后不能自动重启」
Android 原生系统,没有 root,用 home 键上滑杀进程等其他系统自带的停止方式,都可以自启动,一般 10s 内恢复。但如果是强行停止就只能用户自己手动开启应用
如果是 miui 等第三方系统,杀了进程默认无法自启动
如果是 root 过的原生系统,杀了进程也是没有办法自启动的
更多情况的探讨:
-
测试时,设置了权限不代表划掉应用马上推送应用就马上可以收到
给权限的目的是让进程、服务可以重启,但是能不能重启,什么时间后才重启成功,重启后对长连接还有没有连接限制等都是要考虑的
最终能和极光服务器建立起长连接 才是他是否可以收到消息的评判标准
「EMUI 4.1手机系统权限说明」:需要注意手机自带的手机管家里面,有省电选项
「魅族和小米:有个消息盒子」,将一些不重要的信息或者屏蔽的信息放在里面
如何让消息盒子的消息正常显示在通知栏-
- 应用通知管理:开启“允许通知”后才能显示通知。
- 冷藏室:应用被加入冷藏室后,会被自动结束进程,就收不到消息了。
Android 8 系统,设置 targetSDKVersion>=26 时,华为手机可能不弹出通知,因为华为未兼容 Android 8.0 通知 Channel ,后续他们的修复情况暂时未知。可以尝试降低 targetSDKVersion
「为什么微信或者 QQ 等应用看似可以保证不被杀死或者杀死后可以收到消息」
如果将他们完全彻底的杀死,也是收不到的,这是肯定的
只是:他们很难被杀死,即便杀死后也会以较快的速度重启:我们(用户)会下意识的在手机里开启对他们的保护;他们是不少手机系统的自带软件。
我们已接入「小米推送」、「华为推送」「魅族推送」「Google FCM」「OPPO 推送」「VIVO 推送」等市场上已有的 6 种系统推送,在 App 杀死时,你通过极光推送发的消息,在这 4 种手机上,会自动走系统推送下发消息,有需要的话可联系商务开通。
OPPO 推送仅支持企业用户,Vivo 需要在他们的应用商店上架且个别类别的应用不支持(这些在他们平台申请的时候均有说明)
联系商务,QQ 公众号:800024881,电话:400-612-5955,邮箱:sales@jpush.cn
开通服务后方可获取到相关资料,相关技术支持请直接对接 VIP 支持,社区对此无法提供帮助
其他 VIP 相关说明阅读本帖
当然,你也可以自己单独的去集成每个系统推送的官方 SDK ,只是这样你需要分别手动进行推送。
根据上述内容排查未果,提供如下信息给官方协助查询
请说明你根据排查步骤已确认有哪些信息是正确的,没有收到推送的依据是什么?务必提供如下两个信息,复制粘贴为文本,缺一不可:
Message ID(调用 API 请求成功后会返回 msgid ,官网 - 推送历史 - 操作 - i 详情里面也可以查看该信息,如果查不到历史请注意筛选条件,历史只保存 30 天)
- 测试设备的 registrationID(不管是广播、别名、标签还是其他方式推送,均必须提供该信息,只有 registrationID 才能精准定位到你的设备) ,该信息只能在客户端调 API 获取,服务端无法取到,服务端若需存储请让客户端获取后上传 。
Android 的 registrationID 获取方法点我
如果对你有帮助,点个赞 呗ლ(╹◡╹ლ)
点这里返回常见问题目录,不吹不黑,收藏本帖可以解决你 90% 的问题 (ノ◕ω◕)ノଘ_ଘ
0条评论