快出海  > 小米应用商店  >  小米应用商店:小米推送常见问题汇总(上)

小米应用商店:小米推送常见问题汇总(上)

作者:小米开放平台
时间:2020-09-21

以下为一些常见的技术问题解答及常见概念的理解,对推送有疑问的开发者可以自行Ctrl+F搜索关键字找寻解答。

一、概况问题

1.如何申请接入?

感谢您选择小米推送,点此查看接入指南(https://dev.mi.com/console/doc/detail?pId=68)

2.小米推送收费吗?

小米推送的基础服务目前是免费的。

3.小米推送目前支持哪些平台?

目前支持iOS和Android两大平台。

4.如何删除推送后台应用?

您可以在开放平台——管理控制台——小米应用商店,选择你要删除的应用,点击“更多服务”,即可删除该应用。

5.如何衡量推送的效果,提供哪些数据统计结果?

小米推送目前提供的数据统计如下:

1)推送数据:当日实时的推送量(区分单发和群发)和送达量,历史每天的推送量(区分单发和群发)和送达量;

2)消息记录:每条消息的计划推送量、送达量和送达率、点击量和点击率;

3)用户数据:需要开发者选择启用才开始记录,包括当日实时在线数和最高在线数,历史每天的最高在线数、新增用户数和日活跃用户数(推送的日活定义为当日长连接在线过的设备)历史数据支持自定义时间段的查询和导出xls文件。

详细可以参考:小米推送统计指标说明文档(https://dev.mi.com/console/doc/detail?pId=341)

6.小米推送服务有哪些限制?

目前针对首批合作开发者,小米推送服务没有设置任何推送频率的使用限制。而且所提供的推送服务完全免费。对于单条消息,可携带的数据量最大不能超过4KB。

二、概念解释

1.关于送达率

1.1.小米推送的送达率是怎么计算的?

小米推送送达率=本次推送真正送达的设备数/所覆盖的所有设备数;

如果目标对象的选取是所有用户,那分母就是历史上所有激活过推送服务的有效设备数;如果是按照标签选取的,那分母是历史上所有订阅过这个标签的有效设备数;如果是按照别名或者regID来选取,那么分母就是所请求的所有合法的别名或regID。

1.2.有哪些影响送达率的因素?

按照送达率计算方式,会有如下几个影响送达率的因素:

1)应用的留存率。已经卸载了app的设备,肯定是推送不到的,按照目前的计算方式,大部分的卸载设备会被计入分母(计划推送数)当中。

2)应用所在设备的联网情况。如果在消息有效期内,设备一直不联网,那消息也是不能送达的,但也会被计入分母当中。

3)消息的有效期。有效期越短,在有效期内联网的设备数势必就越少,因此送达率会随之下降。

4)目标设备的选取。如果选取的是全量用户,那其送达率肯定会比按照用户联网情况精准提取目标设备(如选取7天内有过打开应用行为的用户)要低。

2.关于regID

2.1.regID是根据什么生成的?

regID是在客户端向小米推送服务注册时,小米推送服务端根据设备标识、appID以及当前时间戳生成,因此能够保证每个设备上每个app对应的regID都是不同的。

2.2.regID会不会变化?

当app注册成功后,小米推送服务客户端SDK会在本地通过shared_prefs来保存这个regID,之后app调用注册,SDK后会在本地直接读取出这个regID并直接返回,不会重新请求服务器。因此只要应用不卸载重装或者清除应用本地数据,regID就不会变化。否则,如果SDK没有从本地读取到缓存的regID,则会向服务端重新请求,此时regID会重新生成。

2.3.regID在哪些情况下会失效?

regID在如下几种情况下会被判断失效:

1)app卸载重装或者清除数据后重新注册,这种情况下会生成一个新的regID,而老的regID会失效;

2)app调用了unregisterPush;

3)在MIUI上,app卸载时,如果能成功上报,则regID会被判定失效;

4)设备超过3个月没有和小米push服务器建立长连接;

2.4.如何获取失效的regID?

可以通过feedback接口从小米推送服务后台拉取失效regID的列表。

3.标签(topic)

开发者可结合自己的业务特征,给用户打上不同的标签(Topic)。在消息的推送过程中,开发者结合每条消息的内容和目标用户,选择每条消息所对应的标签,可以进行更精准的定向推送。

