历史演进
早期安卓版本
2008-2010
在安卓系统的早期版本中,消息推送主要依赖于简单的轮询机制,应用会定期向服务器请求新数据。这种方法效率低下,导致电池消耗大且延迟较高。谷歌在 2010 年推出了 Google Cloud to Device Messaging (C2DM) 服务,作为早期的消息推送解决方案。
Google Cloud Messaging
2012
为了改进消息推送,谷歌在 2012 年推出了 GCM,作为 C2DM 的继任者。GCM 提供了更高效的消息推送服务,但依赖于 Google Play 服务。在国内,许多设备无法使用 GCM,因为它依赖于 Google 的服务框架,这在中国受限。
国内安卓设备的快速普及
2012-2015
随着国内安卓设备的快速普及,各大厂商(如华为、小米、OPPO、Vivo 等)开始对安卓系统进行深度定制。这些厂商为了优化电池寿命和系统性能,采用了各种后台管理和应用限制策略,导致消息推送服务的稳定性和及时性受到影响。
推送服务多样化
2015-至今
由于无法使用 GCM,国内涌现了许多第三方推送服务(如极光推送、个推、友盟推送等)。这些服务各自为政,缺乏统一标准,导致开发者需要适配多个推送服务,增加了开发复杂度。同时,这些第三方服务的稳定性和覆盖面也参差不齐,进一步加剧了消息推送问题。
系统优化和权限管理的加强
2015-至今
随着安卓设备硬件性能的提升和用户对电池寿命要求的提高,各大厂商进一步加强了系统的优化和权限管理策略。例如,限制后台进程、自启动管理、休眠模式等措施虽然有效延长了电池寿命,但也导致了应用在后台被杀掉,从而影响了消息推送的及时性。
推送方案
目前可用的推送方案:谷歌 GCM/FCM、厂商自带推送、第三方推送、统一推送联盟。
统一推送联盟
参与的厂商
截至目前,已经有多家国内主要手机厂商参与并逐步实施统一推送联盟的标准。这些厂商包括:
- 华为
- 小米
- OPPO
- Vivo
- 魅族
- 中兴
- 一加
这些厂商在新发布的设备和系统更新中,逐步集成和支持统一推送联盟的标准,以改善消息推送的一致性和效率。
优势和劣势
优点:
- 统一标准:减少不同推送服务之间的碎片化问题,开发者只需适配一个标准即可覆盖所有支持的设备。
- 资源节省:通过统一的推送机制,减少重复推送和后台进程,提升电池续航和系统性能。
- 行业支持:得到了国内主要厂商的支持,有助于提升消息推送的整体质量和用户体验。
缺点:
- 实施推广难度:虽然得到了主要厂商的支持,但要全面推广和普及仍需时间,尤其是在老旧设备和小厂商设备上。
- 技术挑战:将各家厂商已有的推送系统和新标准进行整合,并确保兼容性和稳定性,面临一定的技术挑战。
谷歌、厂商、第三方方案
对比 GCM、厂商自带推送和第三方推送服务
Google Cloud Messaging (GCM) / Firebase Cloud Messaging (FCM)
优点:
- 全球覆盖:GCM/FCM 由谷歌提供,拥有全球范围的基础设施和服务能力。
- 统一性:安卓系统原生支持,开发者只需对接一个推送服务即可覆盖所有设备。
- 高可靠性和及时性:谷歌的基础设施和技术保障了高可靠性和及时性。
缺点:
- 在国内受限:由于政策和网络环境的原因,国内许多安卓设备无法使用 GCM/FCM,导致消息推送无法正常工作。
- 依赖谷歌服务:需要设备预装 Google Play 服务框架,国内大部分设备不具备这一条件。
厂商自带推送服务
华为、小米、OPPO、vivo、魅族、中兴等
优点:
- 深度优化:厂商自带推送服务可以与其定制系统进行深度优化,提升推送的效率和电池管理。
- 兼容性:与自家设备高度兼容,能提供更好的用户体验。
缺点:
- 碎片化:不同厂商的推送服务互不兼容,开发者需要为不同厂商单独适配推送服务,增加开发和维护成本。
- 不一致的性能:由于不同厂商的技术水平和资源投入不同,推送服务的质量和可靠性不一致。
第三方推送服务
极光推送、个推、友盟推送等
优点:
- 广泛支持:第三方推送服务能够覆盖多个厂商和设备,减少开发者的适配工作量。
- 灵活性高:可以根据不同的需求和应用场景提供定制化的推送解决方案。
缺点:
- 稳定性和覆盖面有限:由于第三方推送服务需要依赖自身的服务器和网络,稳定性和覆盖面可能不如原生推送服务。
- 安全和隐私问题:第三方推送服务可能涉及用户数据传输和存储,存在一定的安全和隐私风险。
总结
- GCM/FCM:适合全球市场,但在国内受限。
- 厂商自带推送:与自家设备高度兼容,但存在碎片化问题。
- 第三方推送:覆盖广泛,灵活性高,但稳定性和隐私安全需注意。
- 统一推送联盟:有望解决国内安卓设备消息推送的碎片化问题,但全面推广和技术整合仍需时间。
统一推送联盟代表了国内消息推送服务整合和标准化的方向,有望在未来提供更加一致和高效的推送体验。
2 条评论
quixote125x · 2024年6月24日 14:18
三星国行版支持同意推送吗?国行手机出国后能支持谷歌推送吗?还有就是美版手机在国内用,如果使用加速器链接,可以使用谷歌推送吗?
何星星 · 2024年6月25日 13:44
三星手机国内版本早期一些款支持统一推送联盟,当前以早期的一些款国外版本仅支持 gcm。