随着开发者对 JPush 的使用越来越深入,不少开发者越来越想要非常精确地定位到每一个设备安装(应用)。为此,JPush 开放了基于 RegistrationID 推送的功能。

JPush Android SDK r1.6.0 更新,主要增加了对 RegistrationID 的支持;并且服务器端 Push API 也新增此支持。另外,也改进了统计分析相关功能,以便 JPush 可以基于更完善的统计来改进推送效果。

JPush RegistrationID 是这个版本 SDK 引入的一个新概念,它唯一地标识当前这个应用安装在这个设备上。或者说,相当于是 JPush SDK 内部的用户ID。

开发者可通过 App 新安装后 JPush SDK 内部注册成功时发出的 Broadcast 来得到到这个 ID,也可以通过调用 JPushInterface.getRegistrationID() 方法来得到这个 ID。

使用上,开发者取得 RegistrationID 后,上传到自己的服务器端。之后就可以在自己的服务器调基于这个 RegistrationID 来进行推送。

JPush 之前一直支持基于 Alias (别名)的点对点推送方式,那为什么还要开放 RegistrationID 的点对点推送方式呢?与 Alias 相比,RegistrationID 的有什么不同,或者说优势、劣势呢?

本质上 RegistrationID 与 Alias 类似,其目的都是唯一地定位到应用安装在一个特定的设备上。而本质的不同在于,Alias 是把映射关系保存到 JPush 的服务器上,而 RegistrationID 需要把映射关系保存到开发者业务服务器上。这个本质的不同,决定了其特点:

  1. Alias 有个 SDK 端设置绑定关系的问题。这个设置,有可能会失败,App 需要有处理这个暂时失败的逻辑。另外,Alias 是不限制绑定到多个设备的,这样要精确地定位到一个设备就不好控制。总而言之,这个绑定关系是没有那么精确一点的。
  2. RegistrationID 一旦生成,意味着这个设备的安装一定存在。App 把这个 RegistrationID 保存到自己的业务服务器上,可以非常精确地定位到这台设备(安装这个应用)。这样开发者的内部业务可以做比较复杂的用户关联关系。

或者说,使用 Alias 开发者更简单、方便。但使用 RegistrationID 更方便于精确地定位用户。

JPush iOS SDK 将于稍后发布的 SDK 版本支持 RegistrationID 推送。

Android SDK 具体的更新说明,请参考最新更新页面。RegistrationID 相关的文档有:获取 RegistrationID API;接收推送消息 Receiver里关于从广播接受 RegistrationID 部分;Push API v2里关于 RegistrationID 推送参数的部分。统计分析功能相关的文档有:统计分析 API(Android SDK)。


更多相关文章

  1. Android各种蓝牙设备的UUID
  2. 美女开发者独立开发二十多款应用,月入上万
  3. 图形布局和实际设备上的布局不同
  4. Android Asyntask:对上下文使用弱引用以避免设备旋转屏幕
  5. Java开发微信公众号(二)---开启开发者模式,接入微信公众平台开发

随机推荐

  1. Python脚本——连接到SSH并运行命令
  2. python学习笔记回忆录
  3. CDays -4 可用的首个Python脚本
  4. 生产者-消费者问题
  5. python学习笔记<二>
  6. python string_3 end 内建函数详解
  7. 为什么分配给True / False不能像我期望的
  8. 用Python来找合适的妹子
  9. Python 获得最近一个月的每天的日期
  10. Python数据挖掘实例(实时更新)