文档中心

推送对象目前支持四种:RegID、别名、userAccount、标签。

RegID:针对单一设备推送消息。应用调用MiPushClient类的静态方法registerPush注册小米推送服务,注册的结果将通过PushMessageReceiver继承类的onCommandResult方法和onReceiveRegisterResult中的MiPushCommandMessage参数对象message传到客户端。当message对象的command等于MiPushClient.COMMAND_REGISTER并且message对象的resultCode等于ErrorCode.SUCCESS时,message对象commandArguments包含了服务器返回的RegID。

RegID是由服务器端生成的,能够唯一标识某台手机上的某个应用。 应用在获取到RegID后,需要将RegID上报到应用的服务器,此时应用服务端就可以利用RegID向客户端发送消息。

别名:针对单一设备推送消息。应用只有在成功注册小米推送服务后才能调用MiPushClient类的静态方法setAlias设置别名。同样,设置别名的结果将通过PushMessageReceiver继承类的onCommandResult方法中的MiPushCommandMessage参数对象message传到客户端。

成功设置别名后,服务器就可以通过这个别名将消息推送到对应的设备上。 利用别名向设备推送消息的方法不需要应用服务器保存客户端上传的RegID。开发者可以根据业务的需要给不同设备设置不同的别名。 注:一台设备可以设置多个不同的别名,而一个别名只能对应某一台设备。如果多台设备设置同一个别名,那么只有最后设置的一台设备生效。

userAccount:针对多个设备推送消息。应用只有在成功注册小米推送服务后才能调用MiPushClient类的静态方法setUserAccount设置userAccount。同样,设置userAccount的结果将通过PushMessageReceiver继承类的onCommandResult方法中的MiPushCommandMessage参数对象message传到客户端。

开发者可以在不同设备上设置同一个userAccount。然后使用Server SDK给该userAccount发送消息;此时,所有设置了该userAccount的设备都可以收到消息。

标签:针对多个设备推送消息。应用只有成功注册小米推送服务后才能调用MiPushClient类的静态方法subscribe订阅标签。同样,订阅标签的结果将通过PushMessageReceiver继承类的onCommandResult方法中的MiPushCommandMessage参数对象message传到客户端。

开发者可以结合自己的业务特征,给用户打上不同的标签(Topic)。在消息的推送过程中,开发者结合每条消息的内容和目标用户群,选择每条消息所对应的标签,可以进行更精准的定向推送。 注:一台设备可以订阅多个不同的标签,并且一个标签可以对应多台设备,这点和别名不同。

根据小米开发文档,总结如下:

韦恩图

MiPush四种推送对象相关推荐

  1. jsp内置对象【02】四种内置对象【02】session、application

    我们继续来学习,上一篇文章中说到了request属性,那么既要想客户端和服务端都都能实现跳转的话,就用到了session. 第三种:session属性 我们接着修改一下上一篇文章中的代码来对比一下: ...

  2. 小程序消息主动推送php,微信小程序有几种推送消息的方式

    微信小程序有5种推送消息的方式,分别为:1.小票机订单提醒,实现对商家的消息提醒:2.短信提醒:3.模板消息,各种动态可及时掌握:4.公众号订单提醒:5.消息主动推送,商家主动出击.推销自己的最好手段 ...

  3. java中四种引用类型(对象的强、软、弱和虚引用)

    2019独角兽企业重金招聘Python工程师标准>>> 对象的强.软.弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有 ...

  4. Java中四种遍历Map对象的方法

    方法一:在for-each循环中使用entry来遍历,通过Map.entrySet遍历key和value,这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用. Map<Int ...

  5. 个推推送模板及推送方式

    2019独角兽企业重金招聘Python工程师标准>>> 四种推送模板 点击通知打开应用模板 NotificationTemplate • 场景 1:针对沉默用户,发送推送消息,点击消 ...

  6. 极光推送经验之谈-Java后台服务器实现极光推送的两种实现方式

    转载自 https://www.cnblogs.com/V1haoge/p/6439313.html 原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge ...

  7. java 消息推送的几种方式比较

    引言: 在互联网高速发展的时代里,web应用大有取代桌面应用的趋势,不必再去繁琐的安装各种软件,只需一款主流浏览器即可完成大部分常规操作,这些原因都在吸引着软件厂商和消费者.而随着各大厂商浏览器版本的 ...

  8. Struts2教程6:在Action类中获得HttpServletResponse对象的四种方法

    在struts1.x Action类的execute方法中,有四个参数,其中两个就是response和request.而在Struts2中,并没有任何参数,因此,就不能简单地从execute方法获得H ...

  9. 在Action类中获得HttpServletResponse对象的四种方法

    Struts2:在Action类中获得HttpServletResponse对象的四种方法 在struts1.x Action类的execute方法中,有四个参数,其中两个就是response和req ...

最新文章

  1. 再见了古诺。 你好Drools工作台。
  2. Java IO File
  3. mysql tomcat列表增删改查_Tomcat-Database
  4. Linux下设置定期执行脚本
  5. 前端ajax token,jQury Ajax使用Token验证身份实例代码_白江_前端开发者
  6. 分布式文件存储FastDFS之安装Nginx实现文件访问
  7. 玩Mega8 智能充电器-12. 终于实现-dV检测(转)
  8. JxBrowser 7 Crack 申请试用教程
  9. csol修改本地服务器,CSOL简单地控制台优化+显卡优化 低配也能流畅运行
  10. 【半年时光-追寻你的足迹】
  11. 程序员从互联网跳央企,晒一天工作和收入
  12. 如何屏蔽迅雷9右侧广告首页
  13. Beam Search 简介
  14. matplotlib可视化初相识
  15. wow怎么修改服务器地址,wow如何修改登录服务器地址
  16. GetAsyncKeyState()函数获取键盘输入
  17. vue3+ts通用管理后台练习项目
  18. 红帽OpenShift容器平台3.3提高DevOps采用率和应用扩展能力
  19. 使用RAMDisk制作内存盘加快系统运行速度(并解决部分问题)
  20. LaTeX非主流技巧集锦

热门文章

  1. 安装双系统,变成双系统!安装多一个linux(ubantu)操作系统
  2. 专业板金优化分析软件,好用!
  3. STM8105X4 AD采样
  4. Android 将一张CMYK模式的图片转换成RGB模式的图片
  5. 苹果自带的清理软件_手机:手机垃圾该怎么清理才流畅?四步让手机流畅如飞|手机|应用程序|安卓手机|病毒...
  6. quartus管脚分配后需要保存吗_Quartus II中FPGA的管脚分配保存方法
  7. 切记CMYK图片格式在IE中将无法显示
  8. 易语言 取excel表格名称_给新手的python“Excel自动处理工具”教程
  9. HFSS波端口和集总端口
  10. Word中如何才能批量添加千分位分隔符?