Recall API 可讓遊戲透過 Google 伺服器儲存「喚回符記」,以管理 Google Play 遊戲服務 (PGS) 使用者與遊戲內帳戶之間的連結。以下是 Recall API 的使用情境範例。
使用者在玩遊戲時,開發人員會透過身分識別系統追蹤使用者進度,同時使用 PGS 與其他驗證方法將使用者登入遊戲。在此範例中,使用者已登入 PGS 帳戶「Laura」,並透過開發人員的身分識別系統建立名為「Racer94」的遊戲內帳戶。當使用者玩遊戲時,開發人員的遊戲伺服器會同步處理遊戲進度。
此外,開發人員會透過 Google 儲存喚回符記,該符記會對應至使用者的遊戲內帳戶。Google 會根據使用者的 PGS 設定檔自動儲存喚回符記。
使用者現在決定首次在 Google Play 遊戲電腦版上玩遊戲。系統會自動透過 PGS 帳戶登入使用者,而遊戲用戶端會檢查該 PGS 使用者是否存有遊戲進度。接著,遊戲伺服器向 Google 查詢該 PGS 帳戶是否存有任何符記。假設有的話,Google 就會傳回喚回符記,而遊戲伺服器會使用該符記尋找與使用者相關聯的「Racer94」帳戶,並還原其遊戲進度。由於 PGS 登入體驗順暢無阻,使用者不必輸入使用者名稱或密碼,應用程式就能還原使用者的進度。此外,開發人員可使用 PGS 登入功能搭配現有的身分識別系統,並藉由 Google 來儲存玩家進度與 PGS 帳戶之間的連結。
如前述範例所示,Recall API 執行了兩個主要動作:
使用者透過遊戲內帳戶登入時,儲存 Google 憑證。
擷取使用者的符記,以便還原其遊戲內帳戶。
除了喚回符記,Recall API 也會要求與遊戲內帳戶對應的穩定 ID (稱為「人物角色」),以強制執行基數限制。您可以將人物角色視為開發人員身分識別系統中代表使用者遊戲內帳戶的標籤,而喚回符記就是用來將使用者遊戲內帳戶還原到遊戲的金鑰。在不同的 PGS 專案中,人物角色和符記值皆不得重複使用。此外,雖然喚回符記可能會隨著時間變更,但人物角色應隨著使用者的遊戲內帳戶保持穩定不變。
基數規則
Recall API 會強制執行 PGS 設定檔與遊戲內帳戶之間的 1:1 關係 (稱為「基數規則」);也就是說,一個人物角色只能連結至一個 PGS 設定檔,而一個 PGS 設定檔也只能連結至一個人物角色。人物角色會做為遊戲內帳戶的穩定 ID,因為喚回符記可能會隨時間變動。
連結至 PGS 設定檔的人物角色也可能會隨時間變動 (因為不同的遊戲內帳戶都會連結至該 PGS 設定檔)。
儲存及擷取喚回符記的技術流程
本節說明儲存及擷取喚回符記時,遊戲用戶端和伺服器與 Google 伺服器之間的技術流程。
步驟 1:登入 PGS 使用者並擷取工作階段 ID
遊戲會初始化 PGS SDK,並嘗試透過 PGS 登入使用者。
假設使用者已登入,請在遊戲用戶端上要求 Play 遊戲 SDK 的工作階段 ID,並向 Google 的 OAuth 後端要求 OAuth 2.0 符記。工作階段 ID 和 OAuth 2.0 符記可用來與 Google 遊戲後端連線。
步驟 2:擷取任何可用的喚回符記
要求與 PGS 使用者帳戶相關聯的任何喚回符記。如有符記的話,請前往步驟 3a 並還原進度。否則,如果是新使用者且沒有任何符記,則請前往步驟 3b 並儲存新符記。
步驟 3a:如有符記,請還原進度
如有符記的話,請擷取符記並加以解密,然後還原使用者資料。
步驟 3b:如沒有符記,請儲存符記
由於沒有符記,因此系統不會還原任何進度。使用者接著透過開發人員身分識別系統登入,或建立新帳戶 (如果沒有帳戶)。請注意,這不是透過 PGS 登入 (因為這項操作早已完成),而是使用 PGS 以外的開發人員身分識別系統登入。
建立加密的喚回符記,該符記會將使用者的遊戲內帳戶編碼,並連同工作階段 ID 和 OAuth 2.0 符記傳送給 Google。這時 Google 就會將已傳送的喚回符記與玩家 PGS 帳戶建立關聯。
沒有 Play 遊戲服務設定檔的使用者流程
您可以使用無設定檔模式,為尚未建立 PGS 設定檔的使用者儲存召回權杖。不過,請注意以下兩點重要事項:
- 您無法為沒有 Play 遊戲服務設定檔的使用者擷取權杖。當使用者嘗試在第二部裝置上使用 Play 遊戲服務登入遊戲時,系統會自動顯示建立設定檔的提示。
- 您必須遵循其他指南,確保您提供適當的通知,說明下列項目並取得適當的使用者同意:
- 您將資料提供給 Google,以便啟用 Play 遊戲帳戶連結功能。
- 是否提供可管理這項分享功能的設定,例如 Play 遊戲設定。
- 根據《Google 隱私權政策》處理這類資料。
儲存權杖和人物角色配對
- 沒有 Play 遊戲服務設定檔的使用者開啟已啟用無設定檔召回功能的遊戲。
- Games SDK 會觸發自動登入功能,但因使用者沒有 PGS 設定檔而失敗。
- 遊戲 SDK 會顯示 Snackbar,通知使用者遊戲已與 Google 整合。這個 Snackbar 可供操作,使用者可以停用喚回功能,直到建立設定檔為止。
- 遊戲要求喚回存取權。請注意,如果裝置上有 PGS 設定檔,或是沒有 Google 帳戶,PGS 就會拒絕召回存取權要求。在這種情況下,遊戲應可在不使用 PGS 的情況下繼續進行。
- 使用者使用遊戲內帳戶登入後,遊戲會為使用者建立符記和人物角色配對,對應至他們的遊戲內帳戶。遊戲會將這組資料儲存在 Google 上。如果使用者登入其他遊戲內帳戶,遊戲可能會稍後儲存更多符記。
在新裝置上啟動遊戲
- 沒有 Play 遊戲服務設定檔的使用者在裝置上開啟已啟用無設定檔召回功能的遊戲。
- 遊戲會記錄無設定檔的喚回符記,如「儲存符記和人物角色組合」一節所述。
- 使用者在設有相同帳戶的不同裝置上開啟相同遊戲。
- 遊戲 SDK 會觸發設定檔建立作業。使用者可以查看及拒絕先前儲存的召回符記。使用者此時會建立 PGS 設定檔。
- 自動登入 PGS 作業完成,遊戲收到已驗證的狀態。
- 遊戲會照常為使用者擷取喚回符記。
後續步驟
如要將 Recall API 與您的用戶端和遊戲伺服器整合,請按照這份指南操作。