遷移作業總覽

Google Play 遊戲服務第 1 版遊戲 SDK 依賴 Android 版 Google 登入,但這項功能已淘汰,並將於 2025 年從 Google Play 服務驗證 SDK (com.google.android.gms:play-services-auth) 中移除。新的遊戲應用程式可使用遊戲第 1 版,直到 2025 年為止。移除 Google 登入功能會導致現有遊戲應用程式出現依附元件問題。將現有遊戲應用程式從遊戲服務第 1 版 SDK遷移至遊戲服務第 2 版 SDK,即可解決因移除 Google 登入功能而導致的依附元件問題。

本文將說明遊戲應用程式與各種 SDK 之間的互動。本文也會比較應用程式的功能與 Play 遊戲服務第 1 版和第 2 版遊戲 SDK 的功能。

SDK 互動

這些圖表說明 Android 上的遊戲應用程式、Google 行動服務 (GMS) Core、Play 遊戲服務和第三方 (3P) 遊戲伺服器之間的互動。並著重說明應用程式如何使用 Google 服務進行驗證和提供遊戲功能,同時與獨立的第三方系統互動。

games v2 (目前)

Android 上的遊戲應用程式、GMS Core、Play 遊戲服務和第三方 (3P) 遊戲伺服器之間的互動。
Android 上的遊戲應用程式、Google 行動服務核心、Play 遊戲服務和第三方 (3P) 遊戲伺服器之間的互動。(按一下可放大)。

games v1 (舊版)

Android 上的遊戲應用程式、GMS Core、Play 遊戲服務和第三方 (3P) 遊戲伺服器之間的互動。
Android 上的遊戲應用程式、Google 行動服務核心、Play 遊戲服務和第三方 (3P) 遊戲伺服器之間的互動。(按一下可放大)。

以下簡要說明元件和 SDK:

  • 遊戲應用程式。
    • 這代表使用者在 Android 裝置上執行的遊戲應用程式。
    • 其中包含兩個主要元件:
      • 遊戲第 1 版或第 2 版 SDK。負責與 Play 遊戲服務互動的用戶端 SDK。
      • Auth SDK:Google Play 服務 Auth SDK 負責處理遊戲第 1 版中的使用者驗證和授權流程。
    • 這兩個 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 遊戲服務伺服器通訊。
    • 這表示應用程式也可以透過其他服務供應商進行驗證。
  • 第三方遊戲伺服器。
    • 代表遊戲應用程式可互動的選用外部伺服器,可能用於自訂功能或資料管理。
    • 與應用程式的通訊會透過第三方遊戲閘道進行。

功能比較

下表比較了遊戲第 1 版和第 2 版 SDK 的功能:


功能

games v1 SDK

games v2 SDK

驗證

必須與 play-services-auth 整合。

簡化及精簡,不需play-services-auth

授權

成功、失敗和重試的其他程式碼。

由 SDK 管理

伺服器存取權杖

可使用 GoogleSigninClient 要求其他 OAuth 2.0 範圍

登入期間發生錯誤時,用於處理錯誤的其他程式碼。

透過 GamesSignInClient 要求存取 Play 遊戲服務網頁 API 的伺服器端存取權時,可以要求三個基本 OAuth 2.0 身分範圍。

詳情請參閱「 Play 遊戲服務的伺服器端存取權」和「 擷取伺服器驗證碼」。


登入程序

用途 GoogleSigninClient

處理自動登入和錯誤處理的樣板程式碼的其他程式碼。

用途 GamesSignInClient

SDK 會處理樣板程式碼、自動登入和錯誤處理。

歡迎彈出式視窗

必須輸入其他代碼。
開發人員可以控管其位置和時間。

不需要額外程式碼。 所有使用遊戲服務第 2 版 SDK 設定的遊戲,都會採用一致的使用者介面。

依附元件

需要 play-services-auth

遊戲模組會處理授權和驗證作業。您不需要新增任何其他依附元件。
登出

用途GoogleSignInClient.signOut

不支援登出 API。

多個 Play 遊戲服務帳戶和個別遊戲設定

您可以在遊戲中管理帳戶。

使用者可以在行動裝置設定中變更 Play 遊戲服務設定檔。詳情請參閱 如何在行動裝置上切換 Play 遊戲個人資料