安卓PDA手持终端的GMS是什么?
海外客户问PDA有没有GMS,真正关心的往往是:业务软件能不能运行,应用从哪里安装,总部能不能把设备管起来。回答一句‘支持安卓应用’,并没有回答这三个问题。
先给出判断:海外使用不等于必须配GMS。业务软件依赖谷歌服务、客户要求通过Google Play分发应用,或现有管理方案明确要求相应谷歌服务时,应把GMS相关条件列为选型前提;纯内网、自研软件的项目则需要先核实软件和管理路径,再决定。

GMS是什么,为什么同样是安卓却会有差别?
GMS是Google Mobile Services的缩写,通常译为谷歌移动服务。它是一组由谷歌提供的应用和服务,Google Play商店和Google Play服务是采购时经常遇到的部分。前者用于获取和更新应用;后者在后台向应用提供某些功能所需的服务。两者不是同一个软件。
安卓开源项目叫AOSP,可以把它理解成厂商用来构建设备系统的一套开放源代码。GMS不属于AOSP,需要谷歌许可,所包含的应用也可能因国家和地区而不同。因此,一台PDA采用安卓系统,并不能据此判断它已具备GMS。具体说明可参阅Google对GMS的介绍。
扫码引擎读取条码、业务应用保存一条本地记录,与应用调用谷歌服务是不同的事情。前面的操作正常,不代表应用里的地图、消息通知或企业注册也一定正常。判断对象应是整个业务流程,而不是安卓版本或者桌面上有没有一个谷歌图标。

先分清安卓系统、谷歌服务与业务应用的依赖关系。
采购单上的几个名词,不能互相替代
| 名词 | 它回答什么 | 不能据此断定什么 |
|---|---|---|
| GMS | 设备是否具备经许可的谷歌应用与服务环境 | 不能保证每一个业务应用都兼容 |
| Play Protect设备认证 | 设备是否通过对应的安卓兼容性测试,并符合预装谷歌应用的相关要求 | 不能用一次安全扫描正常来代替认证状态检查 |
| Android Enterprise | 企业管理安卓设备所涉及的平台能力与管理方案 | 不是一台设备已接入客户管理平台的证明 |
| Android Enterprise Recommended,简称AER | 设备或方案是否满足谷歌该推荐计划的要求 | 不是GMS的另一个名字,不能从‘有GMS’推导出‘已获AER推荐’ |
| MDM | 企业所用的移动设备管理平台 | 不是安卓系统中一个统一、各平台功能完全相同的开关 |
Google明确区分设备认证与Play Protect的恶意应用防护功能。检查认证时,应看设备认证页面;检查AER时,应核对推荐目录中对应型号和版本。不要拿另一个型号的证明代替本次交付设备的材料。可分别查阅设备认证检查方法和AER设备要求。
哪些海外项目应先确认GMS?
应用明确依赖Google Play服务
有些软件运行时会调用Google Play服务提供的接口。接口就是应用向另一项服务请求功能的入口。应用即使安装完成,也可能在实际调用该功能时才报错。Google开发者文档说明了这些客户端代码与设备后台服务之间的关系,见Google Play服务工作方式。
不要只问‘软件里有没有地图’。更有效的问题是:地图用的是哪家服务,通知依赖哪种推送通道,登录或设备校验需要什么环境?地图、定位和推送都有不同实现方式,只有软件方确认了依赖,才能判断是否必须使用GMS设备。
客户要求从Google Play安装或统一下发应用
有的项目已经规定应用来源、升级渠道和企业审批流程。这时即使拿到安装包,也不意味着可以换一种安装方式交货。需要让客户IT部门确认:使用普通Google Play还是企业管理中的受管Google Play,应用是否已向本企业开放,设备应如何注册。
受管Google Play可以理解成企业控制下的应用分发渠道。它不等于让每名仓库员工都注册一个私人谷歌账号。账号、企业绑定和分发方式,应按客户实际采用的管理方案准备。
设备要接入海外总部已有的管理平台
客户说‘我们用某某MDM’,还需要继续问该平台采用哪种安卓注册方式、支持哪些系统和设备。以Google的Android Management API管理路径为例,它通过Android Device Policy执行策略,并有规定的设备注册流程,不能只安装一个普通应用就当作注册完成。可参阅Android Management API介绍。
如果客户已验证的部署路径要求GMS,就应按这条路径准备对应样机。不要为了降低硬件价格,先提供无GMS版本,再期待客户更换整套管理方式。
哪些项目可以评估无GMS版本?
如果PDA只运行企业自研的收货、盘点或生产应用,软件不依赖谷歌服务,应用和更新也由企业自行分发,那么无GMS版本可以进入评估范围。这里的前提是依赖已经核实,而不是因为软件只有几个页面就推测它不需要。
无GMS设备也可能采用厂商或第三方提供的管理方式,但支持范围需要另查。例如,Microsoft官方提供单独的AOSP注册路径,同时提醒其OEM支持有限。这说明‘不用GMS’与‘完全不能管理’不是一回事,也说明不能把一种MDM的AOSP支持推及所有PDA。见Microsoft安卓设备注册指南。
封闭网络项目还要区分两个要求:设备是否允许带有谷歌组件,以及现场是否允许连接外部服务。若项目明确禁止外网,不能仅凭设备具备GMS就承诺谷歌相关功能可用;应重新核对本地应用、更新和设备管理的完整路径。

