跳转至

如何使用身份验证

本页面介绍身份验证 v4,这是Hive平台在Hive SDK v4.3.0中提供的新身份验证系统。身份验证 v4管理从Hive SDK初始化到登录的一系列过程。

Note

如果您想使用身份验证 v1 开发游戏,请参阅使用身份验证 v1 菜单的 SDK v4 开发。

组成

身份验证由三个步骤组成。

  1. Hive SDK 初始化
    • 在初始化SDK后,您可以使用Hive SDK提供的所有功能
    • 初始化阶段会显示服务条款以及更新/通知弹窗
    • 初始化阶段仅在Android设备上显示权限弹窗
  2. 显示游戏服务器选择菜单和维护弹窗
    • SDK初始化后向用户提供游戏服务器选择菜单。
    • 在选择游戏服务器后显示服务器维护弹窗。
  3. 登录
    • Hive 会员以及多种ID 提供者IdP)可通过身份验证v4登录游戏。

特性

  • 认证灵活,可以与多种 IdP 结合使用,例如 Apple Game CenterGoogle Play GamesFacebook
    • 可以使用社交媒体账户(如 Facebook)进行登录,无论是否为 Hive 会员。
    • 可以使用设置在用户设备上的 Apple Game CenterGoogle Play Games 账户进行隐式登录。
  • 支持自定义 UI 进行认证和登录程序。
    • 如有需要,可以根据游戏概念设计新的 UI,而不是使用 Hive SDK 提供的 UI
  • 支持通过分布式服务器进行稳定登录。
    • 用户即使在国际互联网线路出现问题或 Hive 服务器故障时,也可以通过位于韩国以外的分布式服务器登录游戏。

认证助手 v4

Hive SDK v4.7.0 提供了 AuthV4.Helper,这是一个用于实现快速简便登录的新功能。

  • 您可以找到升级后的 API,它比较两个帐户;一个用于执行游戏,另一个用于在用户设备上登录。
    • 设备上的 Google Play GameApple 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 GamesGoogle 登录,并可以通过以下图标进行区分。
    • 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账户进行用户身份验证,仅支持AndroidHuawei登录支持从Hive SDK v4.16.2开始。

用户标识符

在身份验证中,PlayerID 是一个唯一的密钥,用于识别用户。 PlayerID 具有以下特征:

  • 可以与多种身份提供者(IdP)同步。
  • 一个 PlayerID 不能有超过一个用户 ID 来自同一个 IdP
  • 一个 IdP 的用户 ID 不能在同一游戏中与多个 PlayerID 关联。
  • 尽管使用相同的 IdP 账户,每个游戏的 PlayerID 的发放方式是不同的。
  • 与身份验证 v4 提供的任何 IdP 都未同步的用户是访客用户。

PlayerID 示例

编号 玩家ID 游戏 Hive 会员 Facebook 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与三个身份提供者同步了PlayerIDFacebookGoogle Play GamesApple Game Center
  • 用户编号1和2将来自一个游戏的每个PlayerIDGoogle Play Games的不同两个用户ID同步。
  • 用户编号2和3将相同的Hive会员账户与不同两个游戏的PlayerIDs同步。
  • 用户编号4是一个未与任何IdP同步的访客用户。