说明:其中之一推送可以正常收到,代表客户端集成没有问题。
排查方案:
对比 web 与 API 推送历史 - 详情中的推送内容的区别,常见情形如下:
iOS 环境不一致问题:API 推送消息给 iOS,需要设置 apns_production 指定推送的环境,false 为开发,true 为生产。
消息详情中,推送平台 ios 代表开发,ios-product 代表生产,还可以从 options →"apns_production 字段的值来辨别。
如果 API 推送传的是 true,但消息详情中却显示的 false(官网详情显示的内容是实际传递给极光的值),那么需要检查 API 推送的代码,是否有覆盖、引用、修改的代码和实际调用的代码不一致等问题
Appkey 不一致:官网在应用设置中查看 Appkey,调 API 推送在调用验证处查看所传 Appkey,客户端配置的 Appkey 会在 log 中打印出来。推送使用的 Appkey 必须和客户端配置的一致。
推送目标不一样:例如官网是给 registrationID 推送 / 广播推送,API 是给别名推送
没有给 Android 或者 iOS 传值:推送的有效目标只有 iOS 设备,但 Notification 中只给 Android 传参,则 iOS 肯定收不到,或反之。
alert 为空(通知内容为空):若该字段为空,则 Notification 消息不会展示。
其中一个推送的是自定义消息:自定义消息默认不展示,阅读本帖
检查是否 API 推送时的调用地址,是否写成了推送校验 API (https://api.jpush.cn/v3/push/validate)
提供收不到消息的设备的 registrationID 和推送的消息的 MessageID(收到的和未收到的)给官方人员查询。
- Message ID(调用 API 请求成功后会返回 msgid ,官网 - 推送历史 - 操作 - i 详情里面也可以查看该信息,如果查不到历史请注意筛选条件,历史只保存 30 天)
- 测试设备的 registrationID(不管是广播、别名、标签还是其他方式推送,均必须提供该信息,只有 registrationID 才能精准定位到你的设备),该信息只能在客户端调 API 获取,服务端无法取到,服务端若需存储请让客户端获取后上传 。
iOS 的 registrationID 获取方法点我
Android 的 registrationID 获取方法点我
如果对你有帮助,点个赞 呗ლ(╹◡╹ლ)
点这里返回常见问题目录,不吹不黑,收藏本帖可以解决你 90% 的问题 (ノ◕ω◕)ノଘ_ଘ
0条评论