跳转至

如何使用身份验证

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

Note

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

组成

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

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

特性

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

AuthV4.Helper

身份验证提供了 AuthV4.Helper,以便更轻松、更快速地实现登录功能。

  • 您可以找到升级版的API,该API用于比较两个账户;一个用于执行游戏,另一个用于用户设备上的登录。
    • 设备上用于Google Play GamesApple Game Center的账户与同步的PlayerID账户进行比较。
  • 您无需检查游戏中的数据,只需查看SDK文件。
    • 通过验证国家数据,显示合适的ID提供者(IdP)。 (例如,如果国家信息为中国(CN),则访客账户将从IdP列表中隐藏。)
    • 通过识别设备的操作系统类型显示合适的IdP。 (例如,如果设备的操作系统类型基于Google,并且国家信息为中国(CN),则Google Play Games将从IdP列表中隐藏。)
  • 您可以执行与SDK同步的简化指南。
    • 与Hive服务器API的实现部分不必要的部分被删除,以遵循指南。
    • 更新使理解和实现变得更加容易,而不是使用Hive服务器API

可用的提供者

如前所述, 认证通过 IdP 验证用户。用户可以使用之前同步的 IdP,或选择其他 IdP 来链接到登录账户。提供的 IdP 可以根据游戏的不同而设置,Hive 平台根据用户的国家信息向用户展示适当的 IdP

身份提供者在身份验证中提供

IdP 描述 曝露条件 / 支持版本
会员 使用会员账户的电子邮件和密码进行身份验证 无特殊条件
Facebook 使用Facebook账户进行身份验证 如果用户国家是中国(CN),则不显示
Google Play Games 使用Google Play Games个人资料账户进行身份验证(与Google登录不同) 仅限Android。如果用户国家是中国,则不显示
Google 使用Google电子邮件账户进行身份验证(支持iOS和其他平台,除了Android) 如果用户国家是中国,则不显示。在Android上,Google和Google Play Games可以同时显示 - 通过图标区分: icon
Game Center 使用Apple Game Center账户进行身份验证 仅在iOS上显示
QQ 使用腾讯QQ账户进行身份验证 仅当用户国家是中国或游戏语言为简体中文时显示。QQ登录从Hive SDK 4.5.0开始支持
VK 使用VK账户进行身份验证 仅当游戏语言为俄语时显示。如果用户国家是中国,则不显示。VK登录从Hive SDK 4.6.0开始支持
WeChat 使用微信账户进行身份验证 仅当用户国家是中国或游戏语言为简体中文时显示。微信登录从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 账号进行认证 Hive SDK 4.24.5 起支持 X 登录
Steam 使用 Steam 账号进行认证 Hive SDK 4.24.5 起支持 Steam 登录
Telegram 使用 Telegram 账号进行认证 Hive SDK 4.25.0 起支持 Telegram 登录
XIAOMI 使用 XIAOMI 账号进行认证 仅在 Android 上显示。Hive SDK 4.25.5.1 起支持 XIAOMI 登录
Funtap 使用 Funtap 账号进行认证 仅限越南 Funtap Appraisal Build。Hive SDK 4.26.2 起支持 Funtap 登录

用户标识

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

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

PlayerID 示例

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