H2OS酱也想用MiPush | 捋一捋爪机推送服务

发布于 2020-07-01  420 次阅读


前言

我可以得到什么?

一部更加流畅,推送接收更加高效准确,并且续航大增的手机(也许)

如果你不想看冗长且繁杂的技术细节,并且想单刀直入地改造你的推送,请戳这里

技术原理

推送技术,或者说是是一种基于Internet通信方式的服务器推送,其中要求通信的请求是由发布者或中央服务器发起。与pull/get形成对比,额外消息传输的相应一般由接收者或客户端发起。

推送服务通常是基于提前的消息预设置上。也就是所谓的Publish/Subscribe 模型。客户通过订阅由服务器提供各种消息的频道,不论何时都可以在其中一个频道得到新的内容,同样服务器通过推送把消息传递给相应的客户端。

*本文大部分材料摘自Wikipedia.orgCSDN博客GitHub并优化和删节,本文提及但不讨论除手机以外的终端,如有侵权请联系im#moedev.net

目前广泛应用的消息推送

不同的操作系统常采用不同的推送机制:

Apple/iOS

Apple于2008年6月9日首次公布这项服务,并在2009年6月17日随iOS 3.0推出了Apple推送通知服务(Apple Push Notification Service,简称APNs)。此项服务于iOS的通知中心整合后大幅加强了推送和本地通知的用户体验,并于API的形式添加到Max OS X Lion中。

APNS Logo.png

服务器使用APNs向联网用户推送服务器邮件、日历和联系信息。像是iPhone一类的设备和邮件、日历一类的应用都能收到来自Mac OS X服务器的推送通知。推送通知相较后台进程(使用拉取技术)能更好地维持电池寿命。

Google/Android

GCM

Google云端推送(英语:Google Cloud Messaging,简称GCM)是一项免费服务,帮助开发者从服务器发送数据到安装了他们的应用程序的Android设备上,或从服务器到其Chrome浏览器应用程序或扩展。GCM第一次亮相是在2012年6月27日在旧金山Moscone中心举行的Google I/O 2012。Chrome上的推送服务在Google I/O 2013之前发布,官方博客文章题为“用推送消息构建高效的应用程序和扩展”。

Firebase

2018年4月10日Google Cloud Messaging已被弃用,并已从Google API中删除。与此同时,火力基地/Firebase(Firebase Cloud Messaging,简称FCM)取代了其位置。

火力基地