跳转至

如何使用身份验证

本页面介绍身份验证 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

IdP 描述 曝露条件 / 支持版本
Hive 会员 使用 Hive 会员账户的电子邮件和密码进行身份验证 无特殊条件
Facebook 使用 Facebook 账户进行身份验证 如果用户所在国家是中国(CN),则不显示
Google Play 游戏 使用 Google Play 游戏个人资料账户进行身份验证(与 Google 登录不同) 仅限 Android。如果用户所在国家是中国,则不显示
Google 使用 Google 电子邮件账户进行身份验证(支持 iOS 和其他平台,除了 Android) 如果用户所在国家是中国,则不显示。在 Android 上,Google 和 Google Play 游戏可以同时显示 — 通过图标区分: icon
Game Center 使用 Apple Game Center 账户进行身份验证 仅在 iOS 上显示
QQ 使用腾讯 QQ 账户进行身份验证 仅在用户所在国家是中国或游戏语言为简体中文时显示。QQ 登录支持从 Hive SDK v4.5.0 开始
VK 使用 VK 账户进行身份验证 仅在游戏语言为俄语时显示。如果用户所在国家是中国,则不显示。VK 登录支持从 Hive SDK v4.6.0 开始
WeChat 使用 WeChat 账户进行身份验证 仅在用户所在国家是中国或游戏语言为简体中文时显示。WeChat 登录支持从 Hive SDK v4.6.0 开始
Apple 使用 Apple 账户进行身份验证 在 iOS 13+ 上显示。Apple 登录支持从 Hive SDK v4.11.7.3 开始
SignInWithApple 在 Android 上使用 Apple 账户进行身份验证 支持 Android API 21+。支持从 Hive SDK v4.15.6 开始
LINE 使用 LINE 账户进行身份验证 在 Android SDK 17 和 iOS 10+ 上显示。LINE 登录支持从 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 具有以下特征:

  • 可以与多种 IdP 同步。
  • 一个 PlayerID 不能有超过一个用户 ID 来自同一个 IdP
  • 一个 IdP 的用户 ID 不能在同一游戏中与多个 PlayerIDs 关联。
  • 尽管使用相同的 IdP 账户,但每个游戏的 PlayerID 的发放方式不同。
  • 与 Authentication 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同步的访客用户。