华为HMS生态与应用开发实战
上QQ阅读APP看书,第一时间看更新

1.2.2 HMS生态发展历程

自华为进入智能手机领域后,华为应用市场和华为账号服务就一直伴随着华为智能手机持续地为消费者提供服务,其中华为账号服务是华为HMS生态首个面向开发者开放的服务。下面让我们先从华为账号服务的诞生开始,了解HMS生态的发展历程。

2011年年初,用户希望华为EMUI[1]提供一种“手机找回”功能。该功能的设想是:消费者在手机上打开“查找我的手机”开关,在联网状态下手机会把当前的位置等信息上报到华为云服务平台。后续如果手机丢失,消费者可以登录“查找手机”App或者登录“云空间”的网站进行手机的快速定位、响铃、锁定和擦除数据等操作,帮助消费者快速找回手机并进行隐私数据保护。

尽管“手机找回”功能的需求迫切,但开发团队却在研发过程中碰到了难题:用户手机的定位信息上报、丢失后查找与锁定都需要先获得用户授权许可。如果没有一套账号系统供消费者使用作为前提,则无法实现“手机找回”功能。因此,构建华为账号服务能力成了研发团队需要一并解决的问题。之后在2011年年中,华为账号能力构建完毕,并很快在“手机找回”“云空间”等手机服务上得以应用。2013年,华为账号的活跃用户数已经突破了2000万。初期的华为账号服务,主要是面向华为自有应用及消费者提供服务的,并未将账号的接入能力开放给广大的开发者。

2012年,华为终端在智能手机领域开始发力,加大高端智能手机的创新投入。同年末,华为成为全球第三大智能手机制造商,生态合作伙伴群体也初具规模。此时,一些游戏类开发者希望华为能够开放账号服务,以便借助华为账号的用户群体进一步扩大其游戏用户数。为了响应这一诉求,华为在2013年年底推出了华为账号面向开发者的首个OpenSDK版本,开发者的应用只需集成该SDK,即可快速拥有华为账号服务提供的登录授权功能。开发者无须构建自己的账号系统,也不必关注账号、密码的管理及烦琐的各类验证等实现细节,这样极大地降低了在华为手机上接入开发者应用的门槛。随着越来越多的开发者应用接入华为账号,华为又进一步把华为视频、华为音乐、华为阅读、华为主题等一系列的华为自有App统一到华为账号体系下,使得华为账号成为整个HMS生态的基础能力。

应用内支付服务也是最早开放给开发者的服务之一,它的构建灵感同样来自应用开发者。2011年,中国移动互联网业务蓬勃发展,其中尤以移动支付领域的发展最为迅速,包括支付宝、微信、银联等各类互联网支付渠道纷纷涌现,游戏开发者经常抱怨在开发支付能力的时候,需要集成多个支付SDK,导致集成的工作量激增。同时,各支付SDK的用户交互体验差异很大,令开发者头疼。

开发者们希望华为能够提供统一的应用内支付的能力,将各类互联网主流的支付渠道聚合起来,减轻其接入支付能力的工作量。作为回应,华为很快在2012年推出了应用内支付的首个SDK版本,HMS生态的开发者只需要接入华为应用内支付SDK,就可以具备多个渠道的支付能力,从而保障了消费者支付时的体验一致性。SDK版本推出后的第一周,单周接入开发者就超过了20家,深受开发者青睐。

随着接入华为应用内支付的开发者越来越多,新的支付方式不断加入,包括华为自有的Huawei Pay渠道、虚拟花币、运营商话费支付等方式,同时华为应用内支付还支持开发者对虚拟商品的定价管理。截至2019年华为应用内支付已覆盖了全球177个国家或地区,服务全球数以万计的HMS生态的开发者,成为开发者商业变现的关键服务之一。

