目录

版本管理:2019年11月26日首次发布

阅读指引:本文档按照“开通服务-接入服务-推送显示-其他”的思路进行整理,请按照您遇到问题的环节进行查找,或直接搜索本文档(Ctrl+F)。

Top问题:

Push服务有什么使用限制?

服务端发送推送消息后,为什么客户端无法接收到?

Push报表统计数据怎么查看?

1. 服务开通问题

[问题1]开通Push服务权益需要什么条件?
开通Push服务需要上传apk 到应用市场并保存为草稿状态,仅开通推送服务,不需要上架应用市场。

[问题2]Push服务开通有什么限制?
开发者在AppGallery Connect上创建应用后即可开通,无特殊限制。

[问题3]Push服务收费吗?

当前我们对外提供的Push服务不收费。


[问题4]如何开通Push服务?

感谢您对华为推送服务的关注与支持。

具体操作步骤请参见打开服务开关。

具体操作步骤请配置推送服务参数。


[问题5]如何查看应用是否已经开通Push服务?

1. 登录AppGallery Connect,选择需要查看的应用,点击API管理,查看Push开关是否处于打开状态,若为打开状态,则表明当前服务已经成功开通。

2. 检测推送服务参数是否处于开通状态,若服务状态显示为“已开通”,则表明该应用已开通Push服务。


[问题6]开通Push服务异常原因排查

1. 确认Push服务开通状态

请先检查是否已经成功开通Push服务,已经开通Push权益后重复开通会报错。

2. 包名重复

检查您的应用是否已经在应用市场中上传过,如已上传,请在“选择产品”中点击下拉框选择,不要点击“创建产品”。

检查应用是否已经在其他帐号中上传,如已上传,请到其他帐号中将应用删除或申请应用转移,应用转移相关文档和材料请参考文档“应用转移操作指南”。

3. 排除上述原因若还不能解决,请提供最新包名、APPID、企业名称和账号,提交在线提单,我们将在1-2个工作日处理。


[问题7]应用转移和应用认领对Push权益是否有影响?

应用认领会导致Push服务的失效和APPID的变化,需要重新申请Push服务并且更新之前应用的APPID。

应用转移对Push没有影响。


[问题8]设备接收华为推送消息的条件?

1. 设备:华为手机支持,非华为手机需安装HMS Core(APK)(APK可前往华为应用市场搜索下载);

2. 网络:手机处于联网且网络状态稳定;

3. EMUI版本:部分EMUI4.0、EMUI4.1,以及EMUI5.0及之后的华为手机,建议EMUI5.0以上;

受Android API的限制,海外低版本的华为手机和非华为手机推送只能在Android API level 21(Android 5.0)以上使用;


[问题9]Push开发者一次性最多可以push多少个用户?
服务端限制1000个,如果多于这个数字,应用的服务器需要自己做循环。

[问题10]Push服务在推送次数和频率方面有什么限制?如何防止开发者对用户造成骚扰,管理手段是什么?
每天向某个设备的某个App发送不超过3000条,超过3000条进行限流,超过10W条直接封号。
[问题11]Push服务有什么使用限制?

发送条数限制:每天向某个设备上某个App最多可发送3000条,超过后会被限流24小时,一天内发送超过10万条会直接封禁推送权益,需要整改并申报整改方案重新申请push权益。

发送速率限制:华为推送对推送速度的分配,主要依据App在华为终端上的月活、App在华为应用市场上架时的应用类型这两个要素进行计算分配。

应用QPS=App在华为终端上MAU(Monthly Active User)× 应用类别权重 × 整体分配系数(0.00072);

QPS:(Quantity per second) 表示1秒可以发送的推送条数;

应用在华为终端上MAU查询路径:华为开发者联盟->管理中心->应用市场->分析->选择应用->运营分析->推送服务->推送报告->推送用户详情->30日活跃用户数

应用类别:指的是应用在应用市场上架时选择的应用二级分类,查询路径:华为开发者联盟->应用市场->我的应用->选择应用->应用信息->应用分类->应用二级分类

应用类别权重列表:

分组名称

应用分类

权重系数

IM类

社交通讯

5

金融类

金融理财

5

新闻类

新闻阅读;资讯生活

4

内容类

图书阅读;影音娱乐;拍摄美化

3

电商类

购物比价

3

衣食住行类

便捷生活;出行导航;美食;旅游住宿

3

商务类

商务

3

游戏类

网络游戏;休闲益智;经营策略;棋牌

