为了改善小米终端用户的通知体验,营造良好可持续的推送生态,小米推送对推送消息数量、推送速率QPS进行了统一管理。
一、每日推送数量限制
根据《小米推送消息分类新规》,小米推送将消息分为“私信消息”和“公信消息”两个类别,若应用选择不接入私信或公信,则会接入默认通道。
消息类型 | 推送内容 | 推送数量限制 | 用户接收数量限制 | 申请方式 |
默认 | 仅可按照“公信场景说明”配置。 | 1倍 | 单个应用单个设备单日1条 | 无需申请 |
公信消息 | 新闻资讯、内容资讯、生活资讯、关注推荐、算法推荐、平台活动、互动信息等其他多类场景,具体请参见“公信场景说明”。 | 2-3倍,具体规则请参见“公信限制规则”。 | 单个应用单个设备单日5-8条,具体规则请参见“公信限制规则”。 | 需在推送运营平台申请,具体参见“小米推送消息分类新规”。 |
私信消息 | 需符合即时消息、个人账户、个人资产、个人订阅、个人日程、设备信息、订单及物流、工作信息这8类场景,具体请参见“私信场景说明”。 | 不限量 | 不限量 |
2023年2月1日起按照本新规中的消息分类正式运行。
1、限制规则
私信消息的单日推送数量不受限,公信消息的单日推送数量进行上限管理,具体如下:
公信消息单日可推送总量的计算公式:应用在小米澎湃OS(Xiaomi HyperOS)、MIUI上安装且通知开启数x倍数。默认倍数为2倍,具备《互联网新闻信息服务许可证》的应用为3倍,具体如表1所示。通知开启数小于10000的按10000计数。
表1 公信消息限制倍数
是否具备《互联网新闻信息服务许可证》 | 单个应用单日通知推送数量限制倍数 (单位:倍) | 单个设备单日单应用接收通知数量 (单位:条) |
有 | 3 | 8 |
无 | 2 | 5 |
说明:
- “应用在小米澎湃OS(Xiaomi HyperOS)、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,申请方式请参见《小米推送消息分类新规》,接入后该类消息将不受限制。
如果开发者确实有增加消息量的需要,比如有大量用户因收不到消息而投诉,开发者可以向小米推送申请增加消息量级,申请方式请参见“消息量申诉”。
二、临时推送数量限制
为了给用户与开发者提供更加优质的服务与体验,小米推送基于 “动态关闭率” 对推送消息数量进行统一管理。此规则旨在通过精细化管理,协助开发者提升推送效果,实现推送服务的精准触达与高效运营。
1、限制规则
当应用单月日均动态关闭率>0.05%时,小米推送将以邮件的方式提示开发者进行整改;若30天整改期内,日均动态关闭率仍>0.05%(即未完成整改),小米推送将按表2所示规则限制消息推送额度;若应用当月被限制额度,次月日均动态关闭率≤ 0.05%,则次月恢复该应用原有推送额度。
表2 公信消息受动态关闭率限制倍数
月日均动态关闭率>0.05% | 单个应用单日通知推送数量限制倍数 (单位:倍) | 单个设备单日单应用接收通知数量 (单位:条) |
需整改 | 1.5 | 3 |
注意:
- 月日均动态关闭率>0.05%,指应用当月平均每日的通知权限关闭率>0.05%。若日均关闭率>0.05%,则当月整体通知权限关闭率>1.5%。若长期未启动优化整改,应用年度可触达用户规模预计下降幅度18%。
- 具备《互联网新闻信息服务许可证》的应用,若当月日均动态关闭率>0.05%时,单个应用单日通知推送数量限制倍数为2.5倍,单个设备单日单应用接收通知数量为5条。
- 开发者收到整改提示邮件后,需在30天内完成整改并反馈整改结果,否则无法恢复原有推送额度。
2、说明
- 动态关闭率=新增通知关闭数/通知开启数,月日均动态关闭率以当月每日均值计算;
- 新增通知关闭数:统计周期内,终端用户将应用的通知权限由“开启”调整为“关闭”的设备数;
- 通知开启数:统计周期内,终端用户已激活应用且应用通知权限为“开启”的设备总数;
- 动态关闭率查询方式:小米推送运营平台-推送统计-用户数据-动态关闭率。
3、消息量申诉
- 若开发者对限制推送额度有异议,需在收到调整邮件后的3个工作日内,通过邮箱mipush-permission@xiaomi.com提交申诉,同一事件仅允许申诉1次。
- 申诉需提供包含整改规划及整改期限的整改方案,小米推送将从真实性、合理性及影响范围等维度进行评议并反馈结果。若评议通过,可维持原有推送额度;若未通过,则按规则执行。
- 逾期未申诉、未按时申诉或申诉未通过的,将按规则执行限制推送额度。
- 如有疑问,可通过小米推送客服系统咨询。
申诉流程:

4、FAQ
4.1、如何将动态关闭率控制在0.05%以内?
建议开发者减少低质内容及营销广告推送,优化策略做个性化、精细化推送,避免全量推送与频繁打扰,同时每日监控关闭率数据,接近0.05%阈值时及时调整策略,以有价值的消息提升用户留存,而非依赖高频推送。
三、推送速率QPS限制
1、限制规则
小米推送对推送速率(QPS)的分配主要依据应用的通知权限开启数进行分级计算。
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.1 QPS超限时会返回什么错误吗?
QPS超限时会返回错误码200002, 原因:send message too frequent!
需降低并发请求数,确保每秒的请求数不高于QPS限制,否则将无法推送。
优化建议:
可以考虑多用聚合消息,降低QPS。
如使用https://api.xmpush.xiaomi.com/v2/message/regid 或者 https://api.xmpush.xiaomi.com/v3/message/regid 将单条消息发送给多个目标用户。