跳转至

按 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>
Note

使用虚幻引擎或Unity时,您可以通过配置编辑器(UnityUnreal)输入键值,而无需直接创建或编辑hive_config.xml文件。


根据您想要使用的 IdP,按照以下说明将身份验证设置添加到hive_config.xml文件中。

使用 Google Play 登录 (Google Play 游戏)

请参考以下示例在hive_config.xml文件的providers标签中输入值。

<properties>
    <!-- Hive SDK 通用设置省略 -->

    <!-- Hive SDK 认证设置:开始 -->
    <providers>
        <!-- 使用 Google Play 登录(Google Play 游戏) -->
        <googleplaygames playAppId="123456789012" serverClientId="123456789012-abc.apps.googleusercontent.com" />
    </providers>
    <!-- Hive SDK 认证设置:结束 -->
</properties>

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标签中输入值。

<properties>
    <!-- Hive SDK 公共设置省略 -->

    <!-- Hive SDK 认证设置:开始 -->
    <providers>
        <!-- 使用 Apple 登录 -->    
        <signinwithapple serviceid="com.sample.your" />
    </providers>
    <!-- Hive SDK 认证设置:结束 -->
</properties>

服务ID (Android, 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 playAppId="123456789012" serverClientId="123456789012-abc.apps.googleusercontent.com" />
    </providers>
    <!-- Hive SDK 认证设置:结束 -->
</properties>
<properties>
    <!-- Hive SDK 通用设置省略 -->

    <!-- Hive SDK 认证设置: 开始 -->
    <providers>
        <!-- 使用 Google 登录 (Google 登录) -->    
        <google serverClientId="123456789012-abc.apps.googleusercontent.com" reversedClientId="com.googleusercontent.apps.123456789012-abc" />
    </providers>
    <!-- Hive SDK 认证设置: 结束 -->
</properties>
<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标签中输入值。

<properties>
    <!-- Hive SDK 通用设置省略 -->

    <!-- Hive SDK 认证设置: 开始 -->
    <providers>
        <!-- 使用 QQ 登录 -->    
        <qq id="1234567890" />
    </providers>
    <!-- Hive SDK 认证设置: 结束 -->
</properties>

ID(Android,iOS)

设置通过QQ服务的游戏应用注册请求 (connect.qq.com)发放的QQ APP ID。在注册应用时,中国公民必须提出特定的审核要求。

使用 VK 登录

请参考以下示例在hive_config.xml文件的providers标签中输入值。

<properties>
    <!-- Hive SDK 通用设置省略 -->

    <!-- Hive SDK 认证设置:开始 -->
    <providers>
        <!-- 使用 VK 登录 -->    
        <vk id="1234567" />
    </providers>
    <!-- Hive SDK 认证设置:结束 -->
</properties>
Warning

VK IdP 提供的登录方法已更改。因此,如果您在 2024 年 6 月之后在 VK 控制台中注册新的应用程序设置,则无法使用 Hive SDK 提供的 VK 登录。预计在 2025 年 4 月至 5 月之间,Hive SDK v4 25.2.0 或更高版本将支持更改后的登录方法。

Id (iOS)

设置从VK服务页面发出的VK ID

使用微信登录

请参阅以下示例,以在hive_config.xml文件的providers标签中输入值。

<properties>
    <!-- Hive SDK 通用设置省略 -->

    <!-- Hive SDK 认证设置:开始 -->
    <providers>
        <!-- 使用微信登录 -->    
        <wechat id="wx12345cf6c789c0f1" secret="abcdefg" />
    </providers>
    <!-- Hive SDK 认证设置:结束 -->
</properties>

Id (安卓, iOS)

微信控制台中设置游戏应用标识符 APP ID。


秘密 (Android, iOS)

设置可以在微信控制台中检查的AppSecret


使用行登录

请参考以下示例,在hive_config.xml文件的providers标签中输入值。

<properties>
    <!-- Hive SDK 通用设置省略 -->

    <!-- Hive SDK 认证设置:开始 -->
    <providers>
        <!-- 使用 LINE 登录 -->    
        <line channelId="1234567890" />
    </providers>
    <!-- Hive SDK 认证设置:结束 -->
</properties>

渠道ID (Android, iOS)

设置可以在Line控制台的提供者部分的基本设置中找到的频道ID。


使用 weverse 登录

请参考以下示例,在hive_config.xml文件的providers标签中输入值。

<properties>
    <!-- Hive SDK common settings omitted -->

    <!-- Hive SDK 身份验证设置:开始 -->
    <providers>
        <!-- 使用 Weverse 登录 -->    
        <weverse clientId="abcdefg" isTest="false" />
    </providers>
    <!-- Hive SDK 身份验证设置:结束 -->
</properties>
<properties>
    <!-- Hive SDK 通用设置省略 -->

    <!-- Hive SDK 认证设置:开始 -->
    <providers>
        <!-- 使用 Weverse 登录 -->    
        <weverse clientId="abcdefg" />
    </providers>
    <!-- Hive SDK 认证设置:结束 -->
</properties>

客户端ID(Android,iOS,Windows)

设置Weverse登录的唯一标识符客户端ID。Weverse的客户端ID必须通过Weverse联系发放。

Istest (安卓, iOS)

设置是否连接到 Weverse 测试服务器。

  • true: 连接到 Weverse 测试服务器。请在开发期间与 Weverse 负责人讨论后使用。
  • false: 连接到 Weverse 生产服务器。

使用 Steam 登录

请参考以下示例,在hive_config.xml文件的providers标签中输入值。

<properties>
    <!-- Hive SDK 通用设置省略 -->

    <!-- Hive SDK 认证设置: 开始 -->
    <providers>
        <!-- 使用 Steam 登录 -->    
        <steam realm="https://your-app.com"/>
    </providers>
    <!-- Hive SDK 认证设置: 结束 -->
</properties>

Realm (安卓, iOS, Windows)

设置游戏开发团队拥有的域名,该域名使用Steam OpenID身份验证中的realm信息。输入请求登录的服务的域名(例如,https://your-app.com)。您设置的值也将在Steam登录页面上显示。默认值为https://withhive.com。您必须输入一个有效的域名,如果无效,登录可能无法继续。

使用 x 登录

请参考以下示例在hive_config.xml文件的providers标签中输入值。

<properties>
    <!-- Hive SDK 通用设置省略 -->

    <!-- Hive SDK 认证设置:开始 -->
    <providers>
        <!-- 使用 X 登录 -->    
        <x clientId="ABCDEFG"/>
    </providers>
    <!-- Hive SDK 认证设置:结束 -->
</properties>

客户端ID (Android, iOS, Windows)

设置X控制台(X开发者门户)的OAuth 2.0客户端ID。


使用 Telegram 登录

请参考以下示例,在hive_config.xml文件的providers标签中输入值。

<properties>
    <!-- Hive SDK 通用设置省略 -->

    <!-- Hive SDK 认证设置:开始 -->
    <providers>
        <!-- 使用 Telegram 登录 -->    
        <telegram botId="123456789" botDomain="https://auth.qpyou.cn"/>
    </providers>
    <!-- Hive SDK 认证设置:结束 -->
</properties>

机器人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 登录屏幕上显示。