另一个早期十分重要的Push服务,也是伴随着移动应用的产业发展应运而生的。众所周知,作为移动应用运营推广的关键能力,Apple公司从一开始就为iOS平台的应用开发者提供了完善的消息推送解决方案。实际上Google也在Android 2.2版本之后提供了基于C2DM(Android Cloud to Device Messaging)的推送能力。但是C2DM本身并不属于Android开源的一部分。同时由于一些其他的原因,Android开发者在国内使用C2DM有着众多的困难,国内Android的开发者一直到2012年尚没有完全免费、开放的Push服务可用。

回顾中国移动互联网的发展历程,2011~2012年恰好是移动互联网迅速发展的阶段,智能手机销量激增,移动应用层出不穷。Android应用市场的应用总数在此期间突破40万款,且每周都以2万~3万款的速度快速递增。移动开发者对应用推广、促活诉求与国内消息推送能力现状形成了巨大的反差。一些大的应用开发者通过自行搭建消息推送服务器来解决自身应用的推广与促活问题,而广大的中小型开发者则只能选择一些第三方的收费渠道。当时第三方Push平台的痛点是消息时延大、到达率比较低。各个厂商为了确保手机的功耗与安全,往往会对第三方的Push推送能力进行限制,这也使得利用第三方Push能力的应用推广与运营效果大打折扣。

随着2011年华为终端进入智能手机市场,为开发者解决在华为终端上的实时消息推送的问题就已提上日程。构建目标就是依托华为终端的厂商优势为开发者提供一条稳定、可靠、低时延的消息通道。2011年年底,消息推送的首个内测SDK版本推出后,华为邀请了多个开发者来进行试用。结果数据表明,华为Push服务的到达率与时延均明显优于市面上的第三方Push能力。到2012年初,华为Push服务的首个正式版本推出后,仅3个月的时间华为消息推送的活跃用户数就突破了100万,并在2012年年底总活跃用户数突破了1000万。

目前华为Push服务已经广泛服务于全球的开发者,并支持了对网页应用、iOS应用的消息推送能力,推送速度每秒最高可达百万级,消息量每日百亿级,月活跃用户数达到了5亿级别,成为开发者使用最广泛的HMS服务之一。

华为账号、华为Push和华为应用内支付形成了华为HMS生态早期能力开放的“三驾马车”。不过在能力构建初期,这三个服务都是烟囱式发展,能力之间没有太多的复用。随着HMS生态的持续开放,华为在2013年之后陆续开放了华为游戏服务、华为分析服务等多个能力,这种早期烟囱式的发展方式逐渐暴露出其弊端。因此在2015年HMS团队对这些开放能力进行了一次系统性重构,将各个能力公共的部分做了统一的封装,并抽取为公共的HMS Core,其他的每个能力基于HMS Core提供各自轻量级的SDK。

得益于这次重构,开发者需要集成的SDK体积变小,集成过程变得更加快捷,HMS Core的版本更新也更加独立。基于新的架构,HMS生态不断开放出新的能力,截至2019年8月,HMS生态中包含的开放能力及服务已经达到51个,服务全球170多个国家和地区数以百万计的开发者。HMS架构重构示意图如图1-9所示。

图1-9 HMS架构重构示意图

2020年1月15日对于华为HMS生态而言是一个重要里程碑,华为在消费者产品与战略发布会上正式向全球发布了HMS生态开放能力合集HMS Core 4.0。这其中除了运营已久的华为账号、应用内支付、消息推送等能力之外,还新增了开发者迫切需要的一些新能力,包括机器学习、统一扫码、近距离通信、安全检测、定位、数字版权、华为地图等多个服务。除此之外,华为HMS生态还提供了相机、AR、VR、HiAI等一系列系统与芯片级的能力。截至2020年4月,华为HMS生态已经累计开放了90项能力及服务,其中53项已面向海外开发者发布,HMS生态已经具备了“芯-端-云”全面助力开发者数字创新的能力。

[1] EMUI(Emotion User Interface)是华为基于Android进行开发的情感化用户界面。