采购前用项目实际应用验证登录、扫码和数据回传。
采购前,按这四项把条件核对清楚
先拿到正式软件清单。记录应用名称、版本、安装来源、软件负责人和必须使用的功能。请软件方列明谷歌服务依赖,特别是登录、通知、地图和设备完整性校验。只有一个安装包而没有依赖说明时,先安排样机测试。
再确认目的地与网络。测试地点应包括实际使用的国家或地区、仓库Wi-Fi和移动网络。询问客户IT是否存在外网限制、证书要求及防火墙策略。Google发布了Android Enterprise网络要求;具体项目还应补上软件和MDM厂商自己的网络条件。
向设备供应方索取本次交付版本的信息。至少包括准确型号、系统版本、固件版本、GMS版本选项、认证核实方式和后续更新安排。‘这个系列可以做GMS’不能代替已选配置的确认;样机与量产固件也应保持可核对的一致性。
用正式软件和客户管理平台做联合验证。把软件方、设备方与客户IT放在同一张验收清单上。某项失败后,应明确由谁提供日志、谁判断依赖、谁修改配置,避免硬件和软件双方只回答‘我们这边正常’。
样机怎样测,才不只是‘能打开应用’?
先记录样机型号和系统版本。在可使用Google Play的设备上,打开Google Play商店,依次进入个人资料图标、设置、关于,检查Play Protect认证状态。菜单名称可能随版本和语言变化。看不到商店、无法确认认证或状态异常时,应请厂商提供核实路径,不要自行补装一组谷歌安装包来替代交付认证。
随后使用项目计划采用的安装和注册方式,从设备初始化开始演练。已有业务数据的设备,先备份并取得重置授权;不要直接清空生产设备。完成注册后,检查企业应用是否到达、版本是否正确、权限是否符合要求。
业务测试至少走完一笔实际任务:登录,领取任务,扫码录入,调用项目需要的地图或通知,提交结果,再到后台确认入账。接着测试重启、断网后恢复、应用升级,以及换到现场网络后的表现。用同一个测试账号和同一条任务核对终端与后台,才能判断是设备环境、软件逻辑还是网络造成的问题。
若应用可安装却闪退,先看软件最低系统要求和运行日志;若地图或通知单独失效,查相应服务依赖、权限和网络;若只有企业注册失败,查MDM支持模式、注册令牌和设备状态。不要把所有异常归为‘没有GMS’,也不要因为有GMS就排除其他原因。
最终形成的采购条件应具体到:哪个型号、哪个固件、在什么网络下,使用哪个应用版本和管理模式,完成了哪些测试。对海外项目来说,这份可复现的结果,才足以支撑是否采用GMS版本的决定。











