迁移概览

Google Play 游戏服务游戏 v1 SDK 依赖于 Google 登录(Android 版),后者已 废弃,并将于 2025 年从 Google Play 服务 Auth SDKcom.google.android.gms:play-services-auth)中移除。 新游戏应用可以在 2025 年之前使用游戏 v1。移除 Google 登录会为现有游戏应用带来依赖项问题。将现有游戏 应用从游戏 v1 SDK 迁移到游戏 v2 SDK 可解决因移除 Google 登录而带来的依赖项问题。

本文档可帮助您了解游戏应用与各种 SDK 之间的互动。本文档还比较了应用的功能与 Play 游戏服务游戏 v1 和游戏 v2 SDK 的功能。

SDK 互动

这些图表说明了 Android 上的游戏应用、Google 移动服务 (GMS) Core、Play 游戏服务和第三方 (3P) 游戏服务器之间的互动。它们重点介绍了应用如何使用 Google 的服务进行身份验证和游戏功能,同时还与单独的第三方系统进行互动。

游戏 v2(当前)

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

游戏 v1(旧版)

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

下面简要介绍了组件和 SDK:

  • 游戏应用。
    • 这表示在 Android 设备上运行的用户游戏应用 。
    • 它包含两个主要组件:
      • 游戏 v1 或游戏 v2 SDK。 负责与 Play 游戏服务互动的客户端 SDK。
      • Auth SDK。 Google Play 服务 Auth SDK 负责处理游戏 v1 中的用户身份验证和授权流程。
    • 这两个 SDK 都使用 AIDL(Android 接口定义语言)进行通信,这表示不同进程或服务之间的通信模式。
  • GMS Core,也称为 Google Play 服务。
    • 这是 Android 上的 Google 专有层。
    • 游戏应用使用两个 GMS Core 模块:
      • 游戏模块。 提供特定于游戏的功能,例如排行榜、成就和游戏状态管理。
      • Auth 模块。 处理用户身份验证和授权操作。
    • 游戏应用中的游戏和 Auth SDK 使用 相应的模块使用 AIDL 接口进行通信,这表示进程间通信 (IPC)。

  • Play 游戏服务网关。
    • 一个逻辑网关,用于协调 GMS Core 和 Play 游戏服务服务器之间的通信。
    • 处理服务器通信的 API 请求、数据转换和身份验证。
  • Play 游戏服务服务器。
    • 表示 Play 游戏服务后端服务,负责存储游戏数据、管理用户账号和提供多人游戏功能。
  • 第三方游戏网关。
    • 如果您的游戏应用符合第三方 (3P) 应用的条件,则客户端库会通过第三方游戏服务器与 Play 游戏服务服务器进行通信。
    • 这意味着应用还可以通过其他服务提供商进行身份验证。
  • 第三方游戏服务器。
    • 表示游戏应用可以与之互动的可选外部服务器,可能用于自定义功能或数据管理。
    • 与应用的通信通过第三方游戏网关进行。

功能比较

下表比较了游戏 v1 和游戏 v2 SDK 的功能:


功能

游戏 v1 SDK

游戏 v2 SDK

身份验证

需要与 play-services-auth 集成。

经过简化和优化;不需要 play-services-auth

授权

需要为成功、失败和重试添加额外的代码。

由 SDK 管理

服务器访问令牌

可以使用 GoogleSigninClient 请求额外的 OAuth 2.0 范围GoogleSigninClient

需要为身份验证期间的错误处理添加额外的代码。

在请求对 Play 游戏服务 Web API 的服务器端访问时,可以使用 GamesSignInClient 请求三个基本的 OAuth 2.0 身份范围。

如需了解详情,请参阅 Play 游戏服务的服务器端访问 检索服务器身份验证代码


登录流程

使用 GoogleSigninClient

需要为处理自动身份验证和错误处理的样板代码添加额外的代码。

使用 GamesSignInClient

SDK 处理样板代码、自动身份验证和错误处理。

欢迎弹出式窗口

需要添加额外的代码。
开发者可以控制其位置和时间。

无需添加额外的代码。 使用游戏 v2 SDK 配置的所有游戏都具有一致的用户界面。

依赖项

需要 play-services-auth

游戏模块负责处理授权和身份验证。您无需添加任何额外的依赖项。
退出

使用 GoogleSignInClient.signOut

不支持退出 API。

多个 Play 游戏服务账号和游戏专属 设置

可以在游戏中管理账号。

用户可以在移动设备 设置中更改 Play 游戏服务玩家资料。如需了解详情,请参阅 如何在移动设备上切换 Play Games 玩家资料