锁定第三方应用 Play Service实为Google对抗衍生版本Android的一大利器。作为Goolge的闭源app,它随Google Apps套餐包一道被授权给OEM。任何功能由“正常版”Android移植到Google Play Services都意味着由开源走向闭源。这一招不仅想靠独家垄断的功能吊用户的胃口,目的还在于通过API的授权牢牢控制住第三方应用开发者。 脱离Google的应用生态系统似乎很容易:搭建自己的应用商店,说服开发者在上面投放app,然后你就可以独立发展了。可Google正在想方设 法加大第三方应用对自身平台的依赖性,一方面,选择在所谓“兼容”设备上开发app的开发者生存状态越来越好了,同时在Google Android体系外的开发者状况越来越糟糕了,其战略其实是把“Android App Ecosystem”变成了“Google Play Ecosystem”。 如果你使用了任何Google API接口,又试图在Kindle或其它AOSP版本上运行这个app:surprise! 你只能眼看着它崩溃了。Google Android占据了全球80%的市场份额,开发者真正关心的是app开发流程的简化,运行的流畅以及能否到达更多用户。而这些需求Google API都能轻松解决,美中不足在于你的app不得不依赖于Google Apps授权的设备。 Google Maps API 接入Google Maps便可获得Google地图数据的使用权,它为天气或旅行应用开发提供了很大的便利。唯一的问题在于,这部分Google服务并非开源的Android服务。选择Maps API内在地意味着选择Google兼容设备作为开发平台。 为此,亚马逊不得以只好使用诺基亚的授权地图数据并克隆了一套Google Maps API ,该公司甚至还专门提供了一张页面告诉开发者如何将app从Google Maps迁移出来。Google确实擅长优化自身的生态环境,这无形中就加大了外生态的生存难度系数。要在Kindle流畅运行你就得兼容两个不同的地图API。 这让Android衍生版本的处境很尴尬,这里亚马逊要么选择常年向诺基亚支服务付许可费用,要么就得自立门户重新开发一套地图出来。更甚之,亚马 逊还得时时紧跟Google的步调调整节奏:亚马逊的Maps API支持的是Google Maps API v1,但如果某开发者需要用到Maps v2 API中的新功能,亚马逊就有的忙了。 Google Cloud Messaging Google Cloud Messaging (GCM)是Android平台通知推送最简单易用的方式,但它永远也不会出现在AOSP版本上。2013年I/O 大会时,它被引入至Play Services。GCM的作用主要在于帮开发者跨平台同步推送即时消息。 Location APIs Google Maps API或许仅适用一批小众应用,但不管出于什么原因,越来越多的应用都需要嵌入消息推送功能。这也是不甘落后的亚马逊不得不复制过来的新功能。其衍生版本 叫做“Amazon Device Messaging”,仅支持亚马逊设备。跟Maps API的情况一样,亚马逊仍需追加苦工,但又不得不接受极小规模用户群体这一现实。而GCM的全部功能在Amazon版本可能属于集体缺位的状态,所以亚 马逊的工作量很大。 2013年Google I/O大会时,Google改版了Android Location API并将其纳入了Google Play Services服务项目。换句话说,Android最新的位置服务已属闭源之列了。如果上述例证足以参考的话,之前的开源地理位置服务只好自生自灭了。 新增功能除Fused Location Provider(据说采用了全新的位置算法)外,还有Geofencing和 Activity recognition,前者为用户提供基于地理位置的活动推荐服务,后者则结合加速计数据和精妙的算法判断用户的运动状态,如步行、骑自行车或才开车 ——皆无需开启GPS。 由于Maps API和GCM皆依托Google服务器运行,独立的app完全有理由将其整合进来。但综观整个地理位置服务有一种Goolgle的大手无处不在的感觉。 目前获得地理位置信息服务有两种方案,一是从Google获得节能而优质的闭源服务;二是选择蹩脚的、费电的开源服务。 |