登入

Play 遊戲服務登入程序透過 Play 遊戲服務驗證玩家,並提供用於跨裝置遊玩的 Android 遊戲身分 (玩家 ID)。登入程序支援遊戲進度存檔服務,但您也可使用玩家 ID 做為雲端儲存服務的金鑰。

SDK 版本

本主題適用於 Play 遊戲服務第 2 版 SDK。舊版 SDK 的相關資訊請見 Play 遊戲服務第 1 版說明文件

Play 遊戲服務第 2 版 SDK 提供下列優於第 1 版的登入改善功能:

  • 使用者改善功能:
    • 選取預設帳戶後,使用者不需要有登入提示也可以登入。
  • 開發人員改善功能:
    • 用戶端程式碼不再需要處理登入或登出流程,因為系統會在遊戲開始時自動觸發登入程序,並在 OS 設定中處理帳戶管理。

登入要求配額

Play 遊戲服務登入要求每日有一個配額。詳情請參閱管理每日配額一節。

多帳戶登入服務

Play 遊戲服務可以為 Android 玩家提供遊戲身分,但是這不一定是使用者唯一可以使用的身分。您可以同時使用 Play 遊戲服務、社群網路 ID 以及您自己的遊戲內部 ID 系統登入玩家。

自動登入

如果玩家啟動了已啟用自動登入功能的遊戲,使用者就會登入遊戲,無須與登入提示互動。玩家可以在 Google Play 遊戲應用程式或遊戲顯示的初始登入提示中,啟用自動登入功能。

自動登入提示

玩家 ID

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

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

OAuth 範圍

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

使用 Play 遊戲服務第 2 版 SDK 時,無法要求額外的 OAuth 範圍。如果需要額外的 OAuth 範圍,建議您使用 Google 登入 SDK 搭配 Play 遊戲服務。

遊戲用戶端整合

將登入程序整合至遊戲專案時,建議您採用下列使用者流程:

  1. 遊戲啟動時,系統會啟動自動登入功能,並嘗試登入使用者或建立新帳戶。

  2. 如果自動登入無法順利運作,或是使用者拒絕使用,則顯示手動登入按鈕,以便於使用者之後登入。

如要瞭解如何在遊戲專案中整合登入程序,請參閱專案類型的入門指南:

遊戲伺服器整合

玩家使用登入服務登入遊戲後,您的後端遊戲伺服器可以直接與 Play 遊戲服務伺服器進行通訊,藉此存取玩家的 ID、設定檔、好友清單,以及其他 Play 遊戲服務資料。您必須使用 Play 遊戲服務 SDK 提供的伺服器授權碼。您的伺服器可以使用授權碼與 Play 遊戲服務 REST API,以便安全地與 Play 遊戲服務伺服器進行通訊。

詳情請參閱「Play 遊戲服務的伺服器端存取權」。