天风天瑞两只基金已完成募资设立,总规模达2.5亿元,
06-18
雷锋网记者:本文作者@Tiger_张虎,云巴(yunba.io)创始人,yunba.io云实时消息服务。
极光推送创始人、前CTO。
Oracle VM 创始团队成员。
雷锋网已获得授权。
国内第三方推送的由来 2000年前后,Android手机在国内迅速发展。
Google原生推送(C2DM,现在的GCM)由于各种原因无法正常使用。
当时的Android开发者使用了各种方法来解决这个问题,包括Android手机厂商都开发了自己的推送解决方案。
对于大多数开发者来说,除了制作App之外,独立开发推送系统是极其困难的。
即使对于拥有大量用户的应用程序来说,这也不是一件容易的事。
于是在年底的时候,我就萌生了做一个独立的第三方推送服务的想法,也就是后来的极光推送。
推送消息传递的关键 近年来,业界朋友经常讨论推送消息传递的关键因素。
其实最重要的是SDK能不能活下去。
具体来说,有两个方面: 1、如果SDK不能及时发起心跳,会导致运营商网络上的长连接被断开。
2、如果SDK任务被杀死,无法拉起,消息将没有机会投递。
参考之前的文章:《推送技术原理:移动无线网络长连接》如果SDK端不能有效保活,那么无论服务器端如何优化,都无法保证消息的及时投递。
对于Android手机制造商来说,这里存在一个悖论。
这对于推送各种应用的效果来说是一件好事,但这在一定程度上破坏了Android系统的生态,增加了功耗,也违背了系统清理后台设计的初衷。
手机厂商都希望自己生产的手机能够拥有尽可能长的待机时间,但App定期在后台启动并保持心跳的行为会极大地影响手机的待机时间。
因此,近年来,手机厂商为了控制后台服务,不断推出各种限制。
例如,之前的心跳对齐不允许应用程序使用RTC在后台唤醒手机。
还有一个更严厉的方法,就是定期清理所有后台服务,不允许服务通过监听广播自动启动。
第三方推送已经死了。
前面提到,主流安卓手机最近都清理了后台服务,禁止服务自动启动。
过去第三方推送服务商的各种SDK保活方法相继失败,这个问题已经从根本上动摇了。
导致几乎所有Android第三方推送服务都无法保证送达。
面对这样的问题,App开发者该如何应对呢?更合理的解决方案是,由于推送服务的特性,它应该以系统原生服务的形式存在。
在iOS/Android系统推出初期,就考虑到了这个问题。
iOS 有 APN,Android 有 C2DM (GCM)。
遗憾的是,Android的GCM在国内已经无法有效使用,而且Android也没有尝试解决这个问题,把问题留给了手机厂商和App开发商。
考虑到推送服务的特点,我们很自然地想到通过厂商的推送渠道来解决这个问题,就像在iOS上使用APN一样。
使用App中的消息通道向App发送消息,然后通过厂商的推送通道唤醒App。
App打开后会接受消息通道的离线消息。
从目前的实践来看,这是解决后台进程被清理问题最有效的方法。
国内Android厂商推送渠道现状。
国内主要Android厂商中,小米、华为提供官方推送服务。

经我们团队核实,他们的推送服务在自有品牌手机上的投放率比较稳定。
目前表现最好的是小米。
华为的推送延迟有时比较大,不稳定。
其他OPPO、VIVO、金立没有官方推送服务。
云巴近期推出小米、华为推送服务一键集成功能,方便开发者快速集成厂商推送服务。
但对于不提供推送服务的厂商来说,目前还没有特别好的解决方案。
我们期待各大手机厂商针对这个问题提供解决方案,以便为App提供更好的体验。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-18
06-18
06-18
06-18
06-17
最新文章
Android旗舰之王的过去与未来
智能手表不被开发、AR眼镜被推迟,Meta的产品经历了一波三折
为什么Cybertruck是特斯拉史上最难造的车?
更新鸿蒙3后,文杰允许你在车里做PPT了
新起亚K3试驾体验:追求“性价比”,韩系汽车仍不想放弃
阿维塔15登场!汽车配备了增程动力,理想情况下会迎来新的对手吗?
马斯克宣布创建 ChatGPT 竞争对手! OpenAI的CEO给他泼了冷水, GPT-5可能会发生巨大变化
骁龙无处不在,是平台也是生态