本頁說明如何整合 使用現有身分或雲端儲存登入 Play 遊戲服務 解決方案雖然這些建議並非強制規定,但可以讓您 完成 雲端儲存規定 Google Play 遊戲電腦版。請參閱持續性規定和預期行為頁面,確認導入作業是否符合這些規定。
還原玩家狀態
為了方便您在遊戲中擷取及更新遊戲進度,遊戲後端可能會以某些 ID 代表遊戲帳戶,也就是所謂的帳戶 ID。玩家登入 Play 遊戲服務時,您可以透過這個驗證機制取得新的 Play 遊戲服務玩家 ID;您必須使用這組 ID 來遵守雲端儲存規定。
玩家登入 Play 遊戲服務後,您應執行下列步驟:
- 從用戶端擷取 OAuth 代碼並傳送至您的伺服器。
- 交換驗證權杖,然後從我們的 Play 遊戲伺服器取得經過驗證的 Play 遊戲服務 ID。如此就能確保 ID 值得信任,而不是他人使用遭駭裝置假冒其他玩家。
- 嘗試根據裝置條件與任何已連結的 ID 來解析遊戲帳戶。
你必須在遊戲中導入下列兩種主要的新情境:
- 在後端儲存 Play 遊戲服務 ID 並指派給
現有帳戶 ID,例如:
- 如果是新玩家,遊戲進度應該會在某個時間點自動連結至 Play 遊戲服務 (例如在遊戲啟動時、教學課程結束後,或完成特定數量的關卡等等)。
- 如果是現有玩家,目前遊戲進度應該會在玩家更新為已整合 Play 遊戲服務版本 2 的遊戲版本後,自動連結至 Play 遊戲服務。
- Play 遊戲服務 ID 可以與一或多個帳戶連結或取消連結,但至少應連結至一個有效帳戶。
- 系統會根據 Play 遊戲服務玩家 ID,在已登出/新的裝置上自動還原遊戲進度。
你可以透過多種方式儲存 Play 遊戲服務 ID,並將 ID 指派給現有帳戶,如下列例子所示。請特別留意,你應該讓玩家無需手動登入或連到其他身分識別系統,就能連結 Play 遊戲服務 ID 和遊戲進度,而且該玩家的遊戲進度應能順暢地在多種平台上還原。
設計解決方案時,請先查看現有的系統,並且瞭解該系統如何整合不同的識別資訊提供者。有些系統針對每個帳戶只會使用一組 ID,有些系統針對每個帳戶會使用多個 ID。
如果每個帳戶 ID 只能與單一 ID 建立關聯,您必須額外支援 Play 遊戲服務,以便與帳戶建立關聯。以下列出相關的解決方案。
解決方案示例
以下介紹繫結和喚回這兩種解決方案。
繫結是永久或半永久連結 Play 遊戲服務 ID 與帳戶狀態的流程。採用繫結解決方案時,即使玩家登出後再以其他帳戶登入遊戲,只要玩家不採取任何動作,透過 Play 遊戲服務還原的基礎帳戶就不會改變。我們會透過帳戶繫結來說明。
如果採用重新呼叫解決方案,遊戲開發人員會儲存 Play 遊戲服務 ID 的概略對應資訊,以及玩家透過其他裝置登入 Play 遊戲服務時看見的最後一個帳戶,也就是要還原的帳戶。玩家每次使用相同 Play 遊戲服務 ID 登入其他遊戲帳戶時,這個繫結將發生變化。請參閱下列流程圖中關於喚回近期帳戶的詳細示例:
如要查看更多使用者流程示例,請參閱下列解決方案。
帳戶繫結
如果遊戲中的多帳戶玩家並不多,或是你想鼓勵玩家只使用單一遊戲帳戶,那麼繫結機制或許是最適合你的遊戲解決方案。這個示例透過 Play 遊戲服務登入時顯示的第一個帳戶 (訪客帳戶或與其他身分識別平台繫結的帳戶),與 Play 遊戲服務玩家 ID 繫結在一起。繫結後,繫結的帳戶會自動在新裝置上還原。 因為我們建立緊密的繫結,玩家也可以 透過 Play 遊戲服務設定檔變更遊戲中的帳戶,同時 在這種情況下,系統可以提示玩家確認。
如有多個相衝突的帳戶,建議您請玩家選擇其中一個帳戶。這類衝突情況應該只會在玩家擁有多個遊戲帳戶時發生;他們應該知道自己有多個帳戶,並且只想使用特定帳戶玩遊戲。
解決帳戶問題後,除非登入 ID 變更,否則遊戲應該記住玩家的選擇。如果變更 Play 遊戲服務設定檔,或是玩家在遊戲中登入不同 ID,由於玩家顯然希望改變帳戶,因此您應執行上述步驟。
解除繫結
如果希望玩家能夠完全掌控自己的繫結狀態,可以允許玩家將 Play 遊戲服務玩家 ID 與遊戲帳戶解除繫結。這很重要 一些多重帳戶玩家,如果他們不小心 使用非主要帳戶的帳戶 Play 遊戲服務玩家 ID。
其他帳戶繫結示例
這個主要例子顯示,某個 Play 遊戲服務玩家 ID (1) 只會與第一個顯示的遊戲帳戶 (A) 繫結在一起,而且玩家登出遊戲進度並使用另一個帳戶玩遊戲時,不會重新進行繫結。
您可以自行選擇是否要讓玩家重新繫結自己的帳戶,但這不是必要步驟。
在裝置上切換帳戶
在本例中,玩家手動切換了 Play 遊戲服務帳戶,藉此讓遊戲明確知道,自己想將遊戲中的帳戶變更為其他帳戶。玩家希望遊戲回應這項變更,因此若遊戲將這個信號納入考量,將能改善玩家體驗。
目前已與其他 ID 繫結的帳戶
這個示例顯示,即使是繫結至非 Play 遊戲服務 ID 的帳戶,也應該要同時繫結至 Play 遊戲服務,並在新裝置中還原。擁有帳戶的大部分現有遊戲玩家都屬於這個類別。
喚回近期帳戶
當你考慮採用何種解決方案時,通常會想到多帳戶體驗。如果遊戲會鼓勵進階使用者建立多個帳戶 (例如抽卡遊戲或「結局由您決定」型態的遊戲),那麼若採用將 Play 遊戲服務玩家 ID 與單一帳戶繫結的方式,可能就無法在玩家切換裝置時提供最佳的玩家體驗。
喚回解決方案可讓您儲存 Play 遊戲服務玩家 ID 和遊戲內帳戶的概略對應資訊,如此玩家在切換裝置或登出帳戶時,只會看到您儲存的最後一個帳戶。
在這個示例中,玩家擁有 3 個遊戲帳戶,接著改用新的裝置:
提示玩家還原遊戲時,你也可以顯示「取消」或 [新建] 按鈕可讓玩家選擇建立新帳戶。
為了方便起見,遊戲可以選擇只喚回最後一個顯示的帳戶。對於多帳戶切換用途而言,這個做法可能比較困難,但仍然符合持續性規定。
其他喚回示例
下一節列出使用喚回解決方案的其他示例。
非 Android 手機
我們將說明現有的兩種喚回帳戶 (已與第 3 方帳戶連結),也就是在其他未登入 Play 遊戲服務的裝置上建立的帳戶。
較常見的流程可能是從非 Android 手機開始,再轉移到 Android 手機 Google Play 遊戲電腦版。
由於非 Android 手機沒有 Play 遊戲服務,因此沒有有效的喚回資訊,且玩家必須在 Google Play 遊戲電腦版中手動輸入憑證。
單一帳戶有多個 Play 遊戲服務設定檔
有時會有多個有效的 Play 遊戲服務設定檔先前曾「喚回」特定帳戶。在這種情況下,有兩種同樣有效的主要解決方案:
仍要儲存
我們會略過「仍要儲存」中特定帳戶的重複指標模型
覆寫
在「覆寫」開發人員必須記住 Play 遊戲服務
使用「覆寫」表格,即可清除表格中的帳戶對應並清除舊的對應關係模型如此一來,他們就能為喚回的帳戶和 Play 遊戲服務帳戶進行一對一的完美對應。
召回相同裝置
多帳戶播放器可使用召回導入方式快速轉換
遊戲帳戶。