09 29

不让应用联网,Flyme 还给我推送,这不合理吧

Posted in 2017
此文章分类在

观点

利益相关:魅族前员工
本文出发点只在于理清事情问题所在,希望得到回复,并不是想搞事情
手机:PRO 6s
系统:Flyme 6.2.0A

先说一下条件:

  1. 我将手机重置以后,刷上了最新的 Flyme 6.2.0A 系统;
  2. 我没有打开过任何一个系统级 app ;
  3. 不知道大家记不记得,这些系统 app 启动的时候都会有一个提示,向你索要联网权限(如图所示)。

遇到的问题:在我没有授权任何一个系统级 app 获取联网权限的情况下(压根就没有打开任何一个系统级 app ),我依然收到了视频 app 发来的推送,就是那条吴秀波摔下马的推送。

我的猜想:系统里面的推送服务自动运行,正常接收来自于推送平台服务端发来的推送请求,并且通知栏也会弹出推送消息,完全不会受到应用联网请求的限制。(这一点后面会具体说明)

理论上,系统推送服务是独立运行的,这一点没错,应用没有获得授权就弹出通知其实和应用的关系不大,主要问题在于推送平台没有和应用的服务器交互。

我对于这件事情的不爽的点在于:我没有授权系统应用联网权限,你还给我做推送,这不合理吧。

简单说说我理解的推送服务的原理

一般来说,Android 应用的推送有两种情况:

  1. 系统级别的推送;
  2. 应用内置推送服务;

P.S. Flyme 的推送服务属于系统级推送服务。

分别说明一下:

系统级别:系统内置推送服务,系统应用接入推送 SDK ,由运营人员在推送后台进行配置,然后由服务器发送消息到系统的推送服务器,推送服务去激活该应用,然后弹出通知。(简化流程图如下)

这样的好处是,这个应用不需要在后台运行,一样可以进行推送。这样的推送情况达到率非常高。

应用内置推送服务:应用内置第三方推送服务,但是有一个条件是应用必须获取自启权限,保持后台运行,才能及时收到推送。否则只能在用户主动打开的情况下才能获取推送情况,弹出通知窗。

这样的好处是,不会受到各个系统的限制,任何应用都可以使用;坏处也非常明显,推送到达率较低(如果用户不能自启运行,就收不到推送),因为要保持后台运行才能收到推送通知,所以必然会拖累手机性能,并且增加耗电量。如果遇到那个对后台进程管理很严格的系统,那估计就只能看用户的心情了。

补充一下,一些内置系统级别推送服务的 app 也是可以脱离系统推送来独立完成推送的,推送原理与第二种相似。

我的猜测

先解释一下我最开始的猜想:

  1. 这件事情实际上不算是系统应用这边的全责,主要问题应该在于推送平台;
  2. 推送服务和系统应用联网权限是互相独立运行的;
  3. 系统应用的联网授权情况没有和推送平台交互,以至于推送平台无法检测到具体某台手机的状态,而只是一味去执行推送任务;
  4. 也许是 Flyme 的各个业务方各自为政,推送平台作为公司战略级产品,也很难去获取到各个业务的具体数据情况,以至于对这个方面的监控没有做好。

也许用户不会对这件事情有太大的感知,但是我能猜测其中的实际情况是怎样,所以我才会去说这个逻辑是有问题的,正确的逻辑不应该是我没有授权的情况下,Flyme推送服务就不应该给我做出推送弹窗吗?

虽然这件事情本身不是系统应用的锅,但是推送任务由推送平台发起,由系统推送服务接收执行,在通知中心展示,用户点击以后通过桌面进程唤醒客户端,最后落地在客户端上(简化流程如下图)。所以,用户的感知到的只是我没有授权客户端,而你给我推送了,你的授权提示是忽悠我的,你 Flyme 把我当傻逼了。

阻碍 & 解决方案

这是一个小问题,但是在我看来却是非常影响用户体验的,我认为解决这个问题的阻碍有如下几个点:

  1. 如何让推送平台获取到应用授权的状态信息;
  2. 系统推送服务是否能直接从大数据系统中直接获取到授权埋点的情况;
  3. 应用内部的推送开关是如何和推送平台交互的,如果是通过大数据,那这样和第二点应该就是同理;
  4. 这样势必会让业务方的数据受到一定的影响,推送平台是否能承受吐槽?
  5. 如果通过大数据去获取数据,那么大数据的数据更新周期是否实时?

解决方案一:如果推送平台获取应用内部的推送开关的状态是通过大数据,那么应用授权情况,应该也是可以通过大数据来获取的,由推送平台进行去重,但是这个问题在于大数据是否能实时更新。

解决方案二:如果推送平台是通过应用中的 SDK 来获取数据的话,那么增加一个埋点,进行上报,由推送平台进行去重。

解决方案三:推送平台不做改动,让桌面去检测应用首次开启是否授权联网的状态,然后将这个数据发到通知中心,如果这个状态为否,收到推送以后,直接由通知中心给拦截到,不予以显示,这样用户也感受不到。

最后

我再三强调我不是想要搞事情,我只是希望 Flyme 推送平台的负责人(如果负责人没有换,我应该是认识的)能够看到这个问题,给一点回应吧。

我只是站在一个用户的角度去分析了这个问题,今天有人在微博上喷我,说我又不用魅族手机,瞎操什么心;也有人说,谁要你买不起 iPhone ,用魅族就默默忍受吧;还有人说,那个授权窗口就是和你客气客气。

我不愿意去管别人怎么评价,我只想说说我自己看到的事实。

谈不上多深刻,但试图说人话。

Comments
Write a Comment