搜索
分发文档
应用分发
游戏分发
电视应用分发
快应用分发
小游戏分发
服务分发
内容分发
分发文档/应用分发/应用服务/推送服务/推送消息限制说明
推送消息限制说明更新时间: 2024-11-04 18:22:00

为了改善小米终端用户的通知体验,营造良好可持续的推送生态,小米推送对推送消息数量、推送速率QPS进行了统一管理。

一、每日推送数量限制

根据《小米推送消息分类新规》,小米推送将消息分为“私信消息”和“公信消息”两个类别,若应用选择不接入私信或公信则会接入默认通道。

消息类型推送内容推送数量限制用户接收数量限制申请方式
默认仅可按照“公信场景说明”配置。1倍单个应用单个设备单日1条无需申请
公信消息新闻资讯、内容资讯、生活资讯、关注推荐、算法推荐、平台活动、互动信息等其他多类场景,具体请参见“公信场景说明2-3倍,具体规则请参见“公信限制规则”。单个应用单个设备单日5-8条,具体规则请参见“公信限制规则”。需在推送运营平台申请,具体参见“小米推送消息分类新规”。
私信消息需符合即时消息、个人账户、个人资产、个人订阅、个人日程、设备信息、订单及物流、工作信息这8类场景,具体请参见“私信场景说明”。不限量不限量

2023年2月1日起将按照本新规中的消息分类正式运行。

1、限制规则

私信消息的单日推送数量不受限,公信消息的单日推送数量将进行上限管理,具体如下:

公信消息单日可推送总量的计算公式:应用在MIUI上安装且通知开启数x倍数。默认倍数为2倍,具备《互联网新闻信息服务许可证》的应用为3倍,具体如表1所示。通知开启数小于10000的按10000计数。

表1 公信消息限制倍数

是否具备《互联网新闻信息服务许可证》单个应用单日单设备通知推送数量限制倍数
(单位:倍)
单个设备单日单应用接收通知数量
(单位:条)
38
25

说明:

  • “应用在MIUI上安装且通知开启”的定义:用户已激活应用且主动开启了总消息通知的开关。
  • 单日推送限额数以“送达量”计算,当日送达量超限则会计入管控。

2、消息量申诉

若特殊情况需要额外提升推送量级,开发者可以向小米推送进行申诉。

申诉条件:

开发者因业务需要确实需要发送额外量级的消息,并且用户确实希望收到该应用的推送消息。

申诉方法:

联系邮箱:mipush-permission@xiaomi.com。

3、FAQ

3.1、如果推送数量超过当日限制时,会有什么提示吗?

推送数量超过当日限制时,会调用请求失败,返回错误码200001,原因:exceed quota, quota: 当日可以下发总数, have acked: 当日已送达数。

如果您接了消息回执callback,推送总量超限时callback会返回如下json(需要先订阅callback.type为128,参见“消息回执”):

{
data={
"axo00546585203029498oV": {"extra":{"ack":"当日已送达数","quota":"当日可以下发总数"},"type":128,"targets":"alias","timestamp":1585203103625}
}
}

说明:

如果调用我们的multi接口(例如/v2/multi_messages/regids)发送消息,在推送数量超过当日限制时,不会返回错误码200001,而是通过channel_exceed_quota字段返回本次请求中各个通道的超额消息数,例如:

{"result":"ok","trace_id":"******************","code":0,"data":{"day_acked":"50078","id":"******************","channel_exceed_quota":"no_channel:2 a:3 ","day_quota":"50000"},"description":"成功"]

上面的返回结果表明,本次请求由于推送数量超限,会有2条没有带channel_id的消息以及3条channel_id为a的消息不会下发,其余消息则会正常下发。

3.2、如何查询每日剩余可推送数量?

在调用推送请求的响应中会返回当日可下发总量和当日已送达数。

示例:

{"result":"ok","trace_id":"Xxo00563585646156570hY","code":0,"data":{"data":{"day_acked":1,"day_quota":250}},"description":"成功"}
  • day_acked表示当日已送达数
  • day_quota表示当日可下发总量

如果您希望通过独立接口查询,可调用如下API(1秒限调用1次):

https://api.xmpush.xiaomi.com/v1/trace/quota/get

HTTP请求方法:GET

添加HEADER字段Authorization,用于身份验证。格式是 key=<APP_SECRET>。

APP_SECRET是从开发者网站申请得到。

注意:字符key必须小写,例如:Authorization: key=YOUR_APP_SECRET

3.3、如果推送数量不够用,怎么办?

建议您优化推送策略,做精细化推送,尽量减少或避免全量用户的推送。

如果您的消息内容中有符合私信消息的内容,建议您申请和接入私信消息Channel,申请方式请参见《小米推送消息分类新规》,接入后该类消息将不受限制。

如果您确实有增加消息量的需要,比如有大量用户因收不到消息而投诉,您也可以向小米推送申请增加消息量级,申请方式请参见“消息量申诉”。

二、推送速率QPS限制

1、限制规则

小米推送对推送速率(QPS)的分配主要依据App的通知开关开启数进行分级计算。

QPS:表示1秒可调用的请求数。1个请求里最多可以携带1000个目标设备。例如:3000QPS时,1秒内最多可推送300万设备。

不同量级的通知开关开启设备数分配不同的QPS:

通知开关开启数QPS
≥1000万3000
≥500万且<1000万2500
≥100万且<500万2000
≥10万且<100万1000
<10万500

2、FAQ

2.1QPS超限时会返回什么错误吗?

QPS超限时会返回错误码200002, 原因:send message too frequent!

请降低您的并发请求数,确保每秒的请求数不高于QPS限制,否则将无法推送。

优化建议:

可以考虑多用聚合消息,降低QPS。

如使用https://api.xmpush.xiaomi.com/v2/message/regid 或者 https://api.xmpush.xiaomi.com/v3/message/regid 将单条消息发送给多个目标用户。

上一篇:
下一篇: