按 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 登录 | hive_config.xml | hive_config.xml | 不支持 | 不支持 | 不支持 |
使用微信登录 | hive_config.xml | hive_config.xml | 不支持 | 不支持 | 不支持 |
使用 LINE 登录 | hive_config.xml | hive_config.xml | hive_config.xml | 不支持 | 不支持 |
使用 Weverse 登录 | 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 控制台来 选择登录类型、改变登录顺序,并在 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" />
<!-- 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 代码是一个示例,说明如何设置除了电子邮件和由 Hive SDK 自动配置的 public_profile 权限之外的其他权限 (例如 user_friends, user_gender)。 -->
<!-- 在实际使用 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 appId="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" />
<!-- 使用Steam登录 (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(安卓)¶
设置从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)¶
Hive v4 这是在 Windows 上使用 Unity 时使用 Facebook 登录功能的应用程序 ID。您可以在修改应用程序设置后,在 Meta 应用程序仪表板上检查应用程序 ID。应用程序 ID 可以在这里找到。
权限 (安卓, iOS, Windows)¶
使用 Facebook SDK 时,如果您需要超出 Hive 设置的默认电子邮件权限(访问 Facebook 账户电子邮件地址)和 public_profile(访问 Facebook 公开资料)的其他权限,您可以在 Facebook 控制台中请求所需权限 并在权限字段中设置这些权限。在 Hive 使用 Facebook 登录时,登录请求包括权限字段中设置的权限。
使用 Apple 登录¶
请参考以下示例,在hive_config.xml文件的providers
标签中输入值。
服务ID (安卓, iOS, Windows)¶
设置由Apple Developer Center发出的服务 ID。设置完成后,您可以在 Android 和 Windows 上使用您的 Apple 账户登录。
使用 Google 登录¶
请参考以下示例,在hive_config.xml文件的providers
标签中输入值。
<properties>
<!-- Hive SDK common settings omitted -->
<!-- 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 (安卓, iOS, Windows)¶
设置从Google Cloud Console发出的Web 应用程序客户端 ID。
Reversedclientid (ios)¶
设置从 Google Cloud 控制台发出的反向客户端 ID。有关更多信息,请参阅iOS Google 登录的反向客户端 ID 文档页面。
设备流客户端ID (windows)¶
设置从Google Cloud Console发出的客户端类型的客户端 ID。
使用 QQ 登录¶
请参考以下示例,在hive_config.xml文件的providers
标签中输入值。
Id (安卓, iOS)¶
设置通过QQ服务的游戏应用注册请求 (connect.qq.com)发放的QQ APP ID。注册应用时,中国公民必须提出特定的审核要求。
使用 VK 登录¶
请参阅以下示例,以在hive_config.xml文件的providers
标签中输入值。
Id (安卓, iOS)¶
设置从VK服务页面发出的VK应用程序ID。
使用微信登录¶
请参阅以下示例,以在hive_config.xml文件的providers
标签中输入值。
Id (安卓, iOS)¶
在微信控制台中设置游戏应用标识符 APP ID。
秘密 (安卓, ios)¶
使用行登录¶
请参考以下示例,在hive_config.xml文件的providers
标签中输入值。
渠道ID (android, ios)¶
设置可以在LINE控制台的提供者部分的基本设置中检查的频道ID。
使用 weverse 登录¶
请参考以下示例,在hive_config.xml文件的providers
标签中输入值。
客户端 ID (安卓, 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(安卓,iOS,Windows)¶
设置X控制台(X开发者门户)的OAuth 2.0客户端ID。
使用 Telegram 登录¶
请参考以下示例,在hive_config.xml文件的providers
标签中输入值。
机器人ID (安卓, 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 登录屏幕上显示。