Google Mobile Services (GMS) 技术分析

Written by

in

适用场景: 国行 ColorOS 设备启用 GMS 后的推送机制与隐私影响分析


什么是 GMS

Google Mobile Services 是 Google 为 Android 设备提供的一套闭源核心服务框架,包含:

组件 包名 功能
Google Play Services com.google.android.gms 核心服务: 定位 API、账号验证、SafetyNet/Play Integrity、推送(FCM)
Google Services Framework com.google.android.gsf GMS 底层通信框架,FCM 注册依赖此服务
Google Play Store com.android.vending 应用商店(可选,已用 Aurora Store 替代)
Google Account Manager com.google.android.gms (内置) Google 账号登录、OAuth 认证

GMS 不是 AOSP 的一部分,而是 Google 通过 MADA 协议 授权给厂商预装的专有软件。


国行设备的特殊情况

国行 Android 设备(OPPO/华为/小米/vivo 等)出厂时 GMS 通常处于以下状态:

厂商 GMS 状态 说明
OPPO (ColorOS) 预装但默认关闭 设置 → 系统更新 → Google Settings 中手动开启
华为 (2019 年后) 无 GMS 受美国制裁,完全依赖 HMS (Huawei Mobile Services)
小米 (MIUI) 预装但默认关闭 需手动开启,部分机型需通过 Google 安装器
vivo (OriginOS) 预装但默认关闭 与 OPPO 类似

OPPO 设备开启 GMS 的路径:设置 → 系统更新 → Google Settings

Google Settings - 开启 GMS

为什么国行默认关闭

  1. GMS 需要连接 Google 服务器(被 GFW 封锁),国内无法直连
  2. 工信部监管要求厂商不得默认启用境外服务
  3. 国内 App 生态不依赖 GMS,有独立的推送/支付/定位方案

Android 推送机制对比

FCM (Firebase Cloud Messaging) — Google 推送

App 服务端 → Google FCM 服务器 → GMS (com.google.android.gms) → 目标 App
  • 需要 GMS 运行 + 网络能连接 Google 服务器
  • 单一长连接复用所有应用的推送,省电
  • Signal、Telegram、Notion 等国际应用依赖 FCM

国内厂商推送通道

App 服务端 → 厂商推送服务器 → 厂商推送 SDK → 目标 App

OPPO Push: com.heytap.mcs
小米推送:   com.xiaomi.xmsf
华为推送:   com.huawei.hwid (HMS Push)
vivo Push:  com.vivo.pushservice
  • 不依赖 GMS
  • 每个厂商独立实现,App 需要集成对应 SDK
  • 国内 App 通常同时集成多个厂商的推送 SDK

App 自建长连接

App 客户端 ←→ App 自有服务器 (长连接/WebSocket)
  • 微信、QQ、支付宝等超级 App 使用自建推送
  • 不依赖 GMS 或厂商推送
  • 耗电较高(每个 App 维护独立连接)

统一推送联盟 (UPS)

App 服务端 → UPS 服务器 → 系统级推送服务 → 目标 App
  • 工信部推动的国内标准化推送方案
  • 目标是统一碎片化的厂商推送,但普及缓慢

本项目中的推送现状

已禁用的推送相关组件

包名 说明 影响
com.heytap.mcs OPPO/HeyTap 推送服务 部分国内 App 可能收不到后台推送
com.oplus.postmanservice OPPO 推送中间件 同上

各应用推送方式分析

应用 推送方式 GMS 关闭影响 OPPO Push 禁用影响
Signal FCM (首选) / WebSocket (降级) 降级为 WebSocket,延迟增加 无影响
Notion FCM 无推送 无影响
Firefox 不需要推送 无 无
微信 自建长连接 无影响 无影响
支付宝 自建长连接 + 厂商推送 无影响 可能丢失部分营销推送
QQ 自建长连接 无影响 无影响
Gboard 不依赖 GMS 核心功能 无影响 无影响

当前配置

  • GMS: 已开启(确保 Signal/Notion 等国际应用可通过 FCM 接收推送)
  • Google 账号: 未登录(减少 Google 数据采集)
  • OPPO Push: 已禁用(国内主流 App 有自建长连接,影响有限)

GMS 的隐私考量

GMS 开启后 Google 采集的数据

数据类型 说明 缓解措施
设备标识符 Android ID、设备型号、系统版本 无法完全避免
IP 地址 连接 Google 服务器时暴露 v2rayNG 代理流量
已安装应用列表 Play Protect 扫描 未登录 Google 账号,扫描范围有限
位置信息 Google 定位服务 可关闭 Google 位置精确度
FCM 推送元数据 哪些应用注册了推送、推送频率 无法避免(FCM 架构决定)

缓解策略

  1. 不登录 Google 账号 — 避免将设备数据与 Google 用户画像关联
  2. v2rayNG 全局代理 — Google 服务器看到的是代理 IP,不是真实 IP
  3. 关闭 Google 位置精确度 — 设置 → 位置 → Google 位置精确度 → 关闭
  4. 禁用 Google Play Store — 已用 Aurora Store 替代,减少 Google 数据面

与 OPPO 遥测的对比

GMS (Google) OPPO 遥测
数据去向 Google 服务器(美国) OPPO/HeyTap 服务器(中国)
透明度 有隐私政策、数据导出工具 不透明
用户控制 可关闭多数采集选项 系统级组件难以完全关闭
法律管辖 受 GDPR/CCPA 约束 受中国数据安全法约束

OPPO 账号与 Google 账号的共存

两套账号体系完全独立,互不冲突:

OPPO 账号 Google 账号
管理层 HeyTap 服务 Google Play Services
钱包/NFC OPPO Pay(银行卡、公交卡) Google Pay
推送 OPPO Push (HeyTap MCS) FCM
云同步 OPPO Cloud Google Drive
应用商店 OPPO 应用商店 Google Play Store

OPPO 账号用于 NFC 刷卡(银行卡、公交卡)等本地功能,开启 GMS 不影响这些功能。


最后更新: 2026-02-18