迁移概览

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(当前)

Android 上的游戏应用、GMS Core、Play 游戏服务和第三方 (3P) 游戏服务器之间的交互。
Android 上的游戏应用、GMS Core、Play 游戏服务和第三方 (3P) 游戏服务器之间的交互。(点击可放大)。

games v1(旧版)

Android 上的游戏应用、GMS Core、Play 游戏服务和第三方 (3P) 游戏服务器之间的交互。
Android 上的游戏应用、GMS Core、Play 游戏服务和第三方 (3P) 游戏服务器之间的交互。(点击可放大)。

下面简要介绍了这些组件和 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 游戏服务账号。 这样,您就可以选择每款游戏使用哪个账号。