一. 问题描述

  1. 使用华为推送服务下发IM消息时,下发消息请求成功且code码为80000000,但是手机总是收不到消息;

  2. 在华为推送自助分析(Beta)平台查看发现,消息发送触发了频控。

二. 问题原因及背景

  1. 2023年1月05日起,华为推送服务对咨询营销类消息做了单个设备每日推送数量上限管理,具体数量上限可以查看如下文档:不同应用类别的推送数量上限要求

  2. 华为推送服务对消息分类做了优化,从2023年3月31日起推送消息将统一通过消息自分类进行分类。未接入自分类的应用默认可发送营销消息,受营销消息频次管控限制。

  3. 基于以上原因,若应用有发送服务与通讯消息的场景,需要申请自分类权限,以防因营销消息频次管控导致服务与通讯类消息下发失败

三. 申请消息自分类权限

1. 自分类权益申请要求:

a. 已上架应用市场的应用,在不违反华为通知违规行为的前提下推送消息,可按要求申请消息自分类权益

b. 未上架应用市场的应用,满足以下所有条件后须发送邮件(开通自分类申请资质)至hwpush@huawei.com,邮件审核通过之后再申请消息自分类权益

1) 仅服务于自身企业或政府组织单位内部。

2) 提供包含被服务主体盖章的证明函(证明函请参考下文),证明该App申请此权限仅为内部办公使用。

3) 其他类型的应用请先上架应用市场再申请自分类。

未上架应用申请开通自分类资质邮件模板示例:


邮件主题:未上架应用申请开通自分类资质-应用名称 邮件正文: 公司全称:XXX 应用名称:XXX AppId:XXXX 应用包名:XXX 应用是否已上架:是/否 承诺函请参考附件:[承诺函-应用名称]()

2. 自分类权益申请流程:

a. 具体可以查看文档

b. 待申请通过之后,一定要点击界面上方的“激活功能”进行激活。若超过两个月未激活,需要重新申请。

四. 应用适配开发

自分类权限申请通过之后,下发服务与通讯类消息时消息体中一定要携带category字段,否则自分类权益是不会生效的,如下发IM类消息。

a. 创建消息体并携带category字段,进行消息下发请求。

b. 端侧收到下发的消息,在通知管理页面查看通知类别为服务提醒,且消息无限频,可知自分类权益已生效。

c. 如果消息体未携带category字段标识,那么自分类权益是不会生效的,如创建消息体但是未携带category字段,进行消息下发请求。

d. 端侧收到下发的消息,在通知管理页面查看通知类别为内容咨询,可知若消息体中未携带category字段标识,自分类权益是不会生效的。

五. 问题解答

  1. 请求消息下发接口成功且接口返回80000000码,消息一定会下发到设备吗?

答:不是的,消息下发接口返回80000000码的意思是消息下发的请求是成功的,但是并不代表消息成功到达了设备,消息是否成功到达设备可以通过消息回执的回执码进行判断。

  1. 未申请自分类权益,如何保证发送的测试消息不被频控?

答:为了方便开发者测试消息,在推送消息时可以设置target_user_type参数为1。每个应用每日可发送500条测试消息且不受每日单设备推送数量上限要求

  1. 如何获悉当日推送数量已经超过限制的Push Token?

答:您可以开通消息回执并基于接收到的回执状态码256来获取推送数量超过限制的Push Token。建议您在推送资讯营销类消息前,根据此回执信息过滤掉当日已经超过限制的Push Token,避免无效的消息推送请求。

  1. 因服务与通讯类消息下达到设备时提醒方式为非静默提醒,如何保证服务与通讯类消息以静默提醒的方式下发到设备?

答:若您希望服务与通讯类消息按照静默(无铃声振动)方式发送,可以在满足自分类适配要求的基础上,添加importance字段且传值为“LOW”。

  1. 带有category字段的消息体示例是什么?
{
"validate_only": false,
"message": {
"android": {
"notification": {
"title": "小明",
"body": "今天的周报已发,有时间请看一下",
"click_action": {
"type": 3
}
},
"category":"IM"
},
"token": ["IQAAAACy0****************_7FL_0P******************g5K-ODO1_*********************_zb7v9OAK**************lmgQ"]
}
}

六. 参考资料

  1. 推送数量管理细则

  2. 消息分类标准

  3. 下行消息接口

  4. 消息回执

  5. 自助分析(Beta)

  6. 自分类权益申请

了解更多详情>>

访问华为开发者联盟官网