2

工具类

实用工具

1

运动健康类

医疗健康;运动健康

1

其他类

儿童;教育;主题个性;汽车

1

Default

Default(未上架)

1

如您的应用通过QPS公式计算所得的值不足6000,将执行默认6000的QPS;同时,全网流量较高时,也会出现系统级流控(流控对应的状态码为HTTP 503)。

注意:QPS计算规则只适用于中国大陆。


2. 接入问题

[问题1]透传消息和通知栏消息有什么区别?

透传消息:华为Push将消息送达手机后不做呈现,直接转给开发者的应用,由应用本身去解析消息和呈现内容。

通知消息:手机收到推送消息后由系统直接在通知中心下拉列表呈现的即时消息,终端用户点击对应的通知栏消息触发相应的动作,如打开应用、打开一个网页、打开应用内某界面。


[问题2]如何给海外的用户推送消息?
华为Push支持直接跨区域发送消息,但是跨区域消息下发性能会受到影响。建议开发者在用户聚集地部署服务器,减少跨区域消息发送。

[问题3]服务端发送推送消息后,为什么客户端无法接收到?

可能原因:

  1. 发送消息类型。若消息类型为透传消息,在应用进程被杀死时消息可能无法送达;

  2. 终端与网络状况。确保终端处于稳定网络下,且设置了允许通知;

  3. EMUI版本。检查手机EMUI版本,EMUI版本低于4.1或者HMS Core(APK)版本较低均不支持展示推送消息;

    检查手机是否为EMUI8.0系统,如果是早期的EMUI8.0,编译构建App时targetSdkVersion需保证低于26,或者进行系统升级(设置—系统—软件更新,不同手机型号导航可能略有差异);

  4. 排除限流情况。每天可向单个设备最多发送3000条,超过后会被限流24小时,超过10万条会直接封禁推送权益;

  5. 缓存问题。HMS Core(APK)的缓存问题,清理应用和HMS Core(APK)数据及缓存,重启手机测试。

  6. 检查终端token是否正确。尝试在AppGallery Connect进行推送,如果AppGallery Connect后台也推送失败则是token已失效、或者手机配置有问题,需进行token检查和手机权限设置。如果能推送成功,则为调用接口时参数配置错误导致。

  7. 检查服务端封装的消息体格式。建议参考服务端API进行消息体字段排查。

若以上原因排除后仍无法定位问题,请搜集日志,将日志文件及问题描述反馈到:在线提单


[问题4]终端设备上如何抓取日志?

1. Adb连上手机后,分别执行下面命令

adb shell setprop log.tag.hwpush VERBOSE

adb logcat -v threadtime 1> D:\hwpush.log

2. 复现问题场景

3. 按Ctrl+c完成

同时请您尽可能记录出现问题的设备型号、EMUI版本号、HMS Core(APK)版本号、集成的SDK版本号以及复现问题的步骤,以便技术人员可以更快的为您进行技术定位。


[问题5]Push服务当前主要的tag标签有哪些?
在Push3.0版本中,主要支持的标签包括用户机型、首次打开时间、地域、系统语言、应用版本号等;开发者可以根据tag标签,自定义用户群。

[问题6]如何发送Push消息?
参考Push控制台发送消息

[问题7]低于EMUI 10.0版本onNewToken方法回调不到?
低于EMUI 10.0的华为设备上,getToken方法如果返回为空,确保Push服务开通的情况下,结果后续以onNewToken方法返回。如果本方法回调不到,请排查是否已经开通Push服务。

[问题8]端侧v2 v3版本和服务端v2 v3版本相互间的兼容?
端侧v2 v3版本是指Push SDK的版本与HMS Core的版本,目前最新的版本是v4版本。服务端v2 v3版本是指服务端提供的RESTful API版本,目前版本是v3版本,前向兼容v2版本。服务端v3版本提供了一些最新功能,需要端侧版本配套来完成,如果不升级端侧的版本新功能将无法使用,因此建议开发者尽快切换最新的版本。

3. 客户端错误码详解

[问题1] 907135000

现象描述

传入的参数错误。

原因分析

  1. 检查agconnect-services.json文件中的app_id、package_name参数是否正确。

  2. 检查build.gradle文件中证书签名是否配置。

  3. 有可能是HMS Core(APK)缓存导致的,卸载并重新更新HMS Core(APK),然后断开网络再连接,再打开App。

  4. 建议用华为终端先测试,华为推送会依赖HMS Core(APK),在华为手机上都会预装这个应用,非华为手机上没有预装。

