烦人的安卓推送有治了!「统一推送联盟」建立的背后

2019-10-09 18:12:04 9点赞 13收藏 27评论

成立于2017年底的统一推送联盟(Unified Push Alliance)是由国家工信部牵头,由中国信息通信研究院泰尔终端实验室倡导,联合了华为、OPPO、vivo、小米等多家国产智能手机品牌联合成立的“安卓统一推送联盟”。

烦人的安卓推送有治了!「统一推送联盟」建立的背后

这家机构成立的初衷就是为了解决你手机上的应用推送服务问题。在最近,统一推送联盟又传出新的进展:

25日,统一推送联盟官方宣布,已收到华为技术有限公司、广东欧珀移动通信有限公司、深圳市万普拉斯科技有限公司、深圳市锐尔觅移动通信有限公司四家公司的的进度确认,均已经按照联盟标准《T-UPA0002-2019统一推送接口层规范》最新版本,完成了开发工作。这意味着,符合联盟标准的统一推送服务,将覆盖华为、荣耀、OPPO、realme、一加五个品牌的手机。

烦人的安卓推送有治了!「统一推送联盟」建立的背后

这样做的后续会对我们产生怎样的影响?

烦人的安卓推送有治了!「统一推送联盟」建立的背后

什么是推送?

这是需要弄明白的第一个问题。

这个问题很简单,我们当前使用的智能手机随时随地都可能会收到来自应用的消息推送。比如大家日常最常用到的微信。当你收到朋友发过来的微信消息时,手机就会弹出消息通知,这条消息其实就是经过你手机相应的推送机制推送过来的信息。

烦人的安卓推送有治了!「统一推送联盟」建立的背后

需要注意的是,推送信息其实是在手机没有打开应用,甚至是应用都没有在后台常驻的情况下收到的。要做到这一点,其实背后就牵涉到手机的信息推送原理。

如果你使用的是iPhone,这套信息推送机制名为APNs(Apple Push Notification service)中文翻译为:苹果推送通知服务。它的主要工作原理是:

烦人的安卓推送有治了!「统一推送联盟」建立的背后

前期应用程序申请消息推送服务,你的设备会向APNs服务器发送注册请求;APNs服务器接受请求,并将deviceToken返给你设备上的应用程序 ;客户端应用程序将deviceToken发送给后台服务器程序,后台接收并储存;后台服务器向APNs服务器发送推送消息 ; APNs服务器将消息发给deviceToken对应设备上的应用程序。

烦人的安卓推送有治了!「统一推送联盟」建立的背后

看起来比较复杂,其实很好理解:用户发送信息给你,应用就会将这条信息的提醒内容推送到苹果的服务器端,再由苹果的服务器中转发送到微信目标用户。于是,你的手机上就会弹出信息通知。换句话说,Apple的服务器在其中扮演了一个中继站的角色。

APNs的好处是能够使得应用在未唤醒的条件下,就能实现信息推送,避免了应用常驻后台带来的功耗,应用程序也不用随时保持网络连接,同时也不用安装额外的SDK。

烦人的安卓推送有治了!「统一推送联盟」建立的背后

安卓生态混乱的推送机制

那么安卓手机的推送机制是怎么样的呢?其实原理大致和苹果的APNs差不多,但却存在一系列的现实问题。

烦人的安卓推送有治了!「统一推送联盟」建立的背后

目前安卓的推送服务名为GCM(Google Cloud Messaging),译为Google云端通讯。它能够让第三方应用的开发者把通知消息或信息从服务器发送到所有使用这个应用的安卓系统或Chrome浏览器的应用或拓展上。(需要说明的是,在2016年的I/O大会上,谷歌推出了全新服务Firebase,并启用了FCM(Firebase Cloud Messaging)推送服务。根据谷歌的计划,FCM服务将替代GCM,二者在核心工作原理上类似)。

但问题是,由于众所周知的原因,包括FCM在内的一系列谷歌服务在国内并不能正常使用,要想实现国产安卓手机的信息推送就不得不想其他的办法。具体来说,目前国内安卓生态的信息推送机制大概有三种。

烦人的安卓推送有治了!「统一推送联盟」建立的背后

第一种就是应用自身单独建立推送服务。采用这种做法的是微信、QQ等这类具备自己搭建服务器,建立消息推送渠道能力的超级应用。由于这类即时通讯类应用对于信息及时推送的需求更加迫切,所以他们背后的厂商花了很大的代价去建立推送渠道。日常工作时,系统后台需要驻留一个推送服务,便可实现相应的实时的信息推送。而对于这类用户数量庞大的超级应用,大多数的系统都会放宽其常驻后台的权限,确保不会被系统清理掉进程。

