工信部安卓统一推送标准详解
今年6月,工信部电信研究院旗下泰尔终端实验室宣布“安卓统一推送标准”已取得阶段性成果,其正在联合包括华为、OPPO、vivo、小米、三星、魅族、金立、努比亚、谷歌、百度、阿里巴巴、腾讯、个推、极光等国外内主要相关企业共同制定“安卓统一推送服务(UPS)”技术标准,目前该标准已经进入厂商招募阶段。下面跟着学习啦小编一起来看看吧。
工信部安卓统一推送标准详解
据悉,关于“安卓统一推送服务”的架构体系,国内主流安卓软硬件厂商和信息推送服务商已经基本达成一致:
未来将由终端厂商提供系统级推送服务(类似APNS的唯一推送通道),确保App的推送消息接收;相应的不再允许各App在后台保留常连接,降低终端能耗、提升用户体验。与此同时,各终端厂商实现推送通道接口和功能统一,方便开发者接入。另外,第三方推送服务商原则上也遵循统一推送的标准,保证服务一致性,降低开发者学习成本。
那么这个“安卓统一推送服务”将解决那些问题或者带来哪些好处呢?由于国内安卓生态并没有接入Google推出的GCM统一推送体系,国内的安卓手机大都采用自有信息推送服务,或是第三方推送服务体系,而这也产生了诸多问题,例如应用为了接收消息而采取的“自启动”、“相互拉起”等“保活”行为将不被允许,利用“透传消息拉起App”的行为也被禁止。在建立统一推送机制后,推送链接将会合并为一条,同时,应用不需要为了接收推送消息而“保活”,从而能降低手机能耗、节约系统资源。
此外,新的统一推送标准原则上也不支持推送消息的定制化(包括消息样式的定制化以及提示音的个性化,通知栏图标不允许使用外链),从而保证消息推送的公平性和用户界面的一致性。
在减少对用户打扰方面,新的统一推送标准将帮助开发者提高推送的准确性,在推送通道中定义了批量推动消息的信息反馈机制,在消息过期后将每次推送的最终情况(展示、拒绝或其他类型错误)返回给开发者,帮助开发者不断根据反馈信息提升消息推送的准确度。
同时,新的统一推送标准对于滥用推送消息也将进行限制,对于用户点击率很低或用户消息屏蔽较多的App,可能采取包括限制推送条数、拉入黑名单等惩罚性措施。
在减少开发者负担方面,未来各终端厂商将提供系统级API来实现推送功能(即App无需嵌入各通道SDK)。为了兼容已有机型,手机端也会提供一个简单的SDK,判断手机是否支持统一推送。若支持则可以直接调用ROM API,否则按照当前已有方式进行推送(为了适配已有机型还需要保留推送SDK)。
安卓APP五大乱象
程序产生缓存等垃圾,这我当然早就知道,PC电脑中一样存在,是个不起眼的小事,使用卫士或者管家类产品一键就能清扫干净。但这在手机上其实并不是一件小事。
第一,智能手机降低了使用门槛,老人小孩都能用,他们对技术完全不懂,更不懂得安装专门工具;第二,手机空间不足是天然瓶颈,不像电脑硬盘动辄1TB、2TB,智能手机目前最大内置存储卡也就128GB,国内80%的手机空间不足4GB!
如果这么小的空间再被垃圾文件浪费掉,实在不应该。说实话,从开发的角度来说,这真的不是难事,或许就是增加一段代码。但事实恰恰相反,许多智能手机尤其是安卓手机就是一个大垃圾场!
作为一名移动应用开发者,我自己都看不过去。包括我的产品在内,许多APP在手机里乱放垃圾,手机空间不足与APP的不规范开发息息相关。下面我列举了安卓APP开发中的五个不规范之处,希望能引起同行的重视。
1、卸载不干净
在苹果iOS平台上,一个APP卸载后就被完全删除干净;但安卓上大量的APP屁股总擦不干净,卸载后仍然残留了许多文件。尤其是视频类、音乐类等的APP,残留文件更大,往往高达数百MB。
为什么卸载不干净?我仔细研究了下发现,许多APP开发者为了方便自己获取文件,没有把APP产生的缓存文件放在规范的目录里,而是存放在SD卡的根目录中。实际上,SD卡根目录下的文件夹在卸载之后,不能被删除。即使用户卸载了这个软件,APP运行中产生的缓存文件仍会残留在SD卡中,占用手机大量空间。
2、缓存不自动清理
以新闻客户端类APP举例,用户每次预览新闻后,总会留下大量的文字、照片或视频缓存,存放在SD卡中android/data目录下。缓存是为了提高重复访问的速度和节省流量,但其实新闻有很强的时效性,昨天看过的新闻几乎不会再次打开,这些缓存信息就一点儿价值都没有,占用了大量空间,用户不知道去哪里删除,这些APP也不自觉,均不会自动清理。
3、频繁后台联网自升级
有统计数据发现,约有20%的常用APP即使不运行时也在后台启动联网。它们在做什么?主要是提交产品及用户使用信息、获取广告、查询是否升级等。而每次APP升级安装后,新的安装包却仍然留在了手机中,变成了无用垃圾文件,同样会造成用户手机的流量和空间无谓地消耗。
4、广告插件
熟知安卓生态圈的开发者戏称:安卓软件包里,三成是软件功能代码,七成是广告代码,而苹果则是倒过来的。在中国,这种情况显得特别严重。一切因为特殊的国情:愿意为软件付费的人寥寥,免费软件总得想办法挣钱。
挣钱的出路在哪里?看起来似乎只有广告。经常看到一个软件捆绑20个以上的广告插件,这些插件由超过50家安卓广告联盟厂商开发并免费提供。
这种不健康的现状使得安卓应用软件极不纯粹,运行时自然会占用较多的存储资源、网络资源、CPU时间乃至手机电量。
本来安卓软件可以做得更小巧、更节省空间。但由于广告插件过多,软件体积必然增大,被打包软件下载的广告资源分布在存储卡的各个角落,并且越积越多。同时,由于手机总是联网下载这些广告资源,手机流量和电量都被浪费了。
5、诱导推广APP下载
免费APP另一个挣钱的办法是推广其他APP。推广的方式当然也可以称为是广告,目前很多不是按浏览付费,而是按效果付费(CPA),也就是你帮我真真实实地推广了多少安装用户,我才给广告费。因此为了提高收入,提高推广量,不少APP的广告含有特别强的诱导性,能全屏的就全屏,能用美女图的就上美女。
比如,在APP内展示全屏广告,用户只要一次误点击,推广的APP就被下载安装了。小白用户手机中许多莫名其妙的APP就是这么被安装上的,基本称得上是被强奸,准确说是被诱奸。
再比如,“积分墙”广告目前在APP中也比较常见,就是在应用内展示积分任务,任务之一就是下载安装推广的一个应用。装了就能获得3000积分,继续闯关,不装?直接Game Over!这种广告在游戏APP中最常见。
用户“被推广”安装的这些APP大多不是用户本意需要的,如果不卸载同样白白占用了空间。
APP的修养
为什么移动应用存在上述这么多不规范之处?首先不可推脱的是,他们对手机垃圾处理的忽视、对消费者的不负责任;其次APP本身免费,为了获得营收,故而采取了灰色手段;此外,安卓这个生态系统也存在一些缺陷。
众所周知,安卓系统是个开放平台,代码全部开源,许多手机厂商还开发了各种定制系统。APP程序数据想放哪里就放哪里,几乎不受约束。另外,安卓的应用商店不同于苹果iOS只有一个App Store,数量可谓多如牛毛。仅在国内,安卓应用商店就有上百个。
多则乱,这些应用商店对上架APP的审核标准不一,多数审核不够严格,有的甚至为了获取分发营收就对不规范的APP睁一只眼闭一只眼。安卓系统的开放以及应用审核的不严格就给了APP开发不够规范、存在灰色地带的空间。
安卓已经是全球最大的移动平台,用户越来越多,它不应该是一个大垃圾场。虽然身份卑微,我也呼吁所有的移动开发者要重视用户体验,还要树立环保意识。借用一位大人物的话,就是要寻求可持续发展。