4.别名(Alias)

应用可为每个设备ID(即RegID)设定一个别名(Alias),方便开发者与自有的ID系统进行关联,避免因需要保存设备RegID与自有帐号的对应关系而给开发者带来额外的开发和存储成本。

5.透传消息

透传类推送是指开发者可选择不通过任何预定义的方式展现,由应用直接接收推送消息。利用透传消息,开发者可自定义更多使用推送的方式和展现形式,从而能更为灵活地使用消息推送通道。在一些拥有应用启动管理功能的Android系统上(如MIUI),透传的实现需要应用在后台处于启动状态。

6.透传和通知栏,在送达率上有什么分别?

透传消息是指当小米推送服务客户端SDK接收到消息之后,直接把消息通过回调方法发送给应用,不做任何处理;

通知栏消息是指在设备接收到消息之后,首先由小米推送服务SDK弹出标准安卓通知栏通知,在用户点击通知栏之后,激活应用。

在非MIUI系统中,由于维护小米推送服务长连接的service是寄生在App的运行空间当中的,因此透传和通知栏方式在送达率上并没有任何区别,都需要应用驻留在后台。即,如果一台设备通知栏消息能够接收到并弹出,那么其透传消息也同样能接收到。

在MIUI系统中,由于长连接是由MIUI系统服务建立并维护的,因此在接收消息的时候并不需要应用驻留后台。如果采用通知栏方式接收消息,由于通知栏也是MIUI系统服务弹出的,就可以做到不需要用户后台驻留或者可以自启动消息就能送达。而如果采用透传消息,由于需要直接执行应用的代码,因此即使消息已经到了系统服务,如果应用没有驻留后台或者能自启动,消息依然不能送达,需等下次用户手动点击激活应用后,才能接收到消息。

综上,在MIUI系统中,通知栏消息的送达率会远高于透传方式;在非MIUI系统中,通知栏和透传方式的送达率是一样的。

7.alias和user account有什么区别

alias和user account都可以用来设置设备对应的用户账号,所不同的是,一个alias只能对应一台设备,如果有多台设备设置了同样的alias,则最后一个设置成功的生效,其它设备就会失效。而一个user account可对应10台以内的设备。因此如果应用是单点登录的,一个账号只会在一台设备上生效,用alias会比较合适。而如果产品需求是单账号多点登录同时接收消息,则用user account会更合适。

三、系统服务问题

1.如果我使用通知栏类型消息,能否在通知栏消息到达之前,先执行一段app的代码?或者在通知栏到达时,通知app?

在MIUI系统上,通知栏类型的消息,是不需要应用启动就能弹出的(这一特性决定了通知栏消息的弹出可以不受应用自启动管理的影响),因此在整个弹出通知栏消息的过程中,app是完全不可感知的,当用户点击通知栏消息之后,才会执行到app的代码。

2.当我的应用被杀掉之后,还能否接收到小米推送服务的消息?

1)如果是在MIUI系统中,使用通知栏类型的消息,是不需要应用出于启动状态就能接收并弹出通知栏的。使用透传消息,则需要应用驻留后台才能接收,由于MIUI的自启动管理限制,所以如果应用被杀,是收不到透传消息的。

2)如果是在非MIUI系统中,是需要应用驻留后台才能接收消息的,因此如果应用被杀死并且不能后台自启动的话,是没有办法接收消息的。为了让app尽可能的驻留后台,小米推送服务SDK监听了网络变化等系统事件,并且有应用之间的互相唤醒,但这些措施并不能保证应用可以一直在后台驻留。

3.小米push是不是共享通道的?

在MIUI系统中,push服务的消息走的是系统通道,不需要应用单独建立连接。

在非MIUI上,通道会建立在每个app的进程中,每个接入mipush服务的app都会建立一条单独的通道。

这种设计的考虑原因如下:使用共享通道,会有如下几个问题解决不了,1.流量。假如你的app不幸被选中成为其它app的消息通道,而某个恶意app通过这个通道发了大量的消息,所产生的流量,都会算在你的app的头上。2.安全性。如果你的消息走的是别的app的通道,数据需要通过另一个app的进程中转,则在这过程中很容易被伪造、纂改、拦截。

