跳转至

如何使用身份验证

本页面介绍了身份验证,这是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开始支持

用户标识

在身份验证中,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同步的访客用户。