Google Play 遊戲服務登入機制可驗證玩家身分,並提供專屬的 Android 遊戲身分 (玩家 ID)。
這個平台層級的玩家 ID 可讓玩家在多部裝置上順暢地繼續遊戲,在遊戲與玩家之間建立緊密的連結。相較於其他中央系統,玩家更願意使用這個身分登入。
此外,登入程序可為雲端儲存系統提供可靠的 ID。玩家可以執行下列操作:
- 即使變更或重設裝置,依然可以接續遊戲進度。
- 在多部裝置上玩遊戲,在智慧型手機和 Chromebook 之間順暢切換。
- 解除安裝遊戲後再重新安裝。
開發人員可以選擇使用玩家 ID 做為自己的雲端儲存解決方案金鑰,也可以使用內建的遊戲進度存檔服務。
Play 遊戲服務 (PGS) 支援自動登入,可讓玩家輕鬆登入。
使用 Play 遊戲服務登入功能,可為玩家提供強大的身分識別,不必實作排行榜或遊戲進度存檔等額外功能。這種低摩擦係數的做法可讓玩家更輕鬆地與遊戲互動,並打造個人化體驗。
Play 遊戲服務第 2 版 SDK
Play 遊戲服務第 2 版 SDK 在使用者登入方面,提供多項優於第 1 版的強化功能:
使用者:
- 提升使用者體驗:選取預設帳戶後,使用者會自動登入,不會看到其他提示。
開發人員:
- 簡化程式碼導入程序:用戶端程式碼不再需要處理登入或登出流程。系統會在遊戲啟動時自動觸發登入程序,並在 OS 設定中處理帳戶管理。
登入要求配額
Play 遊戲服務設有登入要求的每日配額。詳情請參閱管理每日配額一節。
建議登入流程
為了讓玩家成功登入遊戲,請使用以下登入流程:
- 遊戲啟動時,系統會觸發自動登入,嘗試登入使用者或建立新帳戶。
- 如果自動登入無法順利運作,或是使用者拒絕使用,則顯示手動登入按鈕,以便於使用者之後登入。
自動登入
如果玩家啟動了已啟用自動登入功能的遊戲,使用者就會登入遊戲,無須與登入提示互動。玩家可以在 Google Play 遊戲應用程式或遊戲顯示的初始登入提示中,啟用自動登入功能。
多帳戶登入服務
Play 遊戲服務可以為 Android 玩家提供遊戲身分,但是這不一定是使用者唯一可以使用的身分。您可以同時使用 Play 遊戲服務、社群網路 ID 以及您自己的遊戲內部 ID 系統登入玩家。
玩家 ID
玩家 ID 是 Play 遊戲服務玩家帳戶的 ID。只要遊戲使用 Play 遊戲服務登入程序,即可擷取任何玩家的玩家 ID。您的遊戲用戶端整合、遊戲伺服器整合和雲端儲存服務可以使用 ID,安全地從 Play 遊戲服務存取玩家資料。
使用者在多部裝置上玩遊戲時,玩家 ID 會保持一致,但不同遊戲之間的玩家 ID 不一定會保持一致。詳情請參閱新一代玩家 ID。
OAuth 範圍
Play 遊戲服務需要使用 OAuth 系統,才能讓玩家授予遊戲取得對方帳戶的存取權。Play 遊戲服務有獨特的遊戲範圍 (games-lite
),而如果遊戲有使用遊戲進度存檔功能,則需要使用其他範圍 (drive.appdata
)。遊戲進度存檔功能可以授予儲存遊戲資料的使用者 Google 雲端硬碟帳戶的存取權。
使用 Play 遊戲服務第 2 版 SDK 時,可以要求額外的 OAuth 範圍。如果需要額外的 OAuth 範圍,建議您呼叫 requestServerSideAccess
。
詳情請參閱「取得伺服器授權碼」或「擷取伺服器驗證碼」。
Recall API
遊戲可透過 Recall API,將喚回符記儲存在 Google 伺服器,以管理 PGS 使用者與遊戲內帳戶之間的連結。如要進一步瞭解如何啟用這項功能,請參閱「在遊戲中整合 PGS Recall API」。
遊戲用戶端整合
將登入程序整合至遊戲專案時,建議您採用下列使用者流程:
遊戲的啟動序列會啟動自動登入功能,並嘗試登入使用者或建立新帳戶。
如果自動登入無法順利運作,或是使用者拒絕使用,則顯示手動登入按鈕,以便於使用者之後登入。
如要瞭解如何在遊戲專案中整合登入程序,請參閱專案類型適用的入門指南:
遊戲伺服器整合
玩家使用登入服務登入遊戲後,您的後端遊戲伺服器可以直接與 Play 遊戲服務伺服器進行通訊,藉此存取玩家的 ID、設定檔、好友清單,以及其他 Play 遊戲服務資料。您必須使用 Play 遊戲服務 SDK 提供的伺服器授權碼。您的伺服器可以使用授權碼與 Play 遊戲服務 REST API,以便安全地與 Play 遊戲服務伺服器進行通訊。
詳情請參閱「Play 遊戲服務的伺服器端存取權」。