4.在MIUI中,小米推送支持的最低Android版本和MIUI版本是什么?

Android支持4.0以上版本;onNotificationMessageArrived回调等功能需要MIUI7以上版本支持;

5.有没有方法检测小米推送是否已经注册的方法

客户端调用getregid,如果有返回,就注册成功了;

版权说明

本文内容来自于小米开放平台,本站不拥有所有权,不承担相关法律责任。文章内容系作者个人观点,不代表快出海对观点赞同或支持。如有侵权,请联系管理员(hj@kchuhai.com)删除!

相关文章
小米应用商店:检查更新SDK 集成指南
小米应用商店:检查更新SDK 集成指南
小米应用商店检查更新SDK(下文简写为『检查更新SDK』)帮助您的用户尽快获得最新版本的应用!轻松增加『自动检查更新』功能,通过小米应用商店的CDN服务,快速的把最新版应用推送给用户!
2020-10-09
小米应用商店:推送运营规范
小米应用商店:推送运营规范
为了更好地维护小米推送服务开发者生态体系,保障业务健康发展同时兼顾用户体验,防范和降低开发者推送消息的事故和风险,小米推送特此说明相关推送运营规范,以供开发者参考。
2020-09-30
小米应用商店Unity接入指南
小米应用商店Unity接入指南
本文介绍小米应用商店Unity接入指南。
2020-09-30
华为、小米等应用商店无法下载《原神》和《万国觉醒》
华为、小米等应用商店无法下载《原神》和《万国觉醒》
9月18日、9月21日,米哈游和莉莉丝今年的重磅产品《原神》和《万国觉醒》相继在小米游戏中心和华为游戏中心发布公告,表示将无法在两部游戏正式公测时,在小米和华为应用商店提供下载服务。
2020-09-30
小米应用商店之快应用推送接入指南
小米应用商店之快应用推送接入指南
小米推送支持快应用接入推送服务,本文便为你简单介绍。
2020-09-29
服务商推荐 更多 >
太平洋电信股份有限公司
太平洋电信
太平洋电信为游戏、电商等客户提供低延时、高可靠的多点互联、企业上云、全球移动应用测试、主机托管等服务。通过与澳大利亚电信合作,凭借在全球丰富的海缆网络资源及多年的国际化运营经验,助力企业业务出海布局。 更多产品详情,请访问官方网站:https:www.t-pbs.com
云服务
北京云中融信网络科技有限公司
融云
融云为全球开发者和企业提供 IM即时通讯和实时音视频通信云服务,独立的海外数据中心,全球 30 万+应用的通信选择。一套 SDK 解决所有通信场景,快速集成,1天实现跨国互动,实时沟通,助力应用出海
云服务
凝视数科(北京)科技有限公司
Appstare
Apple Search Ads 代投,美国真人积分墙,FB | GG代投代运营
推广
EBANX
EBANX
EBANX是一家拥有拉丁美洲DNA的全球金融科技公司。 该公司成立于2012年,在跨境电子商务交易流程中提供端到端支付解决方案,为渴望在全世界扩展的全球商家提供100多种拉丁美洲本地支付选项。 EBANX已帮助500多家商家扩展到拉丁美洲,超过4000万拉丁美洲人获得了全球服务和产品。
电商本地化支付
Lotusia
Lotusia 新加坡企业咨询
新加坡注册公司,开设银行账户,公司法定秘书,公司会计年审,税务咨询与合规,法定审计,企业家新加坡身份,公司咨询与新加坡相关商业服务
本地化推广
深圳哈希信息技术有限公司
哈希信息
深圳哈希信息技术有限公司成立于2018年,是国内领先的智能网络服务提供商,基于软件定义网络、下一代网络协议、大数据等技术研发面向不同行业领域的产品和解决方案,秉着“专业、创新、信任、分享“的核心价值观,致力为客户提供一个高效可靠的流量云平台。公司对外提供分发云(CDN)、加速云(动态加速)、安全云(防DDOS&云WAF)、流量云(广告交易)、边缘云、短信云等多个云产品,帮助游戏/资讯等互联网公司构建、加速和更好的保护核心业务。
云服务变现
小程序
公众号
商务合作
投稿采访
出海管家