Google Play 游戏服务 games v1 SDK 依赖于 Android 版 Google 登录,该功能已弃用,并将于 2025 年从 Google Play 服务 Auth SDK (com.google.android.gms:play-services-auth
) 中移除。新游戏应用可以在 2025 年之前使用 games v1。Google 登录的移除为现有游戏应用带来了依赖项问题。将现有游戏应用从 games v1 SDK 迁移到 games v2 SDK 可解决 Google 登录移除导致的依赖项问题。
本文档可帮助您了解游戏应用与各种 SDK 之间的交互。本文档还比较了应用的特性与 Play 游戏服务 games v1 和 games v2 SDK 的特性。
SDK 交互
这些图表说明了 Android 上的游戏应用、Google 移动服务 (GMS) Core、Play 游戏服务和第三方 (3P) 游戏服务器之间的交互。它重点说明了应用如何使用 Google 服务进行身份验证和游戏功能,同时还与单独的第三方系统进行交互。
games v2(当前)

games v1(旧版)

以下是组件和 SDK 的简要概览
- 游戏应用。
- 这代表用户在 Android 设备上运行的游戏应用。
- 它包含两个主要组件
- games v1 或 games v2 SDK。负责与 Play 游戏服务交互的客户端 SDK。
- Auth SDK。Google Play 服务 Auth SDK 负责处理 games v1 中的用户身份验证和授权流程。
- 两个 SDK 均使用 AIDL (Android Interface Definition Language) 进行通信,这表示不同进程或服务之间的通信模式。
- GMS Core,也称为 Google Play 服务。
- 这是 Android 上的 Google 专有层。
- 游戏应用使用两个 GMS Core 模块
- Games 模块。提供游戏专用功能,例如排行榜、成就和游戏状态管理。
- Auth 模块。处理用户身份验证和授权操作。
- 游戏应用中的 Games 和 Auth SDK 使用 AIDL 接口与相应的模块进行通信,这表示进程间通信 (IPC)。
- Play 游戏服务网关。
- 一个逻辑网关,用于协调 GMS Core 与 Play 游戏服务服务器之间的通信。
- 处理服务器通信的 API 请求、数据转换和身份验证。
- Play 游戏服务服务器。
- 代表 Play 游戏服务后端服务,负责存储游戏数据、管理用户帐户和促进多人游戏功能。
- 第三方游戏网关。
- 如果您的游戏应用符合第三方 (3P) 应用的条件,则客户端库通过第三方游戏服务器与 Play 游戏服务服务器进行通信。
- 这意味着该应用还可以使用不同的服务提供商进行身份验证。
- 第三方游戏服务器。
- 代表游戏应用可以与其交互的可选外部服务器,可能用于自定义功能或数据管理。
- 通过第三方游戏网关与应用进行通信。
功能比较
此表提供了 games v1 和 games v2 SDK 之间的功能比较
功能 |
games v1 SDK |
games v2 SDK |
---|---|---|
身份验证 |
需要与 play-services-auth 集成。 |
简化和精简;无需 play-services-auth 。 |
授权 |
成功、失败和重试需要额外的代码。 |
由 SDK 管理 |
服务器访问令牌 |
可以使用 GoogleSigninClient 请求额外的 OAuth 2.0 范围。在登录期间处理错误需要额外的代码。 |
不允许额外的范围。 使用 serverAuthcode 的成功失败回调的额外代码。 |
登录流程 |
使用 GoogleSigninClient 。处理自动登录和错误处理的样板代码需要额外代码。 |
使用 GamesSignInClient 。SDK 处理样板代码、自动登录和错误处理。 |
欢迎弹出窗口 |
需要额外代码。 开发者可以控制其位置和时间。 |
无需额外代码。所有使用 games v2 SDK 配置的游戏都具有一致的用户界面。 |
依赖项 |
需要 play-services-auth 。 |
Games 模块负责授权和身份验证。您无需添加任何额外的依赖项。 |
退出 |
使用 GoogleSignInClient.signOut 。 |
不支持退出 API。 |
多个 Play 游戏服务帐户和每游戏设置 |
可以在您的游戏中进行帐户管理。 |
用户可以在移动设备设置中更改 Play 游戏服务个人资料。如需了解详情,请参阅 如何在移动设备上切换 Play 游戏个人资料。 |