一、推送成功收不到消息,推送返回:{"message":"success","requestID":"1523868*****2842718","resultcode":0}

排查步骤:

1、网络不稳定,切换稳定网络进行测试;

2、检查手机是否为EMUI8.0.0系统,如果是早期的EMUI8.0,则要升级尝试(在手机会员服务——服务——升级尝鲜),或者用targetversion 26以下的进行编译来规避这个问题。EMUI版本太低、小于4.1也是不支持的;

3、检查终端token是否正确,在联盟后台进行推送,如果联盟后台推送失败则是token已失效,或者手机配置有问题;进行token检查和手机权限设置,如果推送成功,那么之前失败则是调用接口时参数配置错误导致;

4、如果是收取通知消息失败,检查通知的playload中的msg、appPkgName等配置是否正确;

5、检查华为移动服务的缓存问题,尝试清除数据及缓存,并停止华为移动服务;

6、检查CP是否使用老版本Push,老版本SDK会出现消息延时较明显以及收不到推送的情况,需尽快切换到新版本;

7、搜集日志(详情见日志抓取办法),参考Push日志解读进行排查。

二、Gettoken返回0,无法进入onToken函数,无法收到广播。

1、自定义的Receiver是否继承华为PushReceiver;

2、AndroidMainfest配置是否完善,请对照现网配置进行检查;

3、保存日志,并发过来;

4、清理华为移动服务和应用的缓存、数据,重启手机。再进入应用试一下;

5、如果日志中出现 get token:end 0 和com.huawei.android.pushagent.PushServiceE/PushLog2551: [ReceiverDispatcher-230]responseRegisterTokenFAILED:1(android/PushCommandProcessor.java:557) 表示此处华为移动服务状态是正常的,但是请求服务器出现异常。检查联盟推送状态是否为“已开通”,状态为开通中则是错误的。

如果问题还未得到解决可以重复步骤4,准备日志输出,运行测试应用,打印日志。

三、如何在华为开放平台查看消息是属于运营消息还是通知系统消息?我们推送的时候带了importance字段,但是不能确定该字段是否生效。

华为的通知消息通过提醒方式来显示该条消息的类型。importance字段只有在申请自分类权益后才能生效。

申请自分类权益参考:自动权益申请

四、离线角标不显示。

1、首先需确认是通过哪种方式使用角标。

第一种:华为提供的消息体加字段方式,这种方式不管应用在线或者离线,角标都会正常展示。

参考资料:桌面角标

第二种:您在客户端代码设置角标,这种情况,应用离线的情况可能是没有对收到的离线消息进行处理所以角标没有加上。

参考资料:华为桌面角标开发指导书

2、在确认使用的角标方式后进行排查。

如果使用了第一种,确认离线消息的消息体是否有add_num和set_num字段;如果是第二种,需确认收到离线消息之后是否调用代码加上角标。

五、关于回执问题处理。

1、应用设备不在线:损毁,断网,关机,不在服务器等(大多情况);

2、用户关闭推送权限;

3、回执只会发送一次,在网络异常或者服务器异常等情况时会导致请求失败。

六、CP关于https://api.push.hicloud.com域名的使用问题。

SDK 2.0 URL:https://api.push.hicloud.com/pushsend.do ?ha_source=hms1

SDK 3.0+ URL:https://push-api.cloud.huawei.com/v1/[appId]/messages:send?ha_source=hms1

SDK 2.0 URL是2.0版本使用的接口,可以替换为最新版,替换的同时更新SDK版本到6.7.0,参考最新的文档做好迁移工作,迁移完成之后可以测试一下推送功能是否正常使用,有异常及时处理。

可参考SDK版本更新说明:版本更新说明

了解更多详情>>

访问华为开发者联盟官网

获取开发指导文档

华为移动服务开源仓库地址:GitHubGitee

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