烦人的安卓推送有治了!「统一推送联盟」建立的背后

第二类就是手机厂商搭建的消息推送服务。在国内目前出货量排名靠前的手机厂商都在自家的定制化UI上做了一套和FCM类似的信息推送机制,比如小米的MiPush,华为的HMS 等等。和安卓的FCM一样,它有专门的服务器将来自各个应用的信息中转到用户手机上,用户手机的后台只需要运行这一个推送服务,就能收到无数应用的推送消息。

但问题是,对于开发者来说面对不同手机品牌建立的推送机制,开发者就需要在应用内加入不同的SDK。这样一来,就面临应用臃肿,后期升级维护麻烦等问题。尤其是对于一些小的开发者来说,针对不同的品牌做应用匹配并不现实。

烦人的安卓推送有治了!「统一推送联盟」建立的背后

第三类是借助第三方的信息推送平台,比如国内的极光、友盟等等。有的个人开发者没有足够的精力给自己的应用做消息推送。于是他们接入一个具备分享、消息推送等功能SDK,就能实现信息推送功能。

这样做虽然省事,但对用户并不是很友好。很多时候,这类应用会相互唤醒其他应用了同样SDK 的应用,导致大量的应用进程在后台被唤醒、驻留。另外这些第三方的SDK由于缺少手机厂商的支持,其停留在后台的服务很容易被系统被干掉,导致消息推送的不及时。

如此一来,对于国内安卓用户而言,我们手机上安装的应用可能会存在不用的信息推送机制。这些应用之间由于信息推送机制的不规范,往往存在交叉唤醒、链式启动的现象,于是我们的手机就变得更加耗电和卡顿。

烦人的安卓推送有治了!「统一推送联盟」建立的背后

试想一下,如果你的手机装了BAT的APP,也装了其他第三方的APP。你的手机为了实现即时信息的推送,就需要保持和腾讯、阿里、百度服务器的连接,同时还要保持其他第三方服务器的连接。为了保证能把消息及时推送,很多APP就在后台保持活跃。

在维持如此多长连接和APP活跃的情况下,要想实现手机不卡顿就只能加大手机的运存以及提升手机的硬件性能,比如电池容量以及处理器性能等等。

而在原生安卓以及iOS上,手机只需要保持和谷歌、苹果的服务器链接就可以了。

烦人的安卓推送有治了!「统一推送联盟」建立的背后

联盟建立的作用

这么看来,国产安卓生态其实一直都缺乏一个统一的信息推送平台。统一推送联盟(Unified Push Alliance)的建立其实就是为了建立一个这样的平台。

烦人的安卓推送有治了!「统一推送联盟」建立的背后

为了给手机用户提供更好的使用体验,统一推送联盟联合「Android绿色应用公约」倡议互联网服务提供商和 APP独立开发者未来采用统一推送的解决方案,并放弃非必要后台行为,包括:

  • 不在启动应用时强制请求『读取手机状态和身份(READ_PHONE_STATE)』权限。

  • App限制交叉唤醒、链式启动。除用户的主动交互触发外,避免启动其它应用未处于运行中的进程。

  • App让设备CPU尽可能处于休眠状态,请求唤醒CPU的周期性任务时间间隔尽可能大于1小时,并避免在不必要的时间段(如夜间)继续调度周期性事件。

  • App避免不必要常驻后台的行为。在应用进入后台的短时间内须停止所有后台服务,且在除了收到广播和正常触发的后台行为期间不可以再启动新的后台服务。

在公布的《统一推送技术要求和测试方法》文件中,统一推送联盟提出了对各终端厂商制定推送基本技术指标和测试方法的要求。

如空载流量应小于 300kB/日、空载功耗应小于 40mAh/日,前者是指终端接入数据网络(不包括 Wi-Fi)且推送通道待机状态下,无消息推送时,流量消耗大小;后者指终端在熄屏条件下,接入数据网络,无推送消息时,推送服务消耗的功耗。

烦人的安卓推送有治了!「统一推送联盟」建立的背后

