Google Play Games 服務第 1 版遊戲 SDK 依附於 Android 版 Google 登入,但這項服務已淘汰,並將於 2025 年從 Google Play 服務驗證 SDK (com.google.android.gms:play-services-auth) 移除。2025 年前,新的遊戲應用程式仍可使用第 1 版遊戲 SDK。移除 Google 登入後,現有遊戲應用程式會出現依附元件問題。請將現有遊戲應用程式從第 1 版遊戲 SDK 遷移至第 2 版遊戲 SDK,解決移除 Google 登入後出現的依附元件問題。
從 Google Play 遊戲服務第 1 版遷移至第 2 版是一項重大更新,可簡化開發作業並支援跨平台遊戲。Google Play 遊戲服務第 2 版會將平台和遊戲內身分識別資訊分離,做為平台層級的身分識別系統,在啟動時自動驗證玩家身分。平台身分識別資訊現在與主要遊戲內帳戶系統分開,您必須使用「透過 Google 登入」或專屬後端等工具,獨立管理主要遊戲內帳戶系統。整合 Play 遊戲服務第 2 版 SDK 時,系統會使用玩家 ID 處理成就和排行榜等平台功能,不會變更現有的新手上路或登入流程。
本文將說明遊戲應用程式與各種 SDK 之間的互動。由於官方已公布淘汰時間表,您必須遵循本遷移指南的架構原則、路徑和玩家溝通策略,確保玩家能繼續使用遊戲。
SDK 互動
這些圖表說明 Android 上的遊戲應用程式、Google 行動服務 (GMS) 核心、Play 遊戲服務和第三方 (3P) 遊戲伺服器之間的互動。圖表重點在於應用程式如何使用 Google 服務進行驗證和遊戲功能,同時與獨立的第三方系統互動。
games v2 (目前)
games v1 (舊版)
以下簡要說明這些元件和 SDK:
- 遊戲應用程式。
- 這代表使用者在 Android 裝置上執行的遊戲應用程式。
- 其中包含兩個主要元件:
- 遊戲第 1 版或第 2 版 SDK。負責與 Play Games 服務互動的用戶端 SDK。
- 驗證 SDK:Google Play 服務驗證 SDK 負責處理遊戲第 1 版中的使用者驗證和授權流程。
- 這兩個 SDK 都使用 AIDL (Android 介面定義語言) 通訊,表示不同程序或服務之間的通訊模式。
- GMS Core 也稱為 Google Play 服務。
- 這是 Android 上的 Google 專屬層。
- 遊戲應用程式會使用兩個 GMS Core 模組:
- 遊戲模組提供遊戲專屬功能,例如排行榜、成就和遊戲狀態管理。
- 驗證模組:處理使用者驗證和授權作業。
- 遊戲應用程式中的 Games 和 Auth SDK 會使用 AIDL 介面與對應的模組通訊,表示程序間通訊 (IPC)。
- Play Games 服務閘道。
- 邏輯閘道,可調解 GMS Core 與 Play Games 服務伺服器之間的通訊。
- 處理伺服器通訊的 API 要求、資料轉換和驗證。
- Play Games 服務伺服器。
- 代表 Play Games 服務後端服務,負責儲存遊戲資料、管理使用者帳戶,以及提供多人遊戲功能。
- 第三方遊戲閘道。
- 如果您的遊戲應用程式符合第三方 (3P) 應用程式的資格,用戶端程式庫會透過第三方遊戲伺服器與 Play Games 服務伺服器通訊。
- 這表示應用程式也可以透過其他服務供應商進行驗證。
- 第三方遊戲伺服器。
- 代表遊戲應用程式可互動的選用外部伺服器,可能用於自訂功能或資料管理。
- 應用程式會透過第三方遊戲閘道進行通訊。
為什麼要將遊戲遷移至 Play Games 服務第 2 版
從 Play 遊戲服務第 1 版遷移至第 2 版,是架構現代化的重大轉變,可簡化開發作業,並支援跨平台遊戲。
與第 1 版不同,Play 遊戲服務第 2 版會將平台和遊戲內身分識別資訊分離,第 1 版則做為主要的遊戲內身分識別系統。這項服務是平台層級的身分識別系統,會在遊戲啟動時自動驗證玩家身分,以便管理成就和排行榜等功能。
您現在必須使用「使用 Google 帳戶登入」或專有後端等工具,獨立管理遊戲的主要遊戲內帳戶系統。遊戲可透過 Play 遊戲服務第 2 版 SDK 使用 Play 遊戲服務玩家 ID 存取平台功能,不必變更現有的新手上路或登入流程。本文將逐步說明如何遷移,涵蓋架構原則、路徑和玩家通訊策略。官方已公布淘汰時間表,因此請務必遵守規定,確保玩家能持續使用。
比較平台驗證和遊戲內驗證
在 Play 遊戲服務第 2 版中,「登入」的概念會分成兩個不同的層級:
- 平台身分。SDK 會處理平台驗證。
- 遊戲內身分。
平台驗證
Play 遊戲服務的功能嚴格來說是平台參與層,主要管理玩家與 Google Play 遊戲生態系統 (成就、排行榜和活動) 的關係,而非驗證特定遊戲帳戶或清單。
- 背景自動驗證:遊戲啟動時,系統會在背景自動驗證。Play Games 服務本身不需要手動「登入」按鈕。
- 玩家 ID:平台驗證成功後,Play 遊戲服務會提供穩定的玩家 ID。這個 ID 在同一款遊戲中跨裝置保持一致,但主要用於追蹤平台統計資料 (例如成就進度)。
- 解除耦合:Play Games 服務第 2 版不得做為遊戲的主要身分識別系統,用來管理玩家的遊戲內帳戶,包括遊戲進度或物品清單。Play Games 服務第 2 版嚴格來說是次要的永久平台 ID。
遊戲內驗證
開發人員有責任管理「遊戲內帳戶」(IGA)。這是身分識別系統,可繫結玩家在遊戲中的進度、庫存和貨幣。
- 主要身分:您可以將自己的後端、使用 Google 帳戶登入 (SiWG) 或其他供應商做為主要登入方法。
- 獨立性:玩家登入任何特定遊戲內帳戶時,都可以登入 Play 遊戲服務 (平台身分),並獲得成就。例如訪客帳戶或特定 SiWG 帳戶。
- 管理多個遊戲內帳戶:Play 遊戲服務只負責平台驗證,遊戲則負責玩家登入遊戲內帳戶 (IGA) 的主要驗證。也就是說,玩家在遊戲中切換帳戶的方式不會有任何變更。玩家這麼做時,仍會使用 Play Games 服務向 Play Games 平台進行驗證,而您會繼續根據持續性玩家 ID,傳送與成就和其他 Play Games 服務功能相關的資料。
遷移規定:將遊戲內帳戶與 Google Open ID 繫結,而非 Play Games 服務玩家 ID
在 Play 遊戲服務第 1 版中,開發人員會將 Play 遊戲服務做為主要身分識別提供者。玩家點選「Google Play」按鈕後,系統會將遊戲內帳戶 (IGA) 直接連結至 Player ID。
Play 遊戲服務第 2 版會在啟動時提供自動、無聲的平台驗證,藉此解決這個問題。產生的 Player ID 現在專用於排行榜和成就等平台功能,與主要帳戶登入程序分開。
遊戲現在必須透過專屬登入畫面,提供「使用 Google 帳戶登入」或其他社群帳戶等方法,獨立管理主要身分。請務必不要將 Play 遊戲服務第 2 版做為主要身分識別系統。
這項架構轉移作業需要開發人員相應調整帳戶資料結構。遊戲內帳戶 (IGA) 必須與主要綁定的 Player ID 解除連結。
現在,IGA 必須繫結至與 Play 遊戲服務無關的穩定主要 ID。建議使用的 ID 是「使用 Google 帳戶登入」流程提供的 Open ID。這個 Open ID 可做為系統中玩家主要帳戶的專屬永久金鑰。
不過,IGA 仍可做為次要繫結連結至 Player ID。這個次要連結有兩項重要功能:
- 這樣一來,遊戲就能繼續追蹤及更新與該特定玩家相關聯的 Play 遊戲功能 (成就等) 進度。
- 這項功能可啟用「無縫還原」功能,讓遊戲在新的裝置上或重新安裝後,自動將玩家登入最近使用的 IGA。
瞭解這種分離式身分識別模型,是為遊戲找出正確技術遷移路徑的關鍵。
功能比較
下表比較了遊戲第 1 版和第 2 版 SDK 的功能:
功能 |
games v1 SDK |
games v2 SDK |
|---|---|---|
驗證 |
必須與 play-services-auth 整合。 |
簡化及精簡,不需 play-services-auth
。 |
授權 |
成功、失敗和重試的其他程式碼。 |
由 SDK 管理 |
伺服器存取權杖 |
可使用 GoogleSigninClient 要求其他
OAuth 2.0 範圍。驗證期間的錯誤處理額外程式碼。 |
要求伺服器端存取 Play 遊戲服務網頁 API 時,可使用 GamesSignInClient 要求三項基本 OAuth 2.0 身分範圍。詳情請參閱「 Play Games 服務的伺服器端存取權」和「 擷取伺服器驗證碼」。 |
登入程序 |
用途 GoogleSigninClient。用於處理自動驗證和錯誤處理的樣板程式碼的其他程式碼。 |
用途 GamesSignInClient。SDK 會處理樣板程式碼、自動驗證和錯誤處理作業。「登入」分為兩個不同的層級:
|
歡迎彈出式視窗 |
需要額外程式碼。 開發人員可以控管其位置和時間。 |
不需要額外程式碼。 所有透過遊戲服務第 2 版 SDK 設定的遊戲,都採用一致的使用者介面。 |
依附元件 |
需要 play-services-auth。 |
Games 模組會處理授權和驗證作業,您不需要新增任何額外的依附元件。 |
| 登出 |
用途 GoogleSignInClient.signOut。 |
Play Games 服務第 2 版是持續性的平台身分,因此不需要登出 API。 |
多個 Play 遊戲服務帳戶和遊戲專屬設定 |
您可以在遊戲中管理帳戶。 |
使用者可以在行動裝置設定中變更 Play 遊戲服務設定檔。詳情請參閱 如何在行動裝置上切換 Play 遊戲個人資料。 |