获取开发指导文档

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

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

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

  1. HWPushDemo【华为推送集成,基于2.6.1.301版本】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这个Demo只是记录华为推送的集成,不能运行. 另外,因为可能用到存储权限,所以还需要搭配运行时权限申请功能. 使用步骤 一.项目组 ...

  2. 华为推送 简介 集成 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  3. Android 华为推送库下载不了

    问题:华为库下载不了,导致gradle同步失败 解决: 去掉华为推送在线下载相关代码,将在线下载修改为离线加载aar库 1.通过Maven 仓库离线包下载地址下载关于推送的包: http://deve ...

  4. 我写的websocket推送例子,每隔5秒服务器向客户端浏览器发送消息(node.js和浏览器)

    node.js服务端 先要安装ws模块的支持 npm install ws 服务端(server.js) var gws; var WebSocketServer = require('ws').Se ...

  5. SignalR实现消息推送,包括私聊、群聊、在线所有人接收消息(源码)

    一.关于SignalR 1.简介:Signal 是微软支持的一个运行在 Dot NET 平台上的 html websocket 框架.它出现的主要目的是实现服务器主动推送(Push)消息到客户端页面, ...

  6. 解决RTMP推送时间戳问题引起HLS切片不均匀导致手机浏览器播放卡顿的问题

    本文转自EasyDarwin开源团队成员Kim的博客:http://blog.csdn.net/jinlong0603/article/details/74161115 引言 最近在测试EasyNVR ...

  7. 记一次邮件推送的坑,c#基于smtp使用腾讯企业邮箱发送邮件总是失败的原因

    今天在弄企业邮箱推送的东西,原版代码是这样的 public void SendEmail(string title, string content) { try { MailMessage mailM ...

  8. 移动 UX 设计:如何设计推送通知

    这个问题你一定想过,在移动用户体验设计领域中,如何设计好一条简单的推送通知. 你注意过么,每天从不同的 App 上收到的大量的推送通知与提醒,这些通知里有多少你真的有兴趣? 每天,用户对各种没用的通知 ...

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

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

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

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

随机推荐

  1. 区分 PaaS、IaaS 、SaaS

  2. C++常见报错信息和原因的对应关系

    1. 无法找到 xxx.dll 没有把动态链接库和exe放在一个文件夹下 2. 不允许使用不完整的类型 指的是忘了加头文件 3. link err .无法解析的外部符号 指的是 lib 库没有配置对 ...

  3. 简单的继承练习——疑问:私有属性在类的方法内调用时,有必要使用get,set方法嘛?

    要求: 创建一个Circle类,设置半径属性和返回面积的方法,在无参构造器中初始化半径值为1. 创建一个Cylinder类,继承Circle类,设置属性高和返回体积的方法,在无参构造器中初始化长度为1 ...

  4. WinForm中的MVC模式--MVP模式

    本文主要介绍MVC模式在WINFORM中的实现,其实砖家们都称它为MVP模式,小弟E文不太好,真的是记不住那个P怎么拼写的.. MVC模式主要解决的问题就是将表示层和业务层进行分离,在以往做WINFO ...

  5. 第一章 excel与数据格式

    part1 数据缘何而来 excel中常见的文件格式有xls与xlsx,推荐后者(空间小.容量大.速度快等特点) 单个excel文件为工作簿,其下包含工作表sheet(最多255),sheet中的每个 ...

  6. Executors.newScheduledThreadPool()定时任务线程池

    定时任务线程池是由 Timer 进化而来 jdk中的计划任务 Timer 工具类提供了以计时器或计划任务的功能来实现按指定时间或时间间隔执行任务,但由于 Timer 工具类并不是以池 pool ,而是 ...

  7. 服务器链接工具MobaXterm

    链接:https://pan.baidu.com/s/15zC4JC0XOKYI1lN5bkB3fw 提取码:9zc8 每次使用都需要输入密码.修改密码: 链接:https://pan.baidu.c ...

  8. Java数据脱敏(手机号|邮箱号|身份证号|银行卡号)

    参考博客:https://blog.csdn.net/ywb201314/article/details/107762279

  9. javaEE Web(Tomcat)深度理解 和 Servlet的本质

    javaEE Web(Tomcat)深度理解 和 Servlet的本质 每博一文案 我所有的进步,只为更接近你. 上天没有给予人们公平的人生,有人拥有出奇的才能,便有人只能不辞辛苦的攀登阶梯,我默默地 ...

  10. Android 音视频 - MediaCodec 编解码音视频

    我们知道 Camera 采集回传的是 YUV 数据,AudioRecord 是 PCM,我们要对这些数据进行编码(压缩编码),这里我们来说在 Android 上音视频编解码逃不过的坑-MediaCod ...