一个统一、规范的推送平台的建立,对于各方来说都是有利的。应用开发商、手机厂商省去了自建信息推送机制的建设和维护成本。个人开发者能够减少应用开发和维护的工作量,降低应用开发成本。而对于消费者而言,手机后台不用驻留那么多各式各样的服务和应用,也能有效避免一些流氓应用为了保持活跃度而频繁唤醒而造成的手机卡顿、耗电量激增等问题,改善了国内安卓用户的手机使用体验。

烦人的安卓推送有治了!「统一推送联盟」建立的背后

需要注意的是,在统一推送联盟的官网会员单位中我们可以看到谷歌公司也位列其中。很明显,谷歌也参与到了这次推送联盟的组建之中来。在国内安卓生态的基础上建立统一平台这件事情上,谷歌的经验和技术值得借鉴和学习。此外,平台建立之后能一定程度上改善国内安卓系统的使用体验,谷歌自然也乐见其成。

那么什么时候能够正式用上采用统一推送标准的应用呢?

从联盟公布的时间表来看,2019 年 3 月 1 日将开始统一推送标准符合性测试,2019 年 12 月 31 日开始兼容现有各推送通道的统一推送标准。也就是说,明年我们国内的主流手机应用有望用上统一推送联盟的推送服务。

前面我们提到,包括华为、OPPO、一加、Realme在内的国产手机厂商已经完成了前期开发工作。接下来,其他的手机厂商也必将持续跟进。联盟也表示,后续将持续跟踪并公布厂商统一推送服务上线情况及具体接入方案,并对统一推送的实网性能开展测试。

从本质上看,安卓生态目前存在的一系列问题本质上还是因为其开源特性所天生具备的碎片化和不规范问题所导致。尤其是在国内完全不同的市场环境下,这样的问题越发明显。由国家相关部门牵头,联合各行业巨头共同建立起一套完整、统一的行业规范是很有必要的。或许未来我们还将看到更多类似平台或者准则的建立,很多目前存在的安卓生态问题将得到规范,安卓用户长期诟病的问题也将得到进一步缓解。


展开 收起

OnePlus 一加 12 5G手机 骁龙8Gen3

OnePlus 一加 12 5G手机 骁龙8Gen3

3829元起

OnePlus 一加 12 5G手机 16GB+512GB 留白 骁龙8Gen3

OnePlus 一加 12 5G手机 16GB+512GB 留白 骁龙8Gen3

4229元起

Xiaomi 小米 14 5G手机 骁龙8Gen3

Xiaomi 小米 14 5G手机 骁龙8Gen3

3469元起

OnePlus 一加 Ace 3 5G手机

OnePlus 一加 Ace 3 5G手机

2282元起

Xiaomi 小米 14 Ultra 5G手机

Xiaomi 小米 14 Ultra 5G手机

5719元起

Redmi 红米 K70 5G手机

Redmi 红米 K70 5G手机

2116元起

realme 真我 GT5 Pro 5G手机 骁龙8Gen3

realme 真我 GT5 Pro 5G手机 骁龙8Gen3

2997元起

Xiaomi 小米 13 5G手机 第二代骁龙8

Xiaomi 小米 13 5G手机 第二代骁龙8

1759元起

Redmi 红米 Note 12 Turbo 5G手机

Redmi 红米 Note 12 Turbo 5G手机

1325元起

Xiaomi 小米 14 Pro 5G手机 骁龙8Gen3

Xiaomi 小米 14 Pro 5G手机 骁龙8Gen3

3987.5元起

HONOR 荣耀 Magic6 5G手机 骁龙8Gen3

HONOR 荣耀 Magic6 5G手机 骁龙8Gen3

3684元起

HONOR 荣耀 Magic6 Pro 5G手机 骁龙8Gen3

HONOR 荣耀 Magic6 Pro 5G手机 骁龙8Gen3

4640元起

vivo X100 Pro 5G手机

vivo X100 Pro 5G手机

4499元起

vivo X Fold3 5G折叠屏手机

vivo X Fold3 5G折叠屏手机

6899元起

Redmi 红米 K70 Pro 5G手机 骁龙8Gen3

Redmi 红米 K70 Pro 5G手机 骁龙8Gen3

2702元起

OPPO Find X7 Ultra 5G手机 骁龙8Gen3

OPPO Find X7 Ultra 5G手机 骁龙8Gen3

