【FAQ】推送服务常见问题及解决方案

faq,推送,服务,常见问题,解决方案 · 浏览次数 : 215

小编点评

**一、推送成功收不到消息,推送返回:** 1. **网络不稳定:**确保手机连接稳定网络进行测试。 2. **EMUI版本太低:**确保手机运行华为移动服务版本4.1或更高版本。 3. **token失效:**检查联盟推送状态是否为“已开通”。 4. **日志错误:**检查日志中是否存在“get token:end 0 和com.huawei.android.pushagent.PushServiceE/PushLog2551: [ReceiverDispatcher-230]responseRegisterTokenFAILED:1(android/PushCommandProcessor.java:557)”的错误。 5. **缓存问题:**尝试清除华为移动服务和应用的缓存和数据,重启手机。 **二、Gettoken返回0,无法进入onToken函数,无法收到广播。** 1. **自定义Receiver继承华为PushReceiver:**确保Receiver继承自华为PushReceiver。 2. **AndroidManifest配置错误:**检查AndroidManifest配置是否完整,并确保PushService的权限设置正确。 3. **并发保存日志:**确保日志保存过程并发,避免冲突。 4. **清理华为移动服务和应用缓存:**重启手机,清除华为移动服务和应用的缓存和数据。 **三、如何在华为开放平台查看消息是属于运营消息还是通知系统消息?** 华为推送消息可分为运营消息和通知系统消息。运营消息由联盟推送,只有华为手机会员才能接收。通知系统消息由应用推送,所有华为手机都可接收。 **四、关于回执问题处理。** 1. **应用不在线:**当应用不在线时,无法处理回执请求。 2. **用户关闭推送权限:**当用户关闭推送权限,无法接收回执消息。 3. **回执只发送一次:**在网络异常或服务器异常等情况下,回执只会发送一次。

正文

一、推送成功收不到消息,推送返回:

排查步骤:

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】推送服务常见问题及解决方案相似的内容:

【FAQ】推送服务常见问题及解决方案

一、推送成功收不到消息,推送返回:{"message":"success","requestID":"1523868*****2842718","resultcode":0} 排查步骤: 1、网络不稳定,切换稳定网络进行测试; 2、检查手机是否为EMUI8.0.0系统,如果是早期的EMUI8.0,则

【FAQ】关于华为推送服务因营销消息频次管控导致服务通讯类消息下发失败的解决方案

一. 问题描述 使用华为推送服务下发IM消息时,下发消息请求成功且code码为80000000,但是手机总是收不到消息; 在华为推送自助分析(Beta)平台查看发现,消息发送触发了频控。 二. 问题原因及背景 2023年1月05日起,华为推送服务对咨询营销类消息做了单个设备每日推送数量上限管理,具体

【FAQ】HMS Core推送服务推送角标的开发及常见问题解答

### 目录 1、发送消息并显示桌面数字角标。 2、如何清除数字角标? 3、如何设置圆点角标? 4、应用桌面图标角标开关无法开启或未显示开关。 5、推送消息设置了角标字段但未显示角标? 6、未设置角标参数,但收到消息后显示了角标。 ### 解决方案 #### Q1:发送消息并显示桌面数字角标。 实现

【FAQ】关于华为地图服务定位存在偏差的原因及解决办法

一、 问题描述: 华为地图服务“我的位置”能力,在中国大陆地区,向用户展示他们在地图上的当前位置与用户的实际位置存在较大的偏差。 具体差别可以查看下方的图片: 二、 偏差较大的原因: 华为Map SDK在中国大陆使用的地理坐标系是GCJ02。 点击“我的位置”控件,获取的定位经纬度的地理坐标系是WG

【FAQ】在华为鸿蒙车机上集成华为帐号的常见问题总结

随着新一代信息技术与汽车产业的深度融合,智能网联汽车正逐渐成为汽车产业发展的战略制高点,无论是传统车企还是新势力都瞄准了“智能座舱”这种新一代人机交互方式。面对竞争如此激烈的车机市场,华为鸿蒙车机系统的出现,给消费者带来了不同凡响的便捷使用感受,这得益于华为在硬件、软件和场景优化上的技术优势,用户只

【FAQ】申请Health Kit权限的常见问题及解答

华为运动健康服务(HUAWEI Health Kit)提供原子化数据开放,用户数据被授权获取后,应用可通过接口访问运动健康数据,对相关数据进行增、删、改、查等操作。这篇文章汇总了申请开通Health Kit测试权限的常见问题,并给出了详细解答,希望为开发者提供相关参考。 (1) 申请Health K

【FAQ】申请运动健康服务验证环节常见问题及解答

华为 HMS Core 运动健康服务(HUAWEI Health Kit)提供原子化数据开放。应用在获取用户数据授权后,可通过接口访问运动健康数据,对用户数据进行读写等操作,为用户提供运动健康类数据服务。 开发者应用在开发和测试阶段访问用户运动或健康数据时,会有100个用户的数量限制,需要通过“申请

【FAQ】集成分析服务的常见问题及解决方案

常见问题一:如何验证Analytics是否上报/接入成功?以及关键日志含义是什么? 在初始化Analytics SDK前添加SDK日志开关如下: HiAnalyticsTools.enableLog (); 2.初始化SDK代码如下: HiAnalyticsInstance instance = H

【FAQ】获取Push Token失败,如何进行排查?

一、 获取Push Token的方式 获取Push Token有两种方式:一种是调用getToken方法向Push服务端请求Token,当getToken方法返回为空时,Token可通过onNewToken方法返回,因此需要实现onNewToken方法;另一种是自动初始化,Token通过onNewT

【FAQ】统一扫码服务常见问题及解答

1.隐私政策是怎么样的?收集哪些信息? 关于Scan Kit的隐私政策及收集的信息,请查看SDK隐私安全说明。 Android:SDK隐私安全说明 iOS:SDK隐私安全说明 2.如何使用多码识别?多码模式下如何实现指定条码?多码模式的坐标支持返回坐标么?多码模式下实现自动放大? 1)统一扫码服务支