[问题2] 907135700

现象描述

调用网关查询应用scope失败。

原因分析

[问题3] 6003

现象描述

指纹证书配置不一致。

原因分析

4. 服务端错误码详解

[问题1] 80100016
该错误码是触发敏感词,比如政府之类的词语,国家领导人名字,台独相关。

[问题2] 80300002

现象描述

下发消息给指定的用户(token)报无权限。

原因分析


[问题3] 80300007

现象描述

指定的token无效。

原因分析


5. 推送呈现相关问题

[问题1]推送服务是否强依赖华为帐号登录?
推送不依赖华为帐号,用户不登录华为帐号也能够接收推送消息。

[问题2]EMUI 10如何判断消息的重要级别?
详见通知消息智能分类章节。

6. 其他

[问题1]Push报表统计数据怎么查看?

a. 统计报表查看路径:华为开发者联盟 - 应用市场 - 分析 – 选择相应的应用 – 运营分析

b. 历史报表查看:

由于业务升级,历史报表数据无法在AppGallery Connect上进行查看,若您需要查看历史发送数据,请按照下面的操作路径指导进行查看:

登录华为开发者联盟管理台,点击链接:https://developer.huawei.com/consumer/cn/console#/myReport/push

c. 统计报表规则:当前报表不是实时更新,统计数据会有1天的延迟;

d. 报表数据条目解释:


    发送量:指的是该营销任务圈中的设备数。

    应用被卸载:用户已经卸载该应用,未重装。

    无效Token:消息发送到终端之后由于token无效不会展示(如应用卸载后重装未激活)。

    用户拒绝接受:用户关闭了应用的消息通知权限。

    沉默设备丢弃:设备超过30天没有联网,会定义为沉默设备,沉默设备无法接收推送消息。

    频控丢弃量:针对单用户消息发送超过3000条/天,超过部分会被丢弃。

    缓存量: 消息目标设备离线,消息仍在有效期内。

    过期量:消息目标设备离线,设备在消息有效期内一直没上线。

    送达量:消息成功送达设备的数量。

    点击量:用户点击推送消息的数量。

    送达率:送达量/发送量。

    点击率:点击量/送达量。


[问题2]特殊权限如何申请?

当前对开发者开放的特殊权限申请范围如下:

权限名称

功能描述

申请条件

消息常驻[Beta]

用户在通知中心点击通知消息后,消息仍旧保留在通知中心,只有当用户在通知中心主动清理时,消息才会被清除。

企业内部App,如企业内部沟通软件、管理系统等,且企业App用户规模≥500人。

高优先级透传消息[Beta]

透传消息到达用户设备后,直接唤醒应用。

企业内部具备VoIP电话功能场景的沟通类、告警类App,且VoIP为App的主要功能。

语音播报[Beta]

消息到达后,唤醒应用执行语音播报动作。

有语音播报功能使用场景的应用。

高级别通知栏消息[Beta]

通知栏消息会额外以横幅样式展示。

注意:该权限评审流程预计耗时4个月。权限开通后,用户下载应用,则默认打开横幅通知,但已经安装应用的用户仍需在通知设置中自行打开横幅通知。

企业内部App,如企业内部沟通软件、管理系统等,且企业App用户规模≥500人。

说明:
企业内部App申请特殊权限需要在邮件正文中附带App下载二维码,并提供App登录测试账号。

申请指导:

请提供如下信息到hwpush@huawei.com进行申请,我们会在15个工作日内回复申请结果,请您留意邮箱消息。

邮件主题:【特殊权益申请】- (应用名称)

邮件正文:申请权限名称、应用名称、应用包名、AppID、使用场景、消息展示截图(展示需要特殊权限的通知消息截图,如VoIP电话界面等)

示例申请模板:

邮件主题:【特殊权益申请】 - Welink

邮件正文:

申请权限名称:消息常驻

应用名称:Welink

应用包名:welink.huawei.com

AppID:1282412

使用场景:Welink是企业内部沟通软件,会发送会议等消息提醒,希望借助消息常驻功能,实现会议、日历等通知点击后常驻,以满足用户反复查看的需求。

消息展示截图:附带对应的截图,要求如下:


7. 如何获取技术支持?

  1. 请先在本页面进行问题搜索,初步排查问题

  2. 若问题无法解决,请通过在线提单向我们提供日志

  3. 咨询QQ群:479885189