4923元起
27评论

  • 精彩
  • 最新
  • 一群毒瘤参加的联盟。。无语了

    校验提示文案

    提交
  • 我能用上的谷歌的FCM推送就行了,系统级别推送才是最省电的,第三方的又不安全且费电

    校验提示文案

    提交
    国内rom把fcm后台杀得亲妈都不认识了...微信play版强制走过fcm,熄屏消息无提醒、漏接通话是常有的事。

    校验提示文案

    提交
    收起所有回复
  • 让他们建个广告推送联盟倒是会很积极,我猜肯定还很快 [绷带] [绷带] [绷带]

    校验提示文案

    提交
  • 搞了这么多年了也没出来,烂尾的可能很大。华为、荣耀、OPPO、realme、一加,说是5个品牌其实只有华为和oppo而已

    校验提示文案

    提交
  • 16年到现在的联盟,还没正式实施。。

    校验提示文案

    提交
  • 1.对于国内app生态是好的,但微信大概率我不要你以为我要我以为;
    2.截图不愧是adui [捂嘴]

    校验提示文案

    提交
  • 两年前用华为mate 8 那时候第一次用闲鱼 发现只能打开进去后 才能收到通知和看到谁找过你 如果挂后台的话只能亮屏的那一刹那接受到 那时候如果挂了东西上去想知道有没有人拍了过询问 每天都得自动自觉打开咸鱼 不然权限通知自启动什么的全开了都没用 两年后换了爱疯 发现根本没有这么麻烦 全部都能接受到 哪个想接想不接都能自己控制 最近开始玩米家防盗 发现还是对苹果支持最好 报警手机会自动响铃(app发出响铃 像是微信语音通话那种优先级别)和通知栏通知 而父母的oppo怎么设置都不行 从谷歌商店重新下载的米家都不行 最后解决办法是把米家关闭后台并上锁不清理 才能仅仅接受到通知栏通知 但没有app响铃 换言之那一声通知没听到就不能及时知道了 幸好现在按手机都比较多 姐姐的华为却相反 有响铃没有通知。。。综上所述 想通知完整 如果玩米家就用小米手机和爱疯吧

    校验提示文案

    提交
    哥,吐槽就好好吐槽,咱能把标点符号加上吗。。。

    校验提示文案

    提交
    收起所有回复
  • 只有你想不到,没有流氓做不到,老实得一段时间,不要小看国人的智慧.....

    校验提示文案

    提交
    只要AT老老实实就行,其他的卸载不影响生活。

    校验提示文案

    提交
    收起所有回复
  • Socialism最大的优点就是善于克服Capitalism不存在的困难

    校验提示文案

    提交
  • 不了了之。

    校验提示文案

    提交
  • 谷歌居然在最后... [黑线]

    校验提示文案

    提交
  • 联盟最后就怕变成 谁充值就推送

    校验提示文案

    提交
    竞价推送 成了

    校验提示文案

    提交
    泰尔实验室牵头搞的,不会变成这样的

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 东西还是好东西,但是看起来大家都不怎么看好的样子

    校验提示文案

    提交
  • 我要是用的境外的APP不在这个联盟呢?是不是还是收不到推送,或者必须APP一直后台啊

    校验提示文案

    提交
  • 所以这个就解释了为啥小米和华为的微信比苹果的快一拍。国内安卓微信自当是自己推送自己接收,同步完成,提醒即有;而苹果提醒打开还要收发...

    校验提示文案

    提交
    安卓后台是常驻,不停的激活收发,苹果是从服务器中转过来,所以你会发现安卓开着微信耗电非常大而苹果不会,类似的还有好几个通讯app,比如某宝的旺旺,那个耗电更是夸张,别问我为何知道,我是两种手机都仔细观察过了的

    校验提示文案

    提交
    收起所有回复
  • 这个蛋糕给国内手机厂分不太妥, 会影响手机商的利益,这个牵头方式 底层统一的供应商比较好,比如说系统方, 或者通信方,可惜一个不给,一个是没能力, 华为是不得不牵头, 如果阿里腾讯什么的参与进来会不会好一点。

    校验提示文案

    提交
  • 以后除了统一推送联盟的广告,其他都可以清净了。

    校验提示文案

    提交
  • 都过去两年了 还没什么大的动作

    校验提示文案

    提交
  • 8.0就能关推送和自动唤醒了,都还活在8.0之前吗?还搞这种所谓的联盟,一看就知道几个厂商为自己谋私利的

    校验提示文案

    提交
  • 麻蛋,mete20张大妈信息直接不推送,怎么设置不行,坑爹的9.1

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
13
扫一下,分享更方便,购买更轻松