Google Play 遊戲正在進行 Beta 版公開測試。

將 Play 遊戲服務與現有身分識別解決方案整合的建議

Stay organized with collections Save and categorize content based on your preferences.

本頁面說明將 Play 遊戲服務登入功能與現有身分或雲端儲存解決方案整合的建議。雖然這些建議並非必要,但可以協助您完全符合 Google Play 遊戲的雲端儲存規定。請參閱持續性規定預期行為頁面,確認導入作業是否符合這些規定。

還原玩家狀態

為了方便您在遊戲中擷取及更新遊戲進度,遊戲後端可能會以某些 ID 代表遊戲帳戶,也就是所謂的帳戶 ID。玩家登入 Play 遊戲服務時,您可以透過這個驗證機制取得新的 Play 遊戲服務玩家 ID;您必須使用這組 ID 來遵守雲端儲存規定

Play 遊戲服務多重 ID 工作流程

玩家登入 Play 遊戲服務後,您應執行下列步驟:

  1. 從用戶端擷取 OAuth 代碼並傳送至您的伺服器。
  2. 交換驗證權杖,然後從我們的 Play 遊戲伺服器取得經過驗證的 Play 遊戲服務 ID。如此就能確保 ID 值得信任,而不是他人使用遭駭裝置假冒其他玩家。
  3. 嘗試根據裝置條件與任何已連結的 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 遊戲服務設定檔的方式在遊戲中變更帳戶;在這個情境中,您可以提示玩家確認要使用的帳戶。

Play 遊戲服務帳戶解決方案工作流程

如有多個相衝突的帳戶,建議您請玩家選擇其中一個帳戶。這類衝突情況應該只會在玩家擁有多個遊戲帳戶時發生;他們應該知道自己有多個帳戶,並且只想使用特定帳戶玩遊戲。

解決帳戶問題後,除非登入 ID 變更,否則遊戲應該記住玩家的選擇。如果變更 Play 遊戲服務設定檔,或是玩家在遊戲中登入不同 ID,由於玩家顯然希望改變帳戶,因此您應執行上述步驟。

解除繫結

如果希望玩家能夠完全掌控自己的繫結狀態,可以允許玩家將 Play 遊戲服務玩家 ID 與遊戲帳戶解除繫結。有些多帳戶玩家可能會不小心將 Play 遊戲服務玩家 ID 與主要帳戶以外的帳戶繫結,因此繫結狀態掌控功能對這類玩家來說可能很重要。

其他帳戶繫結示例

強繫結流程

這個主要例子顯示,某個 Play 遊戲服務玩家 ID (1) 只會與第一個顯示的遊戲帳戶 (A) 繫結在一起,而且玩家登出遊戲進度並使用另一個帳戶玩遊戲時,不會重新進行繫結。

您可以自行選擇是否要讓玩家重新繫結自己的帳戶,但這不是必要步驟。

在裝置上切換帳戶

強繫結的帳戶切換流程

在本例中,玩家手動切換了 Play 遊戲服務帳戶,藉此讓遊戲明確知道,自己想將遊戲中的帳戶變更為其他帳戶。玩家希望遊戲回應這項變更,因此若遊戲將這個信號納入考量,將能改善玩家體驗。

目前已與其他 ID 繫結的帳戶

為現有帳戶採用強繫結的流程

這個示例顯示,即使是繫結至非 Play 遊戲服務 ID 的帳戶,也應該要同時繫結至 Play 遊戲服務,並在新裝置中還原。擁有帳戶的大部分現有遊戲玩家都屬於這個類別。

喚回近期帳戶

當您考慮採用何種解決方案時,通常會想到多帳戶體驗。如果遊戲會鼓勵進階使用者建立多個帳戶 (例如抽卡遊戲或「結局由您決定」型態的遊戲),那麼若採用將 Play 遊戲服務玩家 ID 與單一帳戶繫結的方式,可能就無法在玩家切換裝置時提供最佳的玩家體驗。

喚回解決方案可讓您儲存 Play 遊戲服務玩家 ID 和遊戲內帳戶的概略對應資訊,如此玩家在切換裝置或登出帳戶時,只會看到您儲存的最後一個帳戶。

喚回流程圖

在這個示例中,玩家擁有 3 個遊戲帳戶,接著改用新的裝置:

喚回流程 2

提示玩家還原遊戲時,您可以自由加入「取消」或「新建」按鈕,方便玩家建立新帳戶。

為了方便起見,遊戲可以選擇只喚回最後一個顯示的帳戶。對於多帳戶切換用途而言,這個做法可能比較困難,但仍然符合持續性規定。

其他喚回示例

下一節列出使用喚回解決方案的其他示例。

非 Android 手機

非 Android 裝置的喚回流程

我們將說明現有的兩種喚回帳戶 (已與第 3 方帳戶連結),也就是在其他未登入 Play 遊戲服務的裝置上建立的帳戶。

較常見的流程是開始在非 Android 手機上改用 Google Play 遊戲。

非 Android 裝置的喚回流程 2

由於非 Android 手機沒有 Play 遊戲服務,因此沒有有效的喚回資訊,且玩家必須在 Google Play 遊戲中手動輸入憑證。

單一帳戶有多個 Play 遊戲服務設定檔

有時會有多個有效的 Play 遊戲服務設定檔先前曾「喚回」特定帳戶。在這種情況下,有兩種同樣有效的主要解決方案:

一律儲存 喚回多個設定檔並一律儲存的流程 在「一律儲存」模式下,我們會忽略特定帳戶的重複指標。

覆寫 喚回多個設定檔並覆寫的流程 在「覆寫」模式下,開發人員需要記住 Play 遊戲服務至帳戶的對應關係,並清除「覆寫」模式表格中的舊對應關係。如此一來,他們就能為喚回的帳戶和 Play 遊戲服務帳戶進行一對一的完美對應。

喚回相同的裝置 喚回相同裝置的流程 多重帳戶玩家也可以使用喚回機制來快速切換遊戲帳戶。