跳轉至

按 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 Android 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 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 控制台中的每個 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 代碼是一個範例,展示如何在 Hive SDK 自動設置的 email 和 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 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" />

        <!-- 使用Steam登录 (Steam) -->
        <steam realm="https://your-app.com"/>

        <!-- 使用 X 登入 -->
        <x clientId="ABCDEFG"/>

        <!-- 使用 Telegram 登入 -->
        <telegram botId="123456789" botDomain="https://auth.qpyou.cn"/>
    </providers>

</properties>
Note

使用Unreal Engine或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 (Android)

設定從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 common settings omitted -->

    <!-- 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>

身份 (Windows)

這是使用 Hive v4 Unity 在 Windows 上使用 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 common settings omitted -->

    <!-- Hive SDK 認證設定:開始 -->
    <providers>
        <!-- 使用 Apple 登入 -->    
        <signinwithapple serviceid="com.sample.your" />
    </providers>
    <!-- Hive SDK 認證設定:結束 -->
</properties>

服務識別碼 (Android, iOS, Windows)

設置由Apple 開發者中心發出的服務 ID。設置完成後,您可以在 Android 和 Windows 上使用您的 Apple 帳戶登錄。

使用 Google 登入

參考以下範例在hive_config.xml文件的providers標籤中輸入值。

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

    <!-- Hive SDK 認證設定:開始 -->
    <providers>
        <!-- 使用 Google 登入 (Google Sign-In) -->    
        <google playAppId="123456789012" serverClientId="123456789012-abc.apps.googleusercontent.com" />
    </providers>
    <!-- Hive SDK 認證設定:結束 -->
</properties>
<properties>
    <!-- Hive SDK common settings omitted -->

    <!-- 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 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 (Android)

設定從Google Cloud Console發出的Android類型客戶端ID。



伺服器客戶端ID (Android, iOS, Windows)

設定從Google Cloud Console發出的網路應用程式客戶端 ID



反向客戶ID (iOS)

設定從 Google Cloud 控制台發出的反向客戶端 ID。請參考 iOS 的 Google 登入文檔頁面上的反向客戶端 ID

Deviceflowclientid (Windows)

設定從Google Cloud Console發出的客戶端類型的客戶端 ID。



使用 QQ 登入

請參考以下範例以在hive_config.xml文件的providers標籤中輸入值。

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

    <!-- Hive SDK 認證設定: 開始 -->
    <providers>
        <!-- 使用 QQ 登入 -->    
        <qq id="1234567890" />
    </providers>
    <!-- Hive SDK 認證設定: 結束 -->
</properties>

身份 (Android, iOS)

設置通過QQ服務的遊戲應用註冊請求 (connect.qq.com)發放的QQ APP ID。註冊應用時,中國公民必須提出特定的審核要求。

使用 VK 登入

請參考以下範例以在hive_config.xml文件的providers標籤中輸入值。

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

    <!-- 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 common settings omitted -->

    <!-- Hive SDK 認證設定: 開始 -->
    <providers>
        <!-- 使用微信登入 -->    
        <wechat id="wx12345cf6c789c0f1" secret="abcdefg" />
    </providers>
    <!-- Hive SDK 認證設定: 結束 -->
</properties>

身分證 (Android, iOS)

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


秘密 (Android, iOS)

設置可以在微信控制台中檢查的AppSecret


使用 LINE 登入

請參考以下範例以在hive_config.xml文件的providers標籤中輸入值。

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

    <!-- 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>

客戶端ID (Android, iOS, Windows)

設定Weverse登入的唯一識別碼客戶端ID。Weverse的客戶端ID必須通過Weverse聯絡發放。

Istest (Android, iOS)

設置是否連接到 Weverse 測試伺服器。

  • true: 連接到 Weverse 測試伺服器。請在開發過程中與 Weverse 負責人討論後使用。
  • false: 連接到 Weverse 生產伺服器。

使用 Steam 登入

請參考以下範例以在hive_config.xml文件的providers標籤中輸入值。

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

    <!-- Hive SDK 認證設定:開始 -->
    <providers>
        <!-- 使用 Steam 登入 -->    
        <steam realm="https://your-app.com"/>
    </providers>
    <!-- Hive SDK 認證設定:結束 -->
</properties>

Realm (Android, iOS, Windows)

設定使用Steam OpenID 認證中的realm資訊的遊戲開發團隊擁有的域名。輸入請求登錄的服務的域名(例如,https://your-app.com)。您設置的值也會顯示在Steam登錄頁面上。默認值為https://withhive.com。您必須輸入有效的域名,如果無效,登錄可能無法進行。

使用 x 登入

請參考以下範例以在hive_config.xml文件的providers標籤中輸入值。

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

    <!-- Hive SDK 認證設定:開始 -->
    <providers>
        <!-- 使用 X 登入 -->    
        <x clientId="ABCDEFG"/>
    </providers>
    <!-- Hive SDK 認證設定:結束 -->
</properties>

客戶端識別碼 (Android, iOS, Windows)

設定X 控制台 (X 開發者入口網站)的 OAuth 2.0 客戶端 ID。


使用 Telegram 登入

請參考以下範例以在hive_config.xml檔案的providers標籤中輸入值。

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

    <!-- Hive SDK 認證設定: 開始 -->
    <providers>
        <!-- 使用 Telegram 登入 -->    
        <telegram botId="123456789" botDomain="https://auth.qpyou.cn"/>
    </providers>
    <!-- Hive SDK 認證設定: 結束 -->
</properties>

Botid (Android, iOS, Windows)

為Telegram登錄服務設置botId。要獲取botId,請參考Telegram官方文檔Hive 認證Idp機器人設置以進行Telegram登錄。使用Telegram登錄時,botId是必需的值。

Botdomain (Android, iOS, Windows)

為Telegram登錄服務設置botDomain。要獲取botDomain,請參考Telegram官方文檔Hive 認證Idp機器人設置以進行Telegram登錄。如果您不輸入botDomain,則將設置為默認值https://auth.qpyou.cn。該域地址將顯示在Telegram登錄屏幕上。