按 IdP 输入密钥
要使用 Hive SDK 认证功能,您需要各个身份提供者(IdP)在所有开发引擎中提供的密钥值。本文档指导您如何将从每个 IdP 控制台发出的密钥值输入到 Hive 控制台 和 hive_config.xml 文件中。
概述¶
要使用任何身份提供者(IdP),您需要从 IdP 控制台获取密钥值,并将其输入到 Hive 控制台或 hive_config.xml 文件中(或两者都输入)。例如,如果开发人员希望为 Windows 环境中的用户提供 Google 和 Apple 登录,他们需要分别从 Google 控制台和 Apple 控制台获取密钥值,并将密钥输入到 Hive 控制台和 hive_config.xml 文件中。有关按 IdP 和操作系统输入密钥值的位置,请参阅以下信息。
- hive_config.xml
- 输入您想要在hive_config.xml文件中使用的IdP控制台获得的密钥值
- 在Unity或Unreal Engine环境中,可以在配置编辑器中输入
- Hive 控制台
- 输入您想要在Hive控制台中使用的IdP控制台获得的密钥值
- Hive 控制台, hive_config.xml
- 密钥值需要在Hive 控制台和hive_config.xml中都输入
- 排除设置
- 不需要在Hive 控制台和hive_config.xml中都输入密钥值
- 不支持
- 不支持的IdP
IdP / OS | 安卓 | iOS | Windows | macOS | 网页登录 |
---|---|---|---|---|---|
使用 Google Play 登录 | Hive 控制台, hive_config.xml | 不支持 | 不支持 | 不支持 | 不支持 |
Hive 登录 | 排除设置 | 排除设置 | 排除设置 | 排除设置 | Hive 控制台 |
使用 Facebook 登录 | hive_config.xml | hive_config.xml | Hive 控制台, hive_config.xml | Hive 控制台 | Hive 控制台 |
作为游客登录 | 排除设置 | 排除设置 | 不支持 | 不支持 | 不支持 |
使用 Apple 登录 | Hive 控制台, hive_config.xml | hive_config.xml | Hive 控制台, hive_config.xml | Hive 控制台 | Hive 控制台 |
使用 Google 登录 | hive_config.xml | hive_config.xml | Hive 控制台, hive_config.xml | Hive 控制台 | Hive 控制台 |
使用 QQ 登录 | hive_config.xml | hive_config.xml | 不支持 | 不支持 | 不支持 |
使用 VK 登录 | strings.xml | hive_config.xml | 不支持 | 不支持 | 不支持 |
使用 WeChat 登录 | hive_config.xml | hive_config.xml | 不支持 | 不支持 | 不支持 |
使用 LINE 登录 | hive_config.xml | hive_config.xml | 不支持 | 不支持 | 不支持 |
使用 Weverse 登录 | hive_config.xml | hive_config.xml | hive_config.xml | 不支持 | 不支持 |
使用 HUAWEI ID 登录 | Hive 控制台 | 不支持 | 不支持 | 不支持 | 不支持 |
使用 Steam 登录 | Hive 控制台, hive_config.xml | Hive 控制台, hive_config.xml | Hive 控制台, hive_config.xml | Hive 控制台 | 不支持 |
使用 X 登录 | hive_config.xml | hive_config.xml | hive_config.xml | 不支持 | 不支持 |
使用 Telegram 登录 | Hive 控制台, hive_config.xml | Hive 控制台, hive_config.xml | hive_config.xml | 不支持 | 不支持 |
Hive 在控制台输入¶
在游戏中提供登录功能时,您需要确定要公开的身份提供者(IdP)及其曝光顺序。为此,请按照顺序为 Hive 控制台中的每个 AppID 进行 选择登录类型、改变登录顺序和在 Hive 控制台中注册认证密钥。
安全密钥发放¶
为了增强服务之间的身份验证安全性,您必须从 Hive 控制台 > 安全密钥设置获取安全密钥。
Warning
如果您未获得安全密钥,用户将无法登录应用程序。
输入 hive_config.xml¶
从 IdP 控制台获取密钥值并将其输入到 hive_config.xml 文件中。以下是一个假设使用所有 IdP 的示例代码。
<properties>
<providers>
<!-- 使用 Google Play 登录 (Google Play 游戏) -->
<googleplaygames playAppId="123456789012" serverClientId="123456789012-abc.apps.googleusercontent.com" />
<!-- 使用 Facebook 登录 (Facebook) -->
<!-- 以下 Facebook 代码是如何设置额外权限(例如,user_friends,user_gender),超出 Hive SDK 自动配置的 email 和 public_profile 权限的示例。 -->
<!-- 使用 hive_config.xml 时,游戏公司应仅在 <permission> 元素中插入他们所需的权限。 -->
<facebook>
<permissions>
<permission name="user_friends" />
<permission name="user_gender" />
</permissions>
</facebook>
<!-- 使用 Apple 登录 -->
<signinwithapple serviceid="com.sample.your" />
<!-- 使用 Google 登录 (Google Sign-In) -->
<google playAppId="123456789012" serverClientId="123456789012-abc.apps.googleusercontent.com" />
<!-- 使用QQ登录 -->
<qq id="1234567890" />
<!-- 使用微信登录 -->
<wechat id="wx12345cf6c789c0f1" secret="abcdefg" paymentKey="abc123def456xyz789"/>
<!-- LINE 登录 -->
<line channelId="1234567890" />
<!-- 使用 Weverse 登录 -->
<weverse clientId="abcdefg" />
<!-- 使用Steam登录 -->
<steam realm="https://your-app.com"/>
<!-- 使用 X 登录 -->
<x clientId="ABCDEFG"/>
<!-- 使用 Telegram 登录 (Telegram) -->
<telegram botId="123456789" botDomain="https://auth.qpyou.cn"/>
</providers>
</properties>
<properties>
<providers>
<!-- 使用 Facebook 登录 (Facebook) -->
<!-- 以下 Facebook 代码是如何设置额外权限(例如 user_friends, user_gender)超出 Hive SDK 自动设置的 email 和 public_profile 权限的示例。 -->
<!-- 在实际使用 hive_config.xml 时,游戏公司仅应在 <permission> 元素中插入所需的权限。 -->
<facebook>
<permissions>
<permission name="user_friends" />
<permission name="user_gender" />
</permissions>
</facebook>
<!-- 使用 Apple 登录 -->
<signinwithapple serviceid="com.sample.your" />
<!-- 使用 Google 登录 (Google Sign-In) -->
<google serverClientId="123456789012-abc.apps.googleusercontent.com" reversedClientId="com.googleusercontent.apps.123456789012-abc" />
<!-- 使用QQ登录 -->
<qq id="1234567890" />
<!-- 使用 VK 登录 -->
<vk id="1234567" />
<!-- 使用微信登录 -->
<wechat id="wx12345cf6c789c0f1" secret="abcdefg" />
<!-- LINE 登录 -->
<line channelId="1234567890" />
<!-- 使用 Weverse 登录 -->
<weverse clientId="abcdefg" />
<!-- 使用Steam登录 -->
<steam realm="https://your-app.com"/>
<!-- 使用 X 登录 -->
<x clientId="ABCDEFG"/>
<!-- 使用 Telegram 登录 -->
<telegram botId="123456789" botDomain="https://auth.qpyou.cn"/>
</providers>
</properties>
<properties>
<providers>
<!-- 使用Facebook登录 (Facebook) -->
<!-- 以下Facebook代码是设置额外权限(如user_friends,user_gender)的示例,超出了Hive SDK自动配置的email和public_profile权限。 -->
<!-- 使用hive_config.xml时,游戏公司所需的权限应仅插入到<permission>元素中。 -->
<facebook id="1809615065921877">
<permissions>
<permission name="user_friends" />
<permission name="user_gender" />
</permissions>
</facebook>
<!-- 使用 Apple 登录 -->
<signinwithapple serviceid="com.sample.your" />
<!-- 使用 Google 登录 (Google Sign-In) -->
<google serverClientId="123456789012-abc.apps.googleusercontent.com" deviceFlowClientId="331526026701-gn1abq1ev23nqj7rdvvlaamf7ii4f3u9.apps.googleusercontent.com" />
<!-- 使用 Weverse 登录 -->
<weverse clientId="abcdefg" />
<!-- 使用Steam登录 -->
<steam realm="https://your-app.com"/>
<!-- 使用 X 登录 -->
<x clientId="ABCDEFG"/>
<!-- 使用 Telegram 登录 -->
<telegram botId="123456789" botDomain="https://auth.qpyou.cn"/>
</providers>
</properties>
根据您想要使用的 IdP,按照以下说明将身份验证设置添加到hive_config.xml文件中。
使用 Google Play 登录 (Google Play 游戏)¶
请参考以下示例在hive_config.xml文件的providers
标签中输入值。
Playappid(安卓)¶
设置从Google Cloud Console发出的Android类型客户端ID。
服务器客户端ID(Android)¶
设置从Google Cloud Console获得的Web 应用程序客户端 ID。
使用 Facebook 登录¶
请参考以下示例,在hive_config.xml文件的providers
标签中输入值。
<properties>
<!-- Hive SDK 通用设置省略 -->
<!-- Hive SDK 认证设置:开始 -->
<providers>
<!-- 使用 Facebook 登录 (Facebook) -->
<!-- 以下 Facebook 代码是如何设置额外权限(例如 user_friends, user_gender),超出 Hive SDK 自动配置的 email 和 public_profile 权限的示例。 -->
<!-- 在实际使用 hive_config.xml 时,游戏公司所需的权限应仅插入到 <permission> 元素中。 -->
<facebook>
<permissions>
<permission name="user_friends" />
<permission name="user_gender" />
</permissions>
</facebook>
</providers>
<!-- Hive SDK 认证设置:结束 -->
</properties>
<properties>
<!-- Hive SDK 通用设置省略 -->
<!-- Hive SDK 认证设置:开始 -->
<providers>
<!-- 使用 Facebook 登录 (Facebook) -->
<!-- 以下 Facebook 代码是如何设置额外权限(例如 user_friends, user_gender)超出 Hive SDK 自动配置的 email 和 public_profile 权限的示例。 -->
<!-- 使用 hive_config.xml 时,仅应插入游戏公司所需的权限作为 <permission> 元素。 -->
<facebook id="1809615065921877">
<permissions>
<permission name="user_friends" />
<permission name="user_gender" />
</permissions>
</facebook>
</providers>
<!-- Hive SDK 认证设置:结束 -->
</properties>
Id (Windows)¶
这是在Windows上使用Hive v4 Unity时使用Facebook登录功能的应用程序ID。您可以在修改应用程序设置后,在Meta应用程序仪表板上检查应用程序ID。应用程序ID可以在这里找到。
权限 (Android, iOS, Windows)¶
使用 Facebook SDK 时,如果您需要超出 Hive 设置的默认电子邮件权限(访问 Facebook 帐户电子邮件地址)和 public_profile(访问 Facebook 公开资料)的其他权限,您可以从 Facebook 控制台请求必要的权限,并在权限字段中设置这些权限。在 Hive 使用 Facebook 登录时,登录请求包括在权限字段中设置的权限。
使用 Apple 登录¶
请参考以下示例在hive_config.xml文件的providers
标签中输入值。
服务ID (Android, iOS, Windows)¶
设置由 Apple Developer Center 发行的服务 ID。设置完成后,您可以在 Android 和 Windows 上使用您的 Apple 账户登录。
使用 Google 登录¶
请参阅以下示例,以在hive_config.xml文件的providers
标签中输入值。
<properties>
<!-- Hive SDK 通用设置省略 -->
<!-- Hive SDK 认证设置:开始 -->
<providers>
<!-- 使用 Google 登录 (Google 登录) -->
<google serverClientId="123456789012-abc.apps.googleusercontent.com" deviceFlowClientId="331526026701-gn1abq1ev23nqj7rdvvlaamf7ii4f3u9.apps.googleusercontent.com" />
</providers>
<!-- Hive SDK 认证设置:结束 -->
</properties>
Playappid(安卓)¶
设置从Google Cloud Console发出的Android类型客户端ID。
服务器客户端ID(Android、iOS、Windows)¶
设置从Google Cloud Console发出的Web 应用程序客户端 ID。
反向客户端ID (iOS)¶
设置从 Google Cloud 控制台发出的反向客户端 ID。请参考 iOS 的 Google 登录文档页面上的反向客户端 ID。
设备流客户端 ID (Windows)¶
设置从Google Cloud Console发出的客户端类型的客户端ID。
使用QQ登录¶
请参考以下示例在hive_config.xml文件的providers
标签中输入值。
ID(Android,iOS)¶
设置通过QQ服务的游戏应用注册请求 (connect.qq.com)发放的QQ APP ID。在注册应用时,中国公民必须提出特定的审核要求。
使用 VK 登录¶
请参考以下示例在hive_config.xml文件的providers
标签中输入值。
Warning
VK IdP 提供的登录方法已更改。因此,如果您在 2024 年 6 月之后在 VK 控制台中注册新的应用程序设置,则无法使用 Hive SDK 提供的 VK 登录。预计在 2025 年 4 月至 5 月之间,Hive SDK v4 25.2.0 或更高版本将支持更改后的登录方法。
Id (iOS)¶
使用微信登录¶
请参阅以下示例,以在hive_config.xml文件的providers
标签中输入值。
Id (安卓, iOS)¶
在微信控制台中设置游戏应用标识符 APP ID。
秘密 (Android, iOS)¶
使用行登录¶
请参考以下示例,在hive_config.xml文件的providers
标签中输入值。
渠道ID (Android, iOS)¶
设置可以在Line控制台的提供者部分的基本设置中找到的频道ID。
使用 weverse 登录¶
请参考以下示例,在hive_config.xml文件的providers
标签中输入值。
客户端ID(Android,iOS,Windows)¶
设置Weverse登录的唯一标识符客户端ID。Weverse的客户端ID必须通过Weverse联系发放。
Istest (安卓, iOS)¶
设置是否连接到 Weverse 测试服务器。
true
: 连接到 Weverse 测试服务器。请在开发期间与 Weverse 负责人讨论后使用。false
: 连接到 Weverse 生产服务器。
使用 Steam 登录¶
请参考以下示例,在hive_config.xml文件的providers
标签中输入值。
Realm (安卓, iOS, Windows)¶
设置游戏开发团队拥有的域名,该域名使用Steam OpenID身份验证中的realm
信息。输入请求登录的服务的域名(例如,https://your-app.com)。您设置的值也将在Steam登录页面上显示。默认值为https://withhive.com。您必须输入一个有效的域名,如果无效,登录可能无法继续。
使用 x 登录¶
请参考以下示例在hive_config.xml文件的providers
标签中输入值。
客户端ID (Android, iOS, Windows)¶
设置X控制台(X开发者门户)的OAuth 2.0客户端ID。
使用 Telegram 登录¶
请参考以下示例,在hive_config.xml文件的providers
标签中输入值。
机器人ID (Android, iOS, Windows)¶
为Telegram登录服务设置botId
。要获取botId
,请参考Telegram官方文档或Hive身份验证Idp bot设置以进行Telegram登录。在使用Telegram登录时,botId
是必需的值。
Botdomain (安卓, iOS, Windows)¶
设置 Telegram 登录服务的 botDomain
。要获取 botDomain
,请参考 Telegram 官方文档 或 Hive 认证 Idp bot 设置用于 Telegram 登录。如果您不输入 botDomain
,它将被设置为默认值 https://auth.qpyou.cn。此域地址将在 Telegram 登录屏幕上显示。