平台驗證

將遊戲與 Google Play 遊戲服務 (PGS) 整合的第一步,就是實作平台驗證。如要使用成就、排行榜和活動等所有其他功能,就必須完成這項步驟。

由於 Play 遊戲服務 SDK 會在遊戲啟動時自動執行平台驗證,因此您必須將 PGS 第 2 版 SDK 整合至遊戲,並實作建議的驗證流程,確保遊戲已準備好實作並符合 Google Play 遊戲 Level Up 使用者體驗指南

驗證概念

在 Play 遊戲服務第 2 版中,「登入」的概念分為兩個不同的層級:平台驗證遊戲內驗證

平台驗證

Play 遊戲服務提供平台參與層。它會使用玩家個人資料管理玩家與 Google Play 遊戲生態系統的關係,以便存取成就、排行榜和任務等功能。平台驗證具有下列主要特徵:

  • 自動背景驗證:遊戲啟動時,系統會在背景自動進行驗證。Play 遊戲服務不需要手動「登入」按鈕。
  • 玩家 ID:平台驗證成功後,Play 遊戲服務會提供穩定的玩家 ID。在同一款遊戲中,這個 ID 在不同裝置上會保持一致。這個 ID 主要用於追蹤平台功能,例如成就進度。
  • 已解除連結:您不得使用 Play 遊戲服務做為遊戲的主要身分識別系統,管理玩家的遊戲內帳戶 (IGA)、遊戲進度或物品清單。Play 遊戲服務可做為永久平台 ID。

玩家 ID

玩家 ID 是 Play 遊戲服務玩家帳戶的 ID。只要遊戲使用 Play 遊戲服務驗證程序,即可擷取任何玩家的玩家 ID。您的遊戲用戶端整合遊戲伺服器整合雲端儲存服務可以使用 ID,安全地從 Play 遊戲服務存取玩家資料。

使用者在多部裝置上玩遊戲時,玩家 ID 會保持一致,但不同遊戲之間的玩家 ID 不一定會保持一致。詳情請參閱新一代玩家 ID

遊戲內驗證

您管理遊戲內帳戶 (IGA),這是用來繫結玩家進度、庫存和遊戲內貨幣的身分識別系統。

  • 主要身分:您可以將自己的後端、使用 Google 帳戶登入 (SiWG) 或其他供應商做為主要登入方法。
  • 獨立性:玩家登入任何特定 IGA (例如訪客帳戶或特定 SiWG 帳戶) 時,可以登入 Play 遊戲服務 (平台身分),並獲得成就。
  • 管理多個 IGA:Play 遊戲服務只會處理平台驗證。遊戲會管理玩家在 IGA 中的主要驗證。也就是說,玩家在遊戲中切換 IGA 的現有流程不會有任何變動。玩家切換帳戶時,仍會透過 PGS 向 Play 遊戲平台進行驗證,而您會繼續根據持續性玩家 ID 傳送成就和其他 PGS 功能的相關資料。

透過 SiWG 實現跨平台連續性

如要協助玩家在 Android、iOS 和網頁上延續進度,請使用「使用 Google 帳戶登入」做為遊戲內的主要驗證方法。請考量下列事項:

  • 「使用 Google 帳戶登入」按鈕:在 PGS 第 1 版中,「Google Play」按鈕通常會同時處理平台和遊戲登入作業。在第 2 版中,這些是個別程序。 實作標準的「使用 Google 帳戶登入」按鈕,供玩家驗證身分並存取 IGA。
  • Google 登入 SDK:
    • 在 Android 和 iOS 平台上,請使用標準的 Google 登入 SDK,驗證玩家是否登入其 IGA。
    • 使用 Google Open ID 做為玩家遊戲內帳戶的主要 ID。
    • 使用 Play 遊戲服務玩家 ID 回報玩家在 Play 遊戲功能 (例如成就) 的進度。

建議的整合項目

如要整合遊戲與 Play 遊戲服務,請按照下列建議步驟操作:

初始化和驗證

您必須完成這個步驟,才能初始化及驗證遊戲:

在啟動時初始化 Play 遊戲服務第 2 版 SDK,即可實作平台驗證。詳情請參閱「Android 遊戲的平台驗證」。您必須完成這個步驟,才能存取 Play 遊戲服務功能,例如成就和排行榜。

