搜索
分发文档
应用分发
游戏分发
电视应用分发
快应用分发
小游戏分发
服务分发
内容分发
分发文档/应用分发/应用服务/推送服务/基于第三方审核结果的消息推送
基于第三方审核结果的消息推送更新时间: 2024-10-18 20:56:00

MiPush禁止推送包含敏感词的消息,建议App的运营人员在推送消息的时候基于三方平台(推必安)的审核结果来进行消息推送。即在推送消息给Push服务器时,需附带推必安对消息体内容审核后的结果,当Push服务器检测到审核结果不通过时,会对消息进行拦截,并返回结果给App运营人员。

说明:

推送消息内容安全公共服务平台(推必安)提供高效过滤色情、广告、涉政、暴恐、违法、低俗等多类垃圾文字及关键词的检测能力,推必安接入方式详见官网:https://tuibian.mobileservice.cn/

一、基于推必安审核的消息下发流程

上传文件

流程说明:

  1. 开发者推送消息前需要调用小米推送消息鉴权接口(https://api.xmpush.xiaomi.com/v1/auth),获取用于后续推送的access_token。
  2. 登录推必安官网(https://tuibian.mobileservice.cn/)并申请服务,通过推必安服务申请后,可获取相应接口文档、调用凭证,或者验签SDK资料包和证书等。调用推必安请求地址(https://push.tuibianchina.com/v1/token)建立请求。详细请求方式可参考推必安内容审核系统开发者手册
  3. 开发者将需要推送的标题(title)、内容(content)拼接成字符串,拼接方式见注1,调用推必安文本审核接口(https://push.tuibianchina.com/v1/audit),获取审核结果。详细请求方式可参考推必安内容审核系统开发者手册
  4. 将步骤3的审核结果(详见注2),与发送消息内容一起携带,调用消息推送接口(https://api.xmpush.xiaomi.com/v1/L1),进行消息推送。
注1:为保证后续消息的正常推送(调用https://api.xmpush.xiaomi.com/v1/L1接口)以及文本审核,在请求推必安审核接口时传入的content字段需要使用后续消息推送的标题、内容进行拼装,具体格式为"标题#内容"。
注2:若使用信息审核功能,需将信息审核接口的全部响应体内容在调用https://api.xmpush.xiaomi.com /v1/L1接口进行消息推送时通过auditResponse字段作为入参传递。

二、接口说明

推送消息鉴权接口

接口用途:用于应用推送用户身份鉴定,通过后可获得access_token用于后续请求身份校验。

接口地址:

https://api.xmpush.xiaomi.com/v1/auth

请求方式:POST

Http Header:Content-Type:application/json

接口入参:

属性类型是否必传说明
grant_typestring依据Oauth 2.0 规范,本值必须为“client_credentials”。
app_idstring用户申请推送业务时生成的AppID(最长 24 字节)。
timestampstring时间戳(单位ms,Unix标准,从1970 年1月1日开始)。
app_secretstring用户申请推送业务时获得对应AppID的秘钥(最长128字节)。 

说明:

app_id及app_secret生成可参考《推送服务启用指南》

入参body示例:

{
"grant_type":"client_credentials",//固定值
"app_id":"1000000",//应用Id
"timestamp":"1577262811",时间戳
"app_secret":"xxxxx" //创建应用时生成
}

响应结果:

属性类型说明
resultstring鉴权结果
descstring结果描述
access_tokenstring用于后续进行消息推送鉴权时的令牌,当鉴权成功时才会有该字段。
expires_inintaccess_token的有效期,以秒为单位,当鉴权成功时才会有该字段。

其中,result字段目前可能的返回值为:

result对应的desc
-1系统未知
0成功
1无效的app_id
2无效的app_secret
>100小米推送预留

成功响应示例:

{
"result": 0,
"access_token": "xxxxxx",
"expires_in": 604800,
"desc": "成功"
}

失败响应示例:

{
"result": 1,
"desc": "无效的app_id"
}

消息推送接口

接口用途:向单个或多个设备推送消息。

接口地址:

https://api.xmpush.xiaomi.com/v1/L1

请求方式:POST

Http Header:Content-Type:application/json

Authorization:申请的access_token

接口入参:

属性类型父项目是否必传说明
registration_tokensArray -多个registration_token列表(即regId),建议最大值不超过 100。
notificationObject -通知栏消息结构体
ttlstring -消息保留时长(单位:秒,最长不超过10 天)
optionJSONObject -消息扩展信息,key-value,可参考《服务器API地址以及参数》中以“extra.”前缀的参数,可支持个性化功能。
original_source_nam
e
string -推送消息的来源,品牌名称(英文或拼音)(不超过128字节)。
original_source_ipstring -如果消息由第三方代发,消息中要挟带消息原始来源的ip地址(举例:CP 1为原始推送消息发出方,将消息发送给了CP 2,由CP 2代为发送至厂商,则CP 2发出的消息中需要增加CP 1的IP地址。)
notification_channel
string -
为满足安卓O/P的特性,增加通知通道(channel)的特性 (不超过64字节),channel使用可参考《服务器API地址以及参数》中的“通知类别(Channel)”一节。
auditResponseObject -推必安信息审核api响应内容,详见推必安官方文档:https://tuibian.mobileservice.cn/ 
titlestringnotifaicati
on
通知标题(不超过128字节)。
contentstring
notifaicati
on
通知内容(不超过256字节)。
click_actionObjectnotifaicati
on
点击通知栏后自定义行为。
urlstring
click_action
点击通知栏消息,打开指定的URL地址。
intentstring
click_action
点击通知栏消息,用户收到通知栏消息后点击通知栏消息打开应用定义的这个Intent页面。

入参body示例:

{
"registration_tokens":[
"xxxxxxxx"
],
"notification":{
"title":"title",
"content":"desc",
"click_action":{
"url":"xxxxx",
"intent":"xxxxx"
}
},
"original_source_name":"xiaomi",
"original_source_ip":"x.x.x.x",
"ttl":"3600",
"option":{
"extra.callback":"callbackUrl"
}
}

响应结果:

属性类型说明
resultstring鉴权结果
descstring结果描述
message_idstring任务编号,可用于后续查看消息是否送达、问题排查等。

响应httpCode说明:

result对应的desc
200请求成功
405授权失败
500系统内部错误

result字段目前可能的返回值为:

result对应的desc
-1系统未知
0成功
>100小米推送错误码,可参考《服务端错误码参考》

成功响应示例:

{
"result": 0,
"messageId": "sdm01063577265502867XS",
"desc": "成功"
}

失败响应示例:

{
"result": -1,
"desc": "系统未知"
}

上一篇:
下一篇:
文档内容是否有帮助?
有帮助有帮助
无帮助无帮助