Google Play 遊戲服務、遊戲第 1 版 SDK 會使用已淘汰的 Google Sign-In for Android,並將於 2025 年從 Google Play 服務驗證 SDK (com.google.android.gms:play-services-auth
) 中移除。新的遊戲應用程式可使用遊戲第 1 版,直到 2025 年為止。移除 Google 登入功能會導致現有遊戲應用程式出現依附元件問題。將現有遊戲應用程式從 games 第 1 版 SDK 遷移至 games 第 2 版 SDK,即可解決 Google 登入功能移除所造成的依附元件問題。
本文將說明遊戲應用程式與各種 SDK 之間的互動情形。本文也將應用程式的功能與 Play 遊戲服務第 1 版和第 2 版遊戲 SDK 的功能進行比較。
SDK 互動
下圖說明 Android 上的遊戲應用程式、Google 行動服務 (GMS) Core、Play 遊戲服務和第三方 (3P) 遊戲伺服器之間的互動情形。這項功能會強調應用程式如何使用 Google 服務進行驗證和遊戲功能,同時與其他第三方系統互動。
games v2 (目前)
games v1 (舊版)
以下簡要介紹這些元件和 SDK:
- 遊戲應用程式。
- 代表使用者在 Android 裝置上執行的遊戲應用程式。
- 其中包含兩個主要元件:
- games 第 1 版或 games 第 2 版 SDK。用戶端 SDK,負責與 Play 遊戲服務互動。
- Auth SDK:Google Play 服務 Auth SDK 負責處理遊戲第 1 版中的使用者驗證和授權流程。
- 這兩個 SDK 都使用 AIDL (Android 介面定義語言) 進行通訊,表示不同程序或服務之間的通訊模式。
- GMS Core 也稱為 Google Play 服務。
- 這是 Android 上的 Google 專屬層。
- 遊戲應用程式使用兩個 GMS Core 模組:
- 遊戲模組:提供遊戲專屬功能,例如排行榜、成就和遊戲狀態管理。
- 驗證模組。處理使用者驗證和授權作業。
- 遊戲應用程式中的遊戲和 Auth SDK 會使用 AIDL 介面與對應的模組通訊,表示程序間通訊 (IPC)。
- Play 遊戲服務網關。
- 邏輯閘道,可協調 GMS Core 與 Play 遊戲服務伺服器之間的通訊。
- 處理伺服器通訊的 API 要求、資料轉換和驗證。
- Play 遊戲服務伺服器。
- 代表 Play 遊戲服務後端服務,負責儲存遊戲資料、管理使用者帳戶,以及協助多人遊戲功能。
- 第三方遊戲閘道。
- 如果您的遊戲應用程式符合第三方 (3P) 應用程式資格,用戶端程式庫會透過第三方遊戲伺服器與 Play 遊戲服務伺服器進行通訊。
- 表示應用程式也可以透過其他服務供應商進行驗證。
- 第三方遊戲伺服器。
- 代表遊戲應用程式可與之互動的選用外部伺服器,可能用於自訂功能或資料管理。
- 與應用程式通訊的過程會透過第三方遊戲閘道進行。
功能比較
下表比較了 games v1 和 games v2 SDK 的功能:
功能 |
遊戲第 1 版 SDK |
games v2 SDK |
---|---|---|
驗證 |
必須與 play-services-auth 整合。 |
簡化且流暢,不需要 play-services-auth 。 |
授權 |
成功、失敗和重試的其他程式碼。 |
由 SDK 管理 |
伺服器存取權杖 |
可使用 GoogleSigninClient 要求其他 OAuth 2.0 範圍。登入期間的錯誤處理作業所需的其他程式碼。 |
不允許額外範圍。 使用 serverAuthcode 的成功/失敗回呼的其他程式碼。 |
登入程序 |
使用 GoogleSigninClient 。處理自動登入和錯誤處理的樣板程式碼的其他程式碼。 |
使用 GamesSignInClient 。SDK 會處理樣板程式碼、自動登入和錯誤處理。 |
歡迎彈出式視窗 |
需要額外的程式碼。 開發人員可以控管廣告的放置位置和時間。 |
不需要額外程式碼 所有已設定 PGS 第 2 版的遊戲皆提供一致的使用者介面。 。 |
依附元件 |
需要 play-services-auth 。 |
沒有對 play-services-auth 的個別依附元件。 |
登出 |
使用 GoogleSignInClient.signOut 。 |
不支援登出 API。 |
多個 Play 遊戲服務帳戶和個別遊戲設定 |
無法選取及管理帳戶。 |
您可以管理每款遊戲的 Play 遊戲服務帳戶。 這樣一來,您就能選取每款遊戲使用的帳戶。 |