【FAQ】推送服务常见问题及解答
目录
1、报错6003解决方案。
2、推送成功收不到消息。
3、Gettoken返回0,无法进入onToken函数,无法收到广播。
4、如何在华为开放平台查看消息属性,推送的时候带了importance字段,但是不能确定该字段是否生效。
5、离线角标不显示。
6、关于回执问题处理。
7、CP关于https://api.push.hicloud.com域名的使用问题。
8、在AGC平台创建受众群组进行推送,发送量为0。
9、安全扫描扫除漏洞问题。
Q1:报错6003解决方案。
1、请您检查下在客户端生成的指纹证书是否和AppGallery Connect网站上配置的“SHA256证书指纹”一致。
如果确认指纹证书没错:
2、请重新下载agconnect-services.json文件(确保是正确下载同一appid的文件,并存放在应用级app目录下),清除HMS Core缓存后重新尝试(应用-应用设置-搜索hms core,清理hms core缓存)。
3、如果还是不行,请复现问题,抓取push日志。
日志提取办法:
1)使用adb连上手机后,执行下面命令:
adb logcat -v threadtime 1> D:\xxxx.log
尝试复现您遇到的问题场景。
等待几十秒,按快捷键“Ctrl+C”完成日志抓取。
生成日志后注意看下日志记录的时间段需要包含复现问题的时间点。
Q2:推送成功收不到消息,推送返回
排查步骤:
1、网络不稳定,切换稳定网络进行测试。
2、检查手机EMUI版本、小于4.1也是不支持的。
3、检查终端token是否正确,在联盟后台进行推送,如果联盟后台也推送失败则是token已失效、或者手机配置有问题,进行token检查和手机权限设置。如果能推送成功则,调用接口时参数配置错误导致。
4、检查CP是否使用的是老版本的push,老版本sdk会出现消息延时很明显的情况,以及收不到推送,需要尽快切换到新版本。
5、搜集日志(详情见日志抓取办法),参考push日志解读进行排查。
Q3:推送收不到消息,如何排查?可能是什么原因造成?
1、您是否申请了自分类权益,华为目前有咨询营销类消息限制,没有使用自分类权益默认是资讯营销类消息,受到营销通知管控。
您可以通过申请自分类权益,来使用服务与通讯类消息。点击查看自分类权益申请、消息分类标准。
2、如果您目前只是需要进行测试,发测试消息的话在推送消息时可以设置target_user_type参数为1。每个应用每日可发送500条测试消息且不受每日单设备推送数量上限要求。可参考下行消息API。
或者您在网站推送时点击“效果测试”发送测试消息。
3、您也可以通过推送requestID和token在自助分析平台自助查询原因。
4、如果您这边还是无法定位问题,可以联系技术支持反馈问题。
Q4:如何在华为开放平台查看消息是属于运营消息还是通知系统消息?推送的时候带了importance字段,但是不能确定该字段是否生效?
华为的通知消息通过提醒方式来判断该条消息的类型。category字段只有在申请自分类权益后才能生效,用于标识消息类型,importance字段可以用于本地通知级别的设定。
具体介绍和申请自分类权益请参考链接。
Q5:离线角标不显示。
首先确认通过哪种方式使用角标。
第一种:华为提供的消息体加字段方式,这种方式不管应用在线或者离线,角标都会正常展示。
第二种:您在客户端代码设置角标,这种情况,应用离线的情况可能是没有对收到的离线消息进行处理所以角标没有加上。请参考华为桌面角标开发指导书。
如果使用了第一种,请确认离线消息的消息体是否有add_num和set_num字段;如果使用第二种,请确认收到离线消息之后是否调用代码加上角标。
Q6:关于回执问题处理。
1.应用设备不在线(损毁,断网,关机,不在服务器等情况)是没有回执的,一般这种情况占比较大。
2.用户关闭推送权限也是没有回执的。
3.因为回执只会发送一次,所以在网络异常或者服务器异常等情况导致的请求失败也是没有回执的。
Q7:CP关于https://api.push.hicloud.com域名的使用问题。
SDK 2.0 URL:https://api.push.hicloud.com/pushsend.do
SDK 3.0+ URL:https://push-api.cloud.huawei.com/v1/[appId]/messages:send
https://api.push.hicloud.com/pushsend.do
这个是2.0版本使用的接口,需要替换为最新的,替换的时候请及时更新SDK版本到最新版本6.12.0,参考最新的文档做好迁移工作,同时迁移完成之后请测试一下推送功能是否正常使用,有异常麻烦及时处理。可参考SDK版本更新说明。
Q8:在AGC平台创建受众群组进行推送,发送量为0。
创建受众群组首先需要接入分析服务,并且当天开通创建的受众群组24小时后才会生效。
Q9:安全扫描扫除漏洞:com.huawei.hms.support.api.push.service. HmsMsgService Service组件的最小化特权是指组件只能自身调用,其他应用无权访问,即组件不导出。Service执行的操作比较敏感,比如更新数据库、提供事件通知等,如果设置了导出权限,可能被系统或者第三方的App直接调出并使用。Service导出可能导致拒绝服务攻击,程序功能被第三方恶意调用等风险。
Service内部对调用方有校验,即使被攻击了,也不会处理。
该服务定义在pushsdk子进程中,供应用集成。业务场景为:Push在非华为手机上,需要由HMS通过bindSevice方式发送通知栏或者透传消息给App,由于HMS非系统应用,故该service无法定义具体应用级别的权限,同时在该服务内部有对调用方做权限校验,若校验非HMS拉起,则直接丢弃不处理。在华为手机上该服务无使用场景。
正常业务场景启动方式:bindService。该子进程本身只是做通知栏和透传消息解析使用,没有其他任何用处,同时也不是常驻进程。即使频繁ANR后该子进程会被强制关闭,对主进程也没有任何影响。即使不ANR,资源紧张时,该进程也会被android回收强制关闭。
了解更多详情>>
【FAQ】推送服务常见问题及解答的更多相关文章
- 【FAQ】推送服务常见问题及解决方案
一.推送成功收不到消息,推送返回:{"message":"success","requestID":"1523868*****28 ...
- 【FAQ】接入HMS Core推送服务过程中一些常见问题总结
HMS Core 推送服务(Push Kit)是华为提供的消息推送平台,建立了从云端到终端的消息推送通道.开发者通过集成推送服务,可以向客户端应用实时推送消息,构筑良好的用户关系,提升用户的感知度和活 ...
- 【FAQ】HMS Core推送服务与本地创建通知消息如何相互覆盖?
我们知道,单独使用HMS Core推送服务或本地创建通知消息,都可以实现通知消息的覆盖,方式分别为: 1.本地创建通知消息(简称本地通知消息) 通过notificationManager.notify ...
- 【FAQ】接入HMS Core推送服务,服务端下发消息常见错误码原因分析及解决方法
HMS Core推送服务支持开发者使用HTTPS协议接入Push服务端,可以从服务器发送下行消息给终端设备.这篇文章汇总了服务端下发消息最常见的6个错误码,并提供了原因分析和解决方法,有遇到类似问题的 ...
- 【FAQ】关于华为推送服务因营销消息频次管控导致服务通讯类消息下发失败的解决方案
一. 问题描述 使用华为推送服务下发IM消息时,下发消息请求成功且code码为80000000,但是手机总是收不到消息: 在华为推送自助分析(Beta)平台查看发现,消息发送触发了频控. 二. 问题原 ...
- 26.app后端怎么架设推送服务
推送服务已经是app的标配了.架设推送服务,除了可以使用第三方服务商外,也有大量的开源技术可以选择. 现在推送主要分两块,android推送和ios推送,在下面分别论述: 1. Android推 ...
- Erlang C1500K长连接推送服务-内存
上篇 Erlang C1500K长连接推送服务-性能 提到:150w连接,使用了23GB内存,每个连接占用15KB,约一半是内核使用. 大概分析一下: 1. Erlang 节点 12GB,内部因为有内 ...
- Mosquitto搭建Android推送服务(一)MQTT简介
总体概要: MQTT系列文章分为4部分 1.MQTT简介 2.mosquitto服务器搭建 3.编写Mosquitto的可视化工具 4.使用Mosquitto完成Android推送服务 文章钢要: 对 ...
- 基于netty-socketio的web推送服务
实时消息的推送,PC端的推送技术可以使用socket建立一个长连接来实现.传统的web服务都是客户端发出请求,服务端给出响应.但是现在直观的要求是允许特定时间内在没有客户端发起请求的情况下服务端主动推 ...
- Netty系列之Netty百万级推送服务设计要点
1. 背景 1.1. 话题来源 最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题.问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可以归纳为 ...
随机推荐
- 基于 Nebula Graph 构建百亿关系知识图谱实践
本文首发于 Nebula Graph Community 公众号 一.项目背景 微澜是一款用于查询技术.行业.企业.科研机构.学科及其关系的知识图谱应用,其中包含着百亿级的关系和数十亿级的实体,为了使 ...
- kafka 为什么能那么快?高效读写数据,原来是这样做到的
1. 利用 Partition 实现并行处理 我们都知道 Kafka 是一个 Pub-Sub 的消息系统,无论是发布还是订阅,都要指定 Topic. Topic 只是一个逻辑的概念.每个 Topic ...
- liunx 设置默认python版本方法,
Linux 中把Python3设为默认Python版本的几种方法 由于工作中要用到到python3.6 而服务器是2.7 ,这个低版本的2.7很多系统都要依赖,还不能删,同事建议建一个虚拟环境,但是 ...
- Nacos服务跨分组调用
一. 问题背景 nacos有两种服务隔离的机制,一个是空间namespace,一般我们用namespace区分环境,另外一个是分组group,nacos的默认调用机制是同namespace下的同gro ...
- 怎样给U盘加密
给U盘加密其实很简单,下载一个叫U盘超级加密3000的U盘加密软件就可以了. 这款U盘加密的软件最大的特点是不用安装,只要一个exe文件.你把它放到你需要加密的U盘里,就可以加密U盘里的数据了.并且到 ...
- Spring Boot学习日记1
今天了解了springboot是什么,起源和历史 Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson . Spring是为了解决企业级应用开发的 ...
- 直播预约 | 邀您共同探讨“云XR技术如何改变元宇宙的虚拟体验”
随着数字化时代的到来,元宇宙成为了人们关注的焦点.它是一个虚拟的世界,融合了现实与虚拟的元素,让人们可以以全新的方式进行交互.创作和体验. 云XR技术是元宇宙建设的重要支撑技术之一,元宇宙需要具备高度 ...
- C++ Qt开发:QTcpSocket网络通信组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QTc ...
- 记录一次报错,程序启动,MySql自动关闭
关于初级程序员,对于安装mysql,以及配置可能会报几次错 有时候虽然进行第二次安装成功,但是第一次的残留文件还在,可能引起报错 在这里记录一次我的报错 程序启动导致Mysql自动断开,需要手动打开 ...
- 你是怎么处理vue项目中的错误的?
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.错误类型 任何一个框架,对于错误的处理都是一种必备的能力 在Vue 中,则是定义了一套对应的错误处理规则给到使用者,且在源代码级别,对 ...