身分和帳戶連結

使用 Google Play 遊戲服務驗證,簡化遊戲的使用者平台驗證程序。初始化 Play 遊戲服務 SDK 以觸發驗證,不必再進行個別的平台驗證流程。

連結使用者帳戶,啟用持續性與跨裝置遊戲功能

玩家會在各種裝置和平台上暢玩喜愛的遊戲,包括手機、平板電腦和電腦。這些玩家的核心期望是能夠在不同裝置上無縫接續遊戲進度。

使用者往往會因為必須在每部新裝置上分別登入,而放棄使用服務。使用者需要立即沉浸在遊戲體驗中,不受不必要的干擾。

為方便使用者無縫接續遊戲和跨裝置遊玩,您必須實作兩項重要功能:

Play 遊戲服務驗證程序提供彈性的玩家 ID 選項。這些選項可讓您將 Play 遊戲服務與現有的身分識別解決方案整合。

整合新的 Play 遊戲服務

如果遊戲尚未整合 Play 遊戲服務,Recall API 可管理帳戶關聯,並儲存使用者遊戲帳戶與 Play 遊戲服務帳戶之間的連結,簡化後端設定。

使用 Recall API 連結帳戶

建議使用 Recall API 連結跨平台遊戲中的使用者帳戶。對於未整合 Play 遊戲服務的遊戲,或是使用 Play 遊戲服務以外的平台驗證解決方案的遊戲,這項 API 特別實用。

Recall API 可管理帳戶關聯,簡化遊戲的後端設定。

  • 簡化後端:API 可簡化遊戲的後端設定,方便連結帳戶。
  • Play 管理的關聯:Play 會儲存使用者遊戲帳戶 (包括第三方帳戶) 與 Play 遊戲服務帳戶之間的關聯。
  • 還原進度:開發人員會產生並傳送 Recall 權杖給 Play,之後即可擷取權杖來還原使用者的遊戲進度。

導入 Recall API 時,開發人員必須確認 Recall 權杖是不透明字串。這些權杖不得包含玩家的任何私密或個人識別資訊,例如姓名、電子郵件地址或使用者統計資訊。

遊戲產生喚回符記時,必須使用完善的加密演算法,保護使用者資料並維護安全性。

如要進一步瞭解 Recall 的運作方式,請參閱 Recall API

如要實作 Recall API 功能,請參閱「在遊戲中整合 Play 遊戲服務 Recall API」。

使用 Recall API 管理多個帳戶

管理同一使用者的多個帳戶時,您可以將每個帳戶視為不同的角色。這樣一來,您就能根據使用者的特定情境,提供量身打造的體驗。

如要採用這種做法,請按照下列步驟操作:

雖然有多種政策選項可用 (例如自動還原上一個帳戶),但我們強烈建議向使用者顯示提示。這個提示應要求使用者選取要還原的帳戶,提供清楚且容易使用的體驗。

現有的 Play 遊戲服務整合

本節說明如何透過繫結玩家帳戶,將遊戲與 Play 遊戲服務整合。瞭解如何使用玩家 ID 識別已驗證的玩家,以及如何為單一 Play 遊戲服務使用者管理多個遊戲帳戶。

繫結至 Player_id

玩家 ID 是 Play 遊戲服務玩家帳戶的 ID。只要遊戲使用 Play 遊戲服務進行驗證,即可擷取任何玩家的玩家 ID。

如果遊戲的後端已設定 Play 遊戲服務 Player_Id,或是遊戲需要支援兒童使用者,就應使用 Player_Id,並將遊戲和第三方帳戶與 Player_Id 繫結。

瞭解玩家 ID 的行為:

  • 遊戲內一致性:使用者在多部裝置上玩同一款遊戲時,玩家 ID 會保持一致。
  • 不同遊戲之間的玩家 ID 不一致:使用者玩不同遊戲時,玩家 ID 不一定會保持一致。

詳情請參閱新一代玩家 ID

透過繫結功能,管理每位使用者的多個帳戶

如要將多個使用者帳戶連結至單一 Play 遊戲服務帳戶,請在表格中建立一對多對應。

使用「使用 Google 帳戶登入」功能,跨平台存取 Google 帳戶

使用 Google 帳戶登入 (SiwG) 是 Google 的主要身分識別解決方案,可讓遊戲開發人員安全地接收玩家的個人資料資訊:姓名、電子郵件地址和個人資料相片。

Google 登入的主要優點是適用於各種平台,包括網頁AndroidiOS。提供玩家熟悉且信任的快速安全登入體驗。

繫結 Google ID 權杖的 sub 欄位

如要打造流暢的跨平台體驗,您可以導入驗證策略,將遊戲的帳戶系統連結至專屬的 Google 帳戶 ID。這種做法可充分運用 Android 裝置上簡化的 Play 遊戲服務驗證功能,同時在 iOS 和網頁等其他平台上使用標準的「使用 Google 帳戶登入」SDK。

