喚回 API

Recall API 可讓遊戲透過 Google 伺服器儲存「喚回符記」,以管理 Google Play 遊戲服務 (PGS) 使用者與遊戲內帳戶之間的連結。以下是 Recall API 的使用情境範例。

  1. 使用者在玩遊戲時,開發人員會透過身分識別系統追蹤使用者進度,同時使用 PGS 與其他驗證方法將使用者登入遊戲。在此範例中,使用者已登入 PGS 帳戶「Laura」,並透過開發人員的身分識別系統建立名為「Racer94」的遊戲內帳戶。當使用者玩遊戲時,開發人員的遊戲伺服器會同步處理遊戲進度。

    使用者透過 PGS 登入並擁有遊戲內帳戶

  2. 此外,開發人員會透過 Google 儲存喚回符記,該符記會對應至使用者的遊戲內帳戶。Google 會根據使用者的 PGS 設定檔自動儲存喚回符記。

    遊戲伺服器透過 Google 伺服器儲存喚回符記

  3. 使用者現在決定首次在 Google Play 遊戲電腦版上玩遊戲。系統會自動透過 PGS 帳戶登入使用者,而遊戲用戶端會檢查該 PGS 使用者是否存有遊戲進度。接著,遊戲伺服器向 Google 查詢該 PGS 帳戶是否存有任何符記。假設有的話,Google 就會傳回喚回符記,而遊戲伺服器會使用該符記尋找與使用者相關聯的「Racer94」帳戶,並還原其遊戲進度。由於 PGS 登入體驗順暢無阻,使用者不必輸入使用者名稱或密碼,應用程式就能還原使用者的進度。此外,開發人員可使用 PGS 登入功能搭配現有的身分識別系統,並藉由 Google 來儲存玩家進度與 PGS 帳戶之間的連結。

    遊戲伺服器透過喚回符記還原進度

如先前的範例所示,Recall API 執行了兩個主要動作:

  • 使用者透過遊戲內帳戶登入時,向 Google 儲存符記。

  • 擷取使用者的符記,以便還原遊戲內帳戶。

除了喚回符記,Recall API 也會要求與遊戲內帳戶對應的穩定 ID (稱為「身分 ID」),以強制執行基數限制。您可以將身分 ID 視為開發人員身分識別系統中代表使用者遊戲內帳戶的標籤,而喚回符記就是用來將使用者遊戲內帳戶還原到遊戲的金鑰。在不同的 PGS 專案中,身分 ID 和符記值皆不得重複使用。此外,雖然喚回符記可能會隨著時間變更,但身分 ID 應隨著使用者的遊戲內帳戶保持穩定不變。

基數規則

Recall API 會強制執行 PGS 設定檔與遊戲內帳戶之間的 1:1 關係 (稱為「基數規則」);也就是說,一個身分 ID 只能連結至一個 PGS 設定檔,而一個 PGS 設定檔也只能連結至一個身分 ID。身分 ID 會做為遊戲內帳戶的穩定 ID,因為喚回符記可能會隨時間變動。

連結至 PGS 設定檔的身分 ID 也可能會隨時間變動 (因為不同的遊戲內帳戶都會連結至該 PGS 設定檔)。

儲存及擷取喚回符記的技術流程

本節說明儲存及擷取喚回符記時,遊戲用戶端和伺服器與 Google 伺服器之間的技術流程。

步驟 1:登入 PGS 使用者並擷取工作階段 ID

遊戲會初始化 PGS SDK,並嘗試透過 PGS 登入使用者。

使用者透過 PGS 登入

假設使用者已登入,請在遊戲用戶端上要求 Play 遊戲 SDK 的工作階段 ID,並向 Google 的 OAuth 後端要求 OAuth 2.0 符記。工作階段 ID 和 OAuth 2.0 符記可用來與 Google 遊戲後端連線。

開發人員要求工作階段 ID

步驟 2:擷取任何可用的喚回符記

