如何使用身份驗證¶
本頁介紹身份驗證,這是Hive平台從Hive SDK 4.3.0開始提供的新身份驗證系統。身份驗證管理從SDK初始化到登錄的一系列過程。
Note
如果您想使用身份驗證 v1 開發遊戲,請參閱使用身份驗證 v1 菜單的 SDK v4 開發。
組成¶
身份驗證由三個步驟組成。
- SDK 初始化
- 初始化SDK後,您可以使用SDK提供的所有功能
- 初始化階段會顯示服務條款以及更新/通知彈出窗口
- 初始化階段僅在基於Android的設備上顯示權限彈出窗口
- 顯示遊戲伺服器選擇菜單和維護彈出窗口
- 在SDK初始化後,向用戶提供遊戲伺服器選擇菜單。
- 在選擇遊戲伺服器後顯示伺服器維護彈出窗口。
- 登錄
- 會員以及多種ID 提供者(IdP)可通過身份驗證登錄遊戲。
功能¶
- 身份驗證靈活,適用於各種IdP,例如Apple Game Center、Google Play Games和Facebook。
- 無論會員身份如何,都可以使用社交媒體帳戶(例如Facebook)登錄。
- 使用者設備上設置的Apple Game Center或Google Play Games帳戶可以進行隱式登錄。
- 支持自定義的UI進行身份驗證和登錄程序。
- 如有需要,根據遊戲概念設計新的UI,而不是使用SDK提供的UI,通過給定的API進行設計。
- 通過分佈式伺服器支持穩定的登錄。
- 即使國際互聯網線路出現問題或Hive伺服器故障,使用者仍然可以通過位於韓國以外的伺服器登錄遊戲。
AuthV4.Helper¶
身份驗證提供 AuthV4.Helper,使登錄功能更容易和更快地實現。
- 您可以找到升级版的API,它比较两个帐户;一个用于执行游戏,另一个用于在用户设备上登录。
- 设备上的Google Play Games或Apple Game Center帐户与同步的PlayerID帐户进行比较。
- 您不必检查游戏中的数据,只需查看SDK文件。
- 通过验证国家数据显示合适的ID提供者(IdP)。 (例如,如果国家信息是中国(CN),则访客帐户将从IdP列表中隐藏。)
- 通过识别设备的操作系统类型显示合适的IdP。 (例如,如果设备的操作系统类型基于Google,并且国家信息是中国(CN),则Google Play Games将从IdP列表中隐藏。)
- 您可以执行与SDK同步的简化指南。
- 不必要的部分与Hive服务器API的实现以遵循指南被消除。
- 更新使得理解和实现变得容易,而不是使用Hive服务器API。
可用的提供者¶
如前所述, 身份验证通过 IdP 验证用户。用户可以使用先前同步的 IdP 或选择其他的来链接登录账户。提供的 IdP 可以根据游戏的不同而设置,Hive 平台根据用户的国家信息向用户展示适当的 IdP。
身份提供者在身份驗證中的作用¶
| IdP | 描述 | 曝露條件 / 支援版本 |
|---|---|---|
| 會員 | 使用會員帳戶的電子郵件和密碼進行身份驗證 | 無特殊條件 |
| 使用 Facebook 帳戶進行身份驗證 | 如果用戶國家為中國 (CN),則不顯示 | |
| Google Play 遊戲 | 使用 Google Play 遊戲個人資料帳戶進行身份驗證(不同於 Google 登錄) | 僅限 Android。如果用戶國家為中國,則不顯示 |
| 使用 Google 電子郵件帳戶進行身份驗證(支持 iOS 和其他平台,除了 Android) | 如果用戶國家為中國,則不顯示。在 Android 上,Google 和 Google Play 遊戲可以同時顯示 — 以圖標區分: ![]() | |
| 遊戲中心 | 使用 Apple 遊戲中心帳戶進行身份驗證 | 僅在 iOS 上顯示 |
| 使用騰訊 QQ 帳戶進行身份驗證 | 僅在用戶國家為中國或遊戲語言為簡體中文時顯示。QQ 登錄從 Hive SDK 4.5.0 開始支持 | |
| VK | 使用 VK 帳戶進行身份驗證 | 僅在遊戲語言為俄語時顯示。如果用戶國家為中國,則不顯示。VK 登錄從 Hive SDK 4.6.0 開始支持 |
| 微信 | 使用微信帳戶進行身份驗證 | 僅在用戶國家為中國或遊戲語言為簡體中文時顯示。微信登錄從 Hive SDK 4.6.0 開始支持 |
| Apple | 使用 Apple 帳戶進行身份驗證 | 在 iOS 13+ 上顯示。Apple 登錄從 Hive SDK 4.11.7.3 開始支持 |
| 使用 Apple 登錄 | 在 Android 上使用 Apple 帳戶進行身份驗證 | 支持 Android API 21+。從 Hive SDK 4.15.6 開始支持 |
| LINE | 使用 LINE 帳戶進行身份驗證 | 在 Android SDK 17 和 iOS 10+ 上顯示。LINE 登錄從 Hive SDK 4.14.0 開始支持 |
| Weverse | 使用 Weverse 帳戶進行身份驗證 | 在 iOS 12+ 上顯示。Weverse 登錄從 Hive SDK 4.15.2 開始支持 |
| 華為 | 使用華為帳戶進行身份驗證 | 僅在 Android 上顯示。華為登錄從 Hive SDK 4.16.2 開始支持 |
| X | 使用 X 帳號進行驗證 | X 登入自 Hive SDK 4.24.5 起支援 |
| Steam | 使用 Steam 帳號進行驗證 | Steam 登入自 Hive SDK 4.24.5 起支援 |
| Telegram | 使用 Telegram 帳號進行驗證 | Telegram 登入自 Hive SDK 4.25.0 起支援 |
| XIAOMI | 使用 XIAOMI 帳號進行驗證 | 僅在 Android 顯示。XIAOMI 登入自 Hive SDK 4.25.5.1 起支援 |
| Funtap | 使用 Funtap 帳號進行驗證 | 越南 Funtap Appraisal Build 專用。Funtap 登入自 Hive SDK 4.26.2 起支援 |
用戶識別¶
在身份驗證中,PlayerID 是用來識別用戶的唯一鍵。PlayerID 具有以下特徵:
- 它可以與多種身份提供者(IdP)同步。
- 一個 PlayerID 不能擁有同一 IdP 的多個用戶 ID。
- 一個 IdP 的用戶 ID 不能在同一遊戲中與多個 PlayerIDs 連結。
- 儘管是相同的 IdP 帳戶,每個遊戲的 PlayerID 發放方式不同。
- 與身份驗證提供的任何 IdP 都未同步的用戶為訪客用戶。
PlayerID 範例¶
| 編號 | 玩家ID | 遊戲 | 會員資格 | Google Play 遊戲 | 遊戲中心 | |
| 1 | 10001 | A | X | F10000 | G10000 | A10000 |
| 2 | 10002 | A | H10000 | X | G20000 | X |
| 3 | 20001 | B | H10000 | X | X | X |
| 4 | 20003 | B | X | X | X | X |
- 用戶編號1將PlayerID與三個身份提供者同步;Facebook、Google、Play、Games和Apple、Game、Center。
- 用戶編號1和2將來自一個遊戲的每個PlayerID與不同的兩個用戶ID的Google、Play、Games同步。
- 用戶編號2和3將相同的會員帳戶與不同的兩個遊戲的PlayerIDs同步。
- 用戶編號4是一個未同步任何IdP的訪客用戶。