遊戲啟動時,驗證會以自動執行的背景程序進行。現有的 Play 遊戲服務使用者通過驗證後,會看到歡迎訊息。如果使用者沒有 Play 遊戲服務設定檔,系統會在 SDK 初始化期間提示建立設定檔

自動登入提示

建立個人資料

玩家必須擁有 Play 遊戲服務設定檔,才能使用這個平台。部分玩家開始玩遊戲時,可能沒有 Play 遊戲服務設定檔。系統會要求這些玩家建立帳戶。

根據預設,啟動遊戲時,如果沒有 Play 遊戲服務設定檔,系統會自動顯示提示,要求建立設定檔。

啟動遊戲時,系統會提示您建立設定檔。
啟動遊戲時顯示的個人資料建立提示 (按一下即可放大)。

遊戲內驗證

平台驗證成功執行後,開發人員應根據目前的遊戲狀態,實作下列步驟,讓玩家存取 IGA:

  1. 如果裝置上有進行中的遊戲工作階段,請允許玩家繼續目前的工作階段。
  2. 如果沒有任何有效遊戲工作階段:
    1. 如果無縫還原情境中,最後一次執行的 IGA 與 PGS 玩家 ID 相關聯,請繼續自動還原相關聯的 IGA。
    2. 否則,請向玩家顯示應用程式指定的登入或帳戶建立畫面。玩家可以選擇偏好的驗證方式,建立或登入現有的 IGA。

OAuth 範圍

Play 遊戲服務需要使用 OAuth 系統,才能讓玩家授予遊戲取得對方帳戶的存取權。Play 遊戲服務有獨特的遊戲範圍 (games-lite),而如果遊戲有使用遊戲進度存檔功能,則需要使用其他範圍 (drive.appdata)。遊戲進度存檔功能可以授予儲存遊戲資料的使用者 Google 雲端硬碟帳戶的存取權。

使用 Play 遊戲服務第 2 版 SDK 時,可以要求額外的 OAuth 範圍。如果需要額外的 OAuth 範圍,建議您呼叫 requestServerSideAccess。 詳情請參閱「取得伺服器授權碼」或「擷取伺服器驗證碼」。

理想驗證流程的使用者體驗規範

以下指南說明整合 PGS v2 時建議使用的驗證流程。涵蓋新使用者、現有使用者、回訪者和訪客模式的各種情境。

新玩家

這個流程適用於首次在裝置上啟動遊戲的使用者,且裝置上沒有遊戲的先前遊玩記錄。

  1. 啟動時,PGS SDK 會初始化,以驗證使用者的平台身分 (PGS 玩家 ID)。
  2. 完成這項背景交握後,遊戲會向玩家顯示 IGA 建立選項,例如「建立新帳戶」、「使用 Google 登入」或其他社群登入方法。
  3. 玩家建立或選取 IGA 後,遊戲會在後端將這個帳戶繫結至所選的主要 ID。
  4. 遊戲也會將所選 IGA 繫結至 PGS 玩家 ID,標示為無縫還原的最後一個 IGA。
已登入 PGS 設定檔的新玩家
已登入 Play 遊戲服務設定檔的新玩家 (按一下可放大)。
沒有 Play 遊戲服務設定檔的新玩家
沒有 Play 遊戲服務設定檔的新玩家 (按一下即可放大)。
新玩家已登入 PGS 設定檔
已登入 Play 遊戲服務設定檔的新玩家 (按一下可放大)。

有進行中工作階段的玩家

這個情境說明玩家在已啟動工作階段的裝置上啟動遊戲。目標是提供流暢的進入體驗。

  1. 玩家啟動應用程式時,PGS 會在背景進行無聲驗證,並提供玩家 ID,讓您追蹤成就和其他 Play 遊戲功能的進度。
  2. 同時,遊戲會略過登入畫面,立即將玩家登入其有效 IGA 工作階段,或與玩家 ID 相關聯的最後一個 IGA,讓玩家可以立即繼續遊戲。