要求與 PGS 使用者帳戶相關聯的任何喚回符記。如有符記的話,請前往步驟 3a 並還原進度。否則,如果是新使用者且沒有任何符記,則請前往步驟 3b 並儲存新符記

開發人員擷取喚回符記

步驟 3a:如有符記,請還原進度

如有符記的話,請擷取符記並加以解密,然後還原使用者資料。

開發人員從喚回符記還原資料

步驟 3b:如沒有符記,請儲存符記

由於沒有符記,因此系統不會還原任何進度。使用者接著透過開發人員身分識別系統登入,或建立新帳戶 (如果沒有帳戶)。請注意,這不是透過 PGS 登入 (因為這項操作早已完成),而是使用 PGS 以外的開發人員身分識別系統登入。

使用者透過遊戲內帳戶登入

建立加密的喚回符記,該符記會將使用者的遊戲內帳戶編碼,並連同工作階段 ID 和 OAuth 2.0 符記傳送給 Google。這時 Google 就會將已傳送的喚回符記與玩家 PGS 帳戶建立關聯。

開發人員儲存喚回符記

沒有 Play 遊戲服務設定檔的使用者流程

您可以透過無設定檔模式,為尚未建立 Play 遊戲服務設定檔的使用者儲存喚回符記。不過,有兩項重要注意事項:

  • 如果使用者沒有 Play 遊戲服務設定檔,您就無法擷取符記。使用者在第二部裝置上嘗試透過 Play 遊戲服務登入遊戲時,系統會自動提示建立設定檔。
  • 請務必遵守其他指南,確保您提供適當的通知,說明下列項目並取得適當的使用者同意聲明:
    • 您與 Google 分享資料,以便啟用 Play 遊戲帳戶連結功能。
    • 可管理這項分享功能的設定 (例如 Play 遊戲設定)。
    • 這類資料的處理方式受《Google 隱私權政策》規範。

儲存符記和身分 ID 配對

沒有 Play 遊戲服務設定檔的使用者開啟遊戲

  1. 沒有 Play 遊戲服務設定檔的使用者開啟已啟用無設定檔喚回符記的遊戲。
  2. Games SDK 會觸發自動登入,但由於使用者沒有 PGS 設定檔,因此登入失敗。
  3. Games SDK 會顯示資訊方塊,告知使用者遊戲已整合 Google 服務。這個訊息列可供操作,使用者可以停用喚回功能,直到建立設定檔為止。
  4. 遊戲要求喚回存取權。請注意,如果裝置上有 Play 遊戲服務設定檔,或裝置上沒有 Google 帳戶,Play 遊戲服務會拒絕喚回存取要求。在這種情況下,遊戲應繼續執行,但不得使用 PGS。
  5. 使用者透過遊戲內帳戶登入後,遊戲會為使用者建立與遊戲內帳戶相應的符記和身分 ID 配對。遊戲會將這組配對資訊儲存在 Google。如果使用者登入其他遊戲內帳戶,遊戲稍後可能會儲存更多符記。

在新裝置上啟動遊戲

  1. 使用者在裝置上開啟遊戲,且遊戲已啟用「在沒有 Play 遊戲服務設定檔的情況下使用喚回符記」設定,但使用者沒有 Play 遊戲服務設定檔。
  2. 遊戲會記錄沒有設定檔的喚回符記,如「儲存符記和身分 ID 配對」所述。
  3. 使用者在其他裝置上開啟同一個遊戲,且裝置設定相同帳戶。
  4. Games SDK 會觸發個人資料建立作業。使用者可以查看及拒絕先前儲存的喚回符記。使用者會在此時建立 Play 遊戲服務設定檔。
  5. 系統會自動登入 PGS,遊戲也會收到驗證狀態。
  6. 遊戲會照常擷取使用者的喚回符記。

後續步驟

如要將 Recall API 與您的用戶端和遊戲伺服器整合,請按照這份指南操作