迁移概览

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

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

SDK 互动

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

games v2(当前)

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

games v1(旧版)

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

以下是组件和 SDK 的简要概览:

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

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

功能比较

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


功能

games v1 SDK

games v2 SDK

身份验证

必须与 play-services-auth 集成。

简化且精简;无需play-services-auth

授权

表示成功、失败和重试的其他代码。

由 SDK 管理

服务器访问令牌

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

用于在登录期间处理错误的其他代码。

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

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


登录流程

使用 GoogleSigninClient

用于处理自动登录和错误处理的样板代码的其他代码。

使用 GamesSignInClient

SDK 可处理样板代码、自动登录和错误处理。

欢迎弹出式窗口

需要添加其他代码。
开发者可以控制其展示位置和展示时间。

无需其他代码。 所有配置了游戏 v2 SDK 的游戏都具有一致的用户界面。

依赖项

需要 play-services-auth

Games 模块负责处理授权和身份验证。您无需添加任何其他依赖项。
退出

用途 GoogleSignInClient.signOut
不支持
退出 API。

多个 Play Games Services 账号和游戏专用设置

您可以在游戏中管理账号。

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