這項策略的關鍵是 Google ID 權杖中的 sub 欄位。sub (或「主體」) 欄位是 Google 使用者帳戶的專屬永久 ID。您可以使用這個 ID 做為「橋樑」,將玩家的所有工作階段連結至後端的單一遊戲帳戶。

大致流程如下:

  • Android:遊戲會初始化 Play 遊戲服務 SDK,在 Android 裝置上自動觸發驗證。您可以設定 Play 遊戲服務第 2 版整合功能,要求下列三種登入範圍emailprofileopenid。這些範圍與標準「使用 Google 帳戶登入」SDK 要求相同。這樣您就能擷取包含玩家 sub 欄位的ID 權杖
  • 網頁和 iOS:遊戲使用標準的網頁版 Google 登入iOS 和 macOS 版 Google 登入 SDK。使用者登入時,SiwG SDK 會提供 ID 權杖,其中也包含使用者的 sub 欄位。
  • 帳戶繫結:由於使用者在兩個平台都使用同一個 Google 帳戶登入,因此您收到的 sub 欄位會相同。然後,您就能放心地在身分識別解決方案中,將這個 sub 值繫結至內部使用者 ID,打造一致的使用者體驗。

在 Android 上整合

在 Android 上,您會使用 Google Play 遊戲服務 SDK 做為主要整合點。重點在於設定 Google Play 遊戲服務登入用戶端,要求額外的登入範圍。這樣一來,您就能擷取伺服器端驗證碼,後端可將該驗證碼換成 ID 權杖,其中包含使用者資訊,包括專屬的 sub 欄位。

大致來說,導入作業包含:

  1. 在統一專案中設定用戶端 ID:整合前,您必須在 Google Play 管理中心設定 Play 遊戲服務,才能取得 OAuth 2.0 用戶端 ID。

  2. 設定 Play 遊戲服務:開始前,您必須先在 Google Play 管理中心中加入遊戲,並將 Play 遊戲服務平台驗證與遊戲整合。

  3. 新增「使用 Google 帳戶登入」按鈕:在遊戲的登入頁面或使用者設定畫面中,新增「使用 Google 帳戶登入」按鈕。這個按鈕會觸發登入或註冊流程。建立這個按鈕時,建議您遵循「使用 Google 帳戶登入」品牌宣傳指南。按鈕至少應清楚顯示「Google」或「使用 Google 帳戶登入」。此外,您也可以在指南連結中下載符合規範的 UX 資產,並在遊戲中使用。

  4. 使用登入範圍要求伺服器驗證碼:玩家點選按鈕時,遊戲會要求一次性伺服器驗證碼。最重要的步驟是設定這項要求,加入下列登入範圍EMAILPROFILEOPEN_ID

    設定方式取決於您的開發環境:

  5. 在後端交換授權碼並驗證 ID 權杖:將上一個步驟中的授權碼傳送至後端伺服器。在伺服器上,按照標準 OAuth 2.0 程式碼交換流程指南,將程式碼換成 ID 權杖、存取權杖和更新權杖。如指南所述,您必須在伺服器上驗證 ID 權杖。

  6. 繫結 sub 欄位:成功驗證 ID 權杖後,請從其酬載中擷取 sub 欄位。在身分識別解決方案中,請使用這個 sub 值做為 Google 帳戶的專屬金鑰。

    • 如果資料庫中已存在這個 sub,表示使用者先前已連結帳戶。讓他們登入相應的遊戲帳戶。

    • 如果這個 sub 值不存在,您可以在遊戲的帳戶系統中建立與這個 sub 相關聯的新使用者帳戶,或是比對 ID 權杖中提供的使用者資訊 (例如電子郵件地址),連結至帳戶系統中的現有使用者帳戶。

整合到 iOS、網頁和其他平台

在 Android、iOS、網頁或 PC 以外的平台上,您將使用標準的 Google 登入 SDK。目標與 Android 流程相同:安全取得 Google ID 權杖、傳送至後端,並使用 sub 欄位連結帳戶。

大致來說,導入作業包含:

  1. 用戶端整合:按照官方說明文件,整合您平台適用的「使用 Google 帳戶登入」SDK。這些指南涵蓋完整的用戶端流程,從算繪「使用 Google 帳戶登入」按鈕到擷取 ID 權杖,無一不包。

  2. 後端邏輯:將 ID 權杖 (或授權碼) 傳送至後端。接著,伺服器會執行與「Android 整合」一節步驟 4 和 5 中所述完全相同的驗證和 sub 欄位繫結邏輯。

因為所有「使用 Google 帳戶登入」流程中的 sub 欄位,都與從 Android 上的 Google Play 遊戲服務流程擷取的欄位相同 (適用於同一 Google 帳戶),因此這個程序會成功連結使用者在所有平台上的帳戶。