Google Play 游戏服务 games v1 SDK 依赖于已废弃的 Google 登录(适用于 Android),该 SDK 将于 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) 核心、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 接口定义语言)进行通信,表示不同进程或服务之间的通信模式。
- GMS Core,也称为 Google Play 服务。
- 这是 Android 上的 Google 专有层。
- 游戏应用使用两个 GMS Core 模块:
- 游戏模块。提供游戏专用功能,例如排行榜、成就和游戏状态管理。
- 身份验证模块。处理用户身份验证和授权操作。
- 游戏应用中的 Games 和 Auth SDK 使用 AIDL 接口与相应的模块进行通信,表示进程间通信 (IPC)。
- Play 游戏服务网关。
- 一个逻辑网关,用于协调 GMS Core 与 Play 游戏服务器之间的通信。
- 处理服务器通信的 API 请求、数据转换和身份验证。
- Play 游戏服务器。
- 表示负责存储游戏数据、管理用户账号和提供多人游戏功能的 Play 游戏服务后端服务。
- 第三方游戏网关。
- 如果您的游戏应用符合第三方 (3P) 应用的条件,客户端库将通过第三方游戏服务器与 Play 游戏服务服务器通信。
- 表示应用还可以通过其他服务提供商进行身份验证。
- 第三方游戏服务器。
- 表示游戏应用可以与之交互的可选外部服务器,可能用于自定义功能或数据管理。
- 与应用的通信是通过第三方游戏网关进行的。
功能比较
下表比较了 games v1 SDK 和 games v2 SDK 之间的功能:
功能 |
Games v1 SDK |
games v2 SDK |
---|---|---|
身份验证 |
必须与 play-services-auth 集成。 |
简化和简化;无需 play-services-auth 。 |
授权 |
用于成功、失败和重试的其他代码。 |
由 SDK 管理 |
服务器访问令牌 |
可以使用 GoogleSigninClient 请求其他 OAuth 2.0 范围。用于在登录期间处理错误的额外代码。 |
不允许使用其他镜重。 包含 serverAuthcode 成功失败回调的其他代码。 |
登录流程 |
使用 GoogleSigninClient 。用于处理自动登录和错误处理的样板代码的额外代码。 |
使用 GamesSignInClient 。SDK 会处理样板代码、自动登录和错误处理。 |
欢迎弹出式窗口 |
需要额外的代码。 开发者可以控制其展示位置和展示时间。 |
无需额外代码 所有配置了 PGS V2 的游戏均采用一致的界面。 。 |
依赖项 |
需要 play-services-auth 权限。 |
对 play-services-auth 没有单独的依赖项。 |
退出账号 |
使用 GoogleSignInClient.signOut 。 |
不支持 Sign-out API。 |
多个 Play 游戏服务账号和按游戏设置 |
无法选择和管理账号。 |
对于每款游戏,您都可以管理自己的 Play 游戏服务账号。 这样,您就可以选择每款游戏使用哪个账号。 |