在同一部裝置上啟動遊戲,並登入 Play 遊戲服務設定檔
在登入 PGS 設定檔的同一部裝置上啟動遊戲 (按一下即可放大)。
在同一部裝置上啟動遊戲,並登出 Play 遊戲服務設定檔
在同一部裝置上啟動遊戲,並登出 Play 遊戲設定檔 (按一下即可放大)。
在沒有 Play 遊戲服務設定檔的裝置上啟動遊戲
在沒有 Play 遊戲服務設定檔的裝置上啟動遊戲 (按一下即可放大)。
在新裝置上啟動遊戲,並登入 Play 遊戲服務設定檔和已連結的 IGA
在新裝置上啟動遊戲,並登入 Play 遊戲服務設定檔和連結的 IGA (按一下即可放大)。
在新裝置上啟動遊戲,並登入 Play 遊戲服務設定檔,但未連結 IGA
在新裝置上啟動遊戲,並登入 Play 遊戲服務設定檔,但未連結 IGA (按一下即可放大)。
在已登出 Play 遊戲服務設定檔的新裝置上啟動遊戲
在新裝置上啟動遊戲,並登出 Play 遊戲設定檔 (按一下即可放大)。
在新裝置上啟動遊戲,但沒有 Play 遊戲服務設定檔
在新裝置上啟動遊戲,但沒有 Play 遊戲服務設定檔 (按一下即可放大)。

玩家切換帳戶

當玩家在有效工作階段中前往遊戲設定切換帳戶時,就會發生這個流程。例如登出主要帳戶,改用備用帳戶。

  1. 玩家會登出目前的 IGA,但 PGS 平台連線仍處於有效狀態。
  2. 玩家使用其他 IGA 登入時,遊戲會將這個新帳戶繫結至目前的 PGS 玩家 ID,做為最後使用的 IGA,方便無縫還原。
切換至未繫結任何 Play 遊戲服務設定檔的 IGA
切換至未繫結任何 Play 遊戲服務設定檔的 IGA (按一下可放大)。
切換至與相同登入 PGS 設定檔綁定的 IGA
切換至繫結相同已登入 PGS 設定檔的 IGA (按一下可放大)。
切換至與其他 PGS 設定檔綁定的 IGA
切換至繫結不同 Play 遊戲服務設定檔的 IGA (按一下即可放大)。
在裝置上切換 IGA,但沒有 Play 遊戲服務設定檔
裝置上沒有 Play 遊戲設定檔時切換 IGA (按一下可放大)。
切換 IGA,但已登出 PGS 設定檔
使用已登出的 Play 遊戲服務設定檔切換 IGA (按一下可放大)。
切換至不存在的 IGA
切換至不存在的 IGA (按一下可放大)。

回歸玩家可順暢還原資料

如果玩家在閒置一段時間後啟動遊戲、重新安裝遊戲,或是在全新裝置上啟動遊戲,就會發生這種情況。建議遊戲實作無縫還原功能。

  1. 啟動時,PGS 會驗證使用者身分,並將 PGS 玩家 ID 提供給遊戲。
  2. 遊戲會檢查後端 (或使用 Recall API 時擷取的喚回符記),確認上次玩過的 IGA 是否已連結至這個 PGS ID。
  3. 如果找到連結,遊戲會自動還原玩家的進度並登入,完全略過手動登入畫面。
  4. 否則遊戲會向玩家顯示登入畫面
    1. 玩家接著選擇登入方式,並登入 IGA
    2. 接著,遊戲會將這個 IGA 與 PGS 玩家 ID 繫結,做為最後使用的 IGA,以便順利還原。
已登出 PGS 設定檔的回訪玩家
已登出 Play 遊戲服務設定檔的回訪玩家 (按一下即可放大)。
回訪玩家已登入 PGS 設定檔並連結 IGA
回訪玩家登入 Play 遊戲服務設定檔並連結 IGA (按一下即可放大)。
回訪玩家已登入 PGS 設定檔,但未連結 IGA
已登入 Play 遊戲服務設定檔但未連結 IGA 的回訪玩家 (按一下即可放大)。
沒有 Play 遊戲服務設定檔的回訪玩家
沒有 Play 遊戲服務設定檔的回訪玩家 (按一下即可放大)。

訪客模式

玩家可以啟動遊戲,並使用本機訪客帳戶進行遊戲。PGS 仍會在背景進行驗證。如果玩家選擇「儲存進度」,遊戲會將訪客工作階段轉換為永久 IGA,並繫結至 PGS 玩家 ID。

訪客模式 - 未建立 IGA
訪客模式 - 未建立 IGA (按一下即可放大)。
訪客模式 - 已建立 IGA
訪客模式 - 已建立 IGA (按一下即可放大)。