如何使用身份驗證¶
本頁介紹身份驗證 v4,這是Hive平台的新身份驗證系統,從Hive SDK v4.3.0開始提供。身份驗證 v4管理從Hive SDK初始化到登錄的一系列過程。
Note
如果您想使用身份驗證 v1 開發遊戲,請參閱使用身份驗證 v1 菜單的 SDK v4 開發。
組成¶
身份驗證由三個步驟組成。
- Hive SDK 初始化
- 在初始化SDK後,您可以使用Hive SDK提供的所有功能
- 初始化階段會顯示服務條款以及更新/通知彈出窗口
- 初始化階段僅在Android設備上顯示權限彈出窗口
- 顯示遊戲伺服器選擇菜單和維護彈出窗口
- 在SDK初始化後向用戶提供遊戲伺服器選擇菜單。
- 在選擇遊戲伺服器後顯示伺服器維護彈出窗口。
- 登錄
- Hive 會員以及多樣的ID 提供者 (IdP) 可通過身份驗證 v4 登錄遊戲。
功能¶
- 身份驗證可靈活應用於多種IdP,例如Apple Game Center、Google Play Games和Facebook。
- 可以使用社交媒體帳戶登錄,例如Facebook,無論是否為Hive會員。
- 使用設置在用戶設備上的Apple Game Center或Google Play Games帳戶可進行隱式登錄。
- 支持自定義UI以進行身份驗證和登錄程序。
- 如有需要,根據遊戲概念設計新的UI,而不是使用Hive SDK提供的UI。
- 通過分佈式伺服器支持穩定的登錄。
- 即使國際互聯網線路出現問題或Hive伺服器故障,用戶也可以通過位於韓國以外的伺服器登錄遊戲。
認證助手 v4¶
Hive SDK v4.7.0 提供了 AuthV4.Helper,這是一個用於實現快速簡便登錄的新功能。
- 您可以找到升級的 API,它比較兩個帳戶;一個用於執行遊戲,另一個用於用戶設備上的登錄。
- 設備上的 Google Play Game 或 Apple Game Center 帳戶與 PlayerID 的同步帳戶進行比較。
- 您不必檢查遊戲中的數據,只需查看 SDK 文件。
- 通過驗證國家數據顯示合適的 ID 提供者 (IdP)。 (例如,如果國家信息是中國 (CN),則來賓帳戶將從 IdP 列表中隱藏。)
- 通過識別設備的操作系統類型顯示合適的 IdP。 (例如,如果設備的操作系統類型基於 Google 且國家信息是中國 (CN),則 Google Play Game 將從 IdP 列表中隱藏。)
- 您可以執行與 Hive SDK 同步的簡化指導方針。
- 不必要的實施部分與 Hive Server API 的指導方針被消除。
- 更新使其更易於理解和實施,而不是使用 Hive Server API。
可用的提供者¶
如前所述, 身份验证 v4 通过 IdP 验证用户。用户可以使用之前同步的 IdP 或选择其他 IdP 以链接到登录帐户。提供的 IdP 可以根据游戏的不同而设置,Hive 平台根据用户的国家信息向用户展示适当的 IdP。
- 与身份验证 v4 一起可用的 IdP
- Hive 会员: 使用 Hive 帐户的电子邮件和密码验证用户。
- Facebook: 使用 Facebook 帐户验证用户。如果用户 IP 在中国,则不显示。
- Google Play Games: 使用 Google Play Games 个人资料帐户进行身份验证,仅支持 Android 平台。如果用户来自中国,则此 IdP 不会显示。此 IdP 与下面的 Google 登录不同。
- Google: 使用 Google 电子邮件帐户进行身份验证,支持 Android 和其他平台,包括 iOS。对于 Android 平台,可以同时提供 Google Play Games 和 Google 登录,并可以通过以下图标进行区分。
- Game Center: 使用 Apple Game Center 帐户验证用户,该帐户仅在 iOS 基础设备上显示。
- QQ: 使用 Tencent QQ 帐户验证用户,如果用户 IP 在中国或游戏语言为简体中文,则会显示。可与 Hive SDK v4.5.0 及更高版本一起使用。
- VK: 使用 VK 帐户验证用户,如果游戏语言为俄语,则会显示,且不向来自中国的用户显示。可与 Hive SDK v4.6.0 及更高版本一起使用。
- WeChat: 使用 WeChat 帐户验证用户,如果用户 IP 在中国或游戏语言为简体中文,则会显示。可与 Hive SDK v4.6.0 及更高版本一起使用。
- Apple: 使用 Apple 帐户验证用户,该帐户在 iOS 13 上显示。可与 Hive SDK v4.11.7.3 及更高版本一起使用。
- SignInWithApple: 在 Android 上验证用户的 Apple 帐户,支持 Android API 21 及更高版本。可与 Hive SDK v4.15.6 及更高版本一起使用。
- LINE: 使用 LINE 帐户验证用户,该帐户在 iOS 10 和 Android SDK 17 上显示。可与 Hive SDK v4.14.0 及更高版本一起使用。 <
- Weverse: 使用Weverse帳戶來驗證用戶,僅對iOS 12或更高版本開放。Weverse登錄支持從Hive SDK v4.15.2開始。
- Huawei: 使用Huawei帳戶進行用戶驗證,僅對Android開放。Huawei登錄支持從Hive SDK v4.16.2開始。
用戶識別碼¶
在身份驗證中,PlayerID 是識別用戶的唯一鍵。 PlayerID 具有以下特徵:
- 它可以與多種身份提供者(IdPs)同步。
- 一個 PlayerID 不能擁有來自同一 IdP 的多個用戶 ID。
- 一個 IdP 的用戶 ID 不能在同一遊戲中與多個 PlayerIDs 連結。
- 儘管使用相同的 IdP 帳戶,但每個遊戲的 PlayerID 是不同的。
- 與身份驗證 v4 提供的任何 IdPs 都未同步的用戶是訪客用戶。
PlayerID 範例¶
編號 | 玩家ID | 遊戲 | Hive 會員 | 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將相同的Hive 會員帳戶與不同兩個遊戲的PlayerIDs同步。
- 用戶編號4是一個未同步任何IdP的訪客用戶。