search
分发文档
分发文档/应用分发/应用服务/推送服务/小米推送订阅消息接入指南
小米推送订阅消息接入指南更新时间:2026-07-03 16:19:02

为了改善小米终端用户的通知体验,营造良好可持续的推送生态,小米推送对现有订阅消息下发能力进行了升级

一、订阅消息简介

小米推送支持真实订阅类消息接入,订阅消息具备如下特点:

  • 订阅类消息的通知开关权限需用户手动订阅后开启;
  • 接入订阅功能的消息被认为是用户主动要求接收的消息,享有私信同等权益;
  • 订阅弹窗的触发策略由开发者自定义,需升级SDK完成订阅授权;
  • 用户交互如下图:

注意:

1. 应用需先申请应用的总通知开关权限,订阅消息channel开关为二级权限;两项通知权限全部开启后,应用推送的通知才可正常展示在通知栏。

2. 订阅弹窗30s内最多调用5次,单channel一个月内最多调用2次。

二、订阅消息接入指南

1. 申请公信-订阅分类

8个订阅消息分类为
资讯订阅、直播预约、活动预约、赛事预约、作品预约、游戏内动态提醒、上线提醒、商品预约,分类规范及申请方式详见小米推送2026年消息分类新规》。

2. 申请模板的方法

订阅类消息需使用模板下发,接入详见:小米推送模板接入指南

3. 客户端接入

1、升级现有推送SDK

请访问SDK下载页,下载最新版Android客户端SDK。

2、请求订阅Channel接口

MiPushClient.requestSubscribeChannel(Context context, ArrayList<String>,  SubscribeRemindManager.Callback callback)
  • 功能:向小米推送服务发起Channel订阅请求(需用户授权)
  • 使用前提:
    • 成功注册MiPushSDK
  • 入参说明:
参数名数据类型是否必填字段含义 & 取值说明
contextContext用于获取应用包名
channelIdsArrayList<String>待订阅 / 创建的渠道 ID 列表;示例:["channelId1","channelId2","channelId3"];SDK会对List长度进行校验,单次调用最多展示3个channel,超出部分丢弃。
callbackSubscribeRemindManager.Callback结果回调接口,SDK 完成所有操作后,通过该接口返回最终结果
  • 调用示例
MiPushClient.requestSubscribeChannel(MainActivity.this, list, new SubscribeRemindManager.Callback() {     
@Override
public void onResult(int code, Bundle bundle) {
if (code == 0) {
if (bundle != null && bundle.containsKey("open_channel_result") && bundle.getString("open_channel_result") != null) {
// 解析json字符串,获取请求channel集合的用户操作结果
}
} else {
// 订阅弹窗未正常弹出,查看错误码处理
}
}
});

3、结果回调接口

  • SubscribeRemindManager.Callback
  • 功能:处理订阅操作的结果

onResult返回值说明:

参数名数据类型是否必填字段含义 & 取值说明
codeint弹窗操作结果码
bundleBundleChannel操作结果,Key为"open_channel_result",Value为json字符串,json字符串示例:
[
{
"channelId":"channel1",
"code": -100
},
{
"channelId":"channel2",
"code": 100
}
]

弹窗操作结果码:

结果码说明
0订阅弹窗正常弹出,用户操作结果正常返回
-100订阅弹窗未弹出,xmsf版本过低,设备本身不支持该订阅功能
-200订阅弹窗未弹出,鉴权失败导致订阅/取消订阅失败
-300订阅弹窗未弹出,三方应用activity不在顶部或设备不属于亮屏状态
-400订阅弹窗未弹出,该设备处于订阅流程中
-500订阅弹窗未弹出,处于频控状态
-600订阅弹窗未弹出,参数异常
-700订阅弹窗未弹出,用户取消
-800订阅弹窗未弹出,无通知权限
-900由于错误或网络原因导致订阅/取消失败
-10000订阅弹窗未弹出,应用未启用Push
-10001订阅弹窗未弹出,版本不支持
-10002订阅弹窗未弹出,所有channelId无效
-10003订阅弹窗未弹出,获取channel信息失败

单个channel操作结果码:

结果码说明
100channel有效,创建成功
-100channel有效,创建失败
-200channel有效,用户拒绝打开
-300channel有效,本地已经创建过,开关状态为开
-400channel有效,本地已经创建过,开关状态为关
-500channel无效

上一篇:服务器API地址以及参数
下一篇:小米推送模板接入指南
文档内容是否有帮助?
有帮助
无帮助