推送(2)

Registration Id

不同的平台的叫法不一定相同,极光推送就叫Registration Id。应用程序第一次注册到推送平台时,推送平台会给应用生成一个唯一的该设备的标识 - RegistrationID。极光推送会以广播的形式发送给应用程序,只需要在BroadcastReceiver中获取到就行了。之后可以在APP中将这个 RegistrationID发送给自己的服务器,让我们自己的服务器将他和用户关联,就可以给唯一用户发送推送了。

需要处理各种失败的情况

比如第三方推送的初始化不一定会马上成功,需要注意在不成功时重复请求直至成功。理应由推送SDK来处理。如果失败,它应该会有重试机制,直到成功获取了推送token,它再重新调用App把推送Registration Id传过来。
当我们在APP里获取到 RegistrationID后,发送给我们自己的服务器时,也不一定会直接成功,需要有在失败时重复请求的代码。需要APP自己处理。

通用送达率和在线送达率

· 在线送达率: 针对长连在线的设备进行消息下发,成功送达到设备的比例(注意,定义提及的只是送达到设备,而非送达到 App 这个层面)。在线送达率 = 送达设备数 / 下发数,或者在线送达率=送达设备数/接收数*在线设备率 。绝大部分推送服务提供商所宣传的高送达率其实说的就是“在线送达率”。
· 通用送达率: 针对该次接受的设备集合,成功送达到 App 的比例(定义提及的是送到到 App ,而非设备)。通用送达率 = 送达 App数/ 接收数。

推送送达设备和送达APP是不同的概念。只要设备安装了APP,在推送平台上注册成功,一般会生成设备唯一识别ID。推送在发送时,基本都会成功发送到设备上,即送达设备。如果APP是运行着的,推送服务成功连接着,那么推送一般能准确送达APP。但是,当APP进程被关闭,或者干脆直接被卸载了,推送服务终止,那么推送就不能送达APP。直观的表现就是通知栏不能显示通知(事实上推送有可能已经送达你的设备了)。

可以借助这点,通过持续监测通用送达率,确定选择哪个推送平台对自己的APP更好(不一定准确,只是个参考)。

这里就有一点需要注意:当推送消息送达设备后,如果APP的进程不在,那么理想情况下是他应该“拉起”APP进程(手机中的其他APP如果采用了相同的推送方,一般他们都有互相拉起的功能),然后完成推送。

最后,选用哪个推送平台应该是随着潮流变化而变化,哪个适合用哪个,所以要确保推送架构能比较容易的切换到某个第三方推送。只依赖一家平台的做法,是不靠谱的(因为如果他出问题了,那我的推送不就完全没有用了吗)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值