如何使用身份验证¶
本页面介绍身份验证 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 服务器 API 的指南被消除。
- 更新使其更易于理解和实现,而不是使用 Hive 服务器 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账户进行用户身份验证,仅支持
12或更高版本。Weverse登录支持从Hive SDK v4.15.2开始。 - Huawei: 使用Huawei账户进行用户身份验证,仅支持Android。Huawei登录支持从Hive SDK v4.16.2开始。
用户标识符¶
在身份验证中,PlayerID 是一个唯一的密钥,用于识别用户。 PlayerID 具有以下特征:
- 可以与多种身份提供者(IdP)同步。
- 一个 PlayerID 不能有超过一个用户 ID 来自同一个 IdP。
- 一个 IdP 的用户 ID 不能在同一游戏中与多个 PlayerID 关联。
- 尽管使用相同的 IdP 账户,每个游戏的 PlayerID 的发放方式是不同的。
- 与身份验证 v4 提供的任何 IdP 都未同步的用户是访客用户。
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与Google Play Games的不同两个用户ID同步。
- 用户编号2和3将相同的Hive会员账户与不同两个游戏的PlayerIDs同步。
- 用户编号4是一个未与任何IdP同步的访客用户。