安卓统一推送联盟成立——何为“推送”?

来源:互联网 发布:淘宝洗照片不好 编辑:程序博客网 时间:2024/05/02 18:24

推送是什么?

大家可能听说过, iOS 系统有统一的推送通道,而安卓则每个 APP 各自为政,几乎每个软件都请求后台任务以接收通知。而现在,安卓统一推送联盟成立,目标就是为了解决这个问题。不过,你知道这个“推送通道”的原理是什么吗?

概括起来说,就是:各软件的服务商将通知统一发送到指定的服务器上(例如,对于 iOS 设备而言,就是苹果的服务器),然后该服务器再把这些通知发给各设备,各设备再识别用于打开该通知的 APP 并匹配。

看起来这是一个很简单的事情,不过,如果真的是这么简单的话,那简直是太完美了,也不存在“开发半小时, Debug 一整天”的问题了。下面,我以 Windows 平台的推送为例,详细解释推送的原理。(至于为什么选择 Windows 平台的推送,因为有中文文档而且好找……)

  1. 在提交应用之前,在开发平台上先进行注册。
  2. 应用在运行时,从通用 Windows 平台请求推送通知通道,并获取有时间限制的 URI。该 URI 需要定期更新。
  3. 应用将 URI 发送到服务商自己的云服务。然后服务商将 URI 存储在自己的云服务上,以便在发生通知时访问该 URI。
  4. 在发送通知之前,云服务需要向 WNS 验证该推送服务。该验证具有有限期,在此之前持续有效,无需每条通知都重复申请。
  5. 当云服务有要发送的更新时,将使用上述的通道 URI 通知 WNS。
  6. WNS 接收请求,并返回确认到云服务,并将在适合的时候(不保证即时)将通知推送到相应的设备。

看了这些原理,你应该对推送通知有大概的了解了。至于如何请求推送通道、如何请求验证等问题,限于篇幅这里也解释不清,大家可以了解有关网络协议的资料。感谢你看到这里。