调用推送接口返回成功,手机端未收到通知栏消息,该如何自检?

Posted 华为移动服务

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了调用推送接口返回成功,手机端未收到通知栏消息,该如何自检?相关的知识,希望对你有一定的参考价值。

一、问题场景

某位开发者调用API接口推送消息,请求返回:"code": "80000000","msg": "Success","requestId": "16233092****287602020201"。返回"code": "80000000"表示该请求是成功的,但是手机端未收到通知栏消息。

二、原因分析排查

首先可以排查消息体中是否存在以下几种字段使用不当的情况:

情况1: validate_only的值是true

validate_only字段控制当前是否为测试消息,测试消息只做格式合法性校验,不会推送至用户设备。也就是说validate_only值为true时,即使请求返回"code": "80000000",服务器也不会给端侧推送消息。

情况2:没有使用notification字段

消息体中有message.data,没有message.notification和message.android.notification,消息类型为透传消息。透传消息透传给应用,不会在通知栏展示。

情况3:foreground_show的值是false

foreground_show控制前台应用的通知处理,当该值被设置为“false”且应用在前台时,通知消息的全部内容将会通过onMessageReceived(RemoteMessage message)方法传递给应用,不展示通知栏消息。

前台应用的通知处理参考文档

如以上3种情况都不符合,可使用Push自助分析功能查询消息发送情况:

登录AppGallery Connect网站,点击“我的项目”,在项目列表中找到自己的项目,通过“增长 > 推送服务 > 自助分析(Beta)”页签进入。

输入发送消息时的“token”和推送服务返回的“requestId”后,点击查询按钮即可查看消息发送情况。

这上面的消息记录更新的比较慢,如果未查询到消息处理,请在推送请求半小时后再查询。Push自助分析参考文档

如果按以上排查步骤仍未能找到原因,请查看技术支持文档。

了解更多详情>>

访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHubGitee

关注我们,第一时间了解 HMS Core 最新技术资讯~

以上是关于调用推送接口返回成功,手机端未收到通知栏消息,该如何自检?的主要内容,如果未能解决你的问题,请参考以下文章

调用推送接口返回成功,手机端未收到通知栏消息,该如何自检?

iOS APNs 推送通知发送成功,但移动端未收到通知

使用极光/友盟推送,APP进程杀死后为啥收不到推送

Ionic下的Jpush消息推送与内容显示

iOS 静默推送通知失败并显示消息

APNS Apple 推送通知服务未收到来自 Apple 的成功消息