【FAQ】推送服务常见问题及解决方案的更多相关文章

  1. 【FAQ】接入HMS Core推送服务过程中一些常见问题总结

    HMS Core 推送服务(Push Kit)是华为提供的消息推送平台,建立了从云端到终端的消息推送通道.开发者通过集成推送服务,可以向客户端应用实时推送消息,构筑良好的用户关系,提升用户的感知度和活 ...

  2. 【FAQ】HMS Core推送服务与本地创建通知消息如何相互覆盖?

    我们知道,单独使用HMS Core推送服务或本地创建通知消息,都可以实现通知消息的覆盖,方式分别为: 1.本地创建通知消息(简称本地通知消息) 通过notificationManager.notify ...

  3. 【FAQ】接入HMS Core推送服务,服务端下发消息常见错误码原因分析及解决方法

    HMS Core推送服务支持开发者使用HTTPS协议接入Push服务端,可以从服务器发送下行消息给终端设备.这篇文章汇总了服务端下发消息最常见的6个错误码,并提供了原因分析和解决方法,有遇到类似问题的 ...

  4. Netty系列之Netty百万级推送服务设计要点

    1. 背景 1.1. 话题来源 最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题.问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可以归纳为 ...

  5. 百度云推送-服务端 C# SDK

    思路: 1.公司有项目需要做android和ios手机端推送消息的功能: 2.没有接触过这方面的知识,一头雾水,开始在网上一顿搜,网上倒是有不少解决方案,首先搜的是android的解决方案,因为ios ...

  6. Netty_Netty系列之Netty百万级推送服务设计要点

    1. 背景 1.1. 话题来源 最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题.问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可以归纳为 ...

  7. 【netty】Netty系列之Netty百万级推送服务设计要点

    1. 背景 1.1. 话题来源 最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题.问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可以归纳为 ...

  8. SignalR Self Host+MVC等多端消息推送服务(1)

    一.概述 由于项目需要,最近公司项目里有个模块功能,需要使用到即时获得审批通知:原本的设计方案是使用ajax对服务器进行定时轮询查询,刚刚开始数据量和使用量不大的时候还好,后来使用量的增加和系统中各种 ...

  9. 互联网推送服务原理:长连接+心跳机制(MQTT协议)

    互联网推送消息的方式很常见,特别是移动互联网上,手机每天都能收到好多推送消息,经过研究发现,这些推送服务的原理都是维护一个长连接(要不不可能达到实时效果),但普通的socket连接对服务器的消耗太大了 ...

  10. Netty系列之Netty百万级推送服务设计要点(转)

    1. 背景 1.1. 话题来源 最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题.问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可以归纳为 ...

随机推荐

  1. 2.RabbitMQ系列之生产者

    1. 新建队列 2. 新增POM.xml配置文件 <parent> <groupId>org.springframework.boot</groupId> < ...

  2. Linux基础_1_简介

    Linux是什么 一款优秀的操作系统软件,特性是一切皆文件:一切设备皆文件!一切设备的设置皆修改配置文件!一切服务的搭建皆修改配置文件!(庞大的树形结构文件系统) 根据FHS标准,Linux目录有以下 ...

  3. Response对象页面重定向、时间的动态显示

    Response对象 response对象主要用于对客户端的请求进行回应,将web服务器处理后的结果发回给客户端,封装了jsp产生的响应,并发送到客户端响应客户端的请求,请求的数据可以是各种数据类型, ...

  4. 3.httprunner-extract/.env/Testcase

    参数关联-extract 场景:上一个接口的返回值,传给下一个接口当请求参数 extract:提取变量 $变量名 :引用变量 假设我们有如下场景 用户A登录之后,返回值返回用户UID,我们需要查询该用 ...

  5. 斑马打印机二维码标签制作(.prn文件)基础简单快速上手

    在工厂生产中,经常需要一线员工在电脑上输入订单号的情况.订单号往往很长,手输容易出错,并且浪费时间,所以常常使用扫码枪扫描二维码的方式输入订单号,本篇就是记录斑马打印机.prn标签模板的制作和使用. ...

  6. ES6学习笔记(十四)module的简单使用

    1.前言 module模块机制是es6新引入的,它解决了作用域的问题,使代码更加规范和结构化. 下面简单的使用一下. 2.基本使用 2.1 模块和脚本的区别 模块代码运行在严格模式下,并且没有任何办法 ...

  7. ES6 学习笔记(六)基本类型String

    字符串String 1.字面量 需要注意的地方: 由单引号或双引号括起来的字符序列. 单双引号可以嵌套,由最外围引号定界字符串 字符串字面量可以拆分成数行,每行必须以反斜线(\)结束,且反斜线都不计入 ...

  8. 云实例初始化工具cloud-init源码分析

    源码分析 代码结构 cloud-init的代码结构如下: cloud-init ├── bash_completion # bash自动补全文件 │   └── cloud-init ├── Chan ...

  9. 如何在JavaScript中使用for循环

    前言 循环允许我们通过循环数组或对象中的项并做一些事情,比如说打印它们,修改它们,或执行其他类型的任务或动作.JavaScript有各种各样的循环,for循环允许我们对一个集合(如数组)进行迭代. 在 ...

  10. 【云原生 · Kubernetes】部署 kube-proxy 组件

    个人名片: 因为云计算成为了监控工程师‍ 个人博客:念舒_C.ying CSDN主页️:念舒_C.ying kube-proxy 运行在所有 worker 节点上,它监听 apiserver 中 se ...