按 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>
按照以下说明,根据您想要使用的 IdP,将身份验证设置添加到hive_config.xml文件中。
使用 Google Play 登入 (Google Play 遊戲)¶
請參考以下範例以在hive_config.xml文件的providers
標籤中輸入值。
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
標籤中輸入值。
服務識別碼 (Android, iOS, Windows)¶
設置由Apple 開發者中心發出的服務 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" 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
標籤中輸入值。
身份 (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
標籤中輸入值。
身分證 (Android, iOS)¶
在微信控制台中设置游戏应用程序标识符 APP ID。
秘密 (Android, iOS)¶
使用 LINE 登入¶
請參考以下範例以在hive_config.xml文件的providers
標籤中輸入值。
頻道ID (Android, iOS)¶
在Line控制台的提供者部分的基本设置中设置可以找到的频道ID。
使用 weverse 登入¶
請參考以下範例以在hive_config.xml文件的providers
標籤中輸入值。
客戶端ID (Android, iOS, Windows)¶
設定Weverse登入的唯一識別碼客戶端ID。Weverse的客戶端ID必須通過Weverse聯絡發放。
Istest (Android, iOS)¶
設置是否連接到 Weverse 測試伺服器。
true
: 連接到 Weverse 測試伺服器。請在開發過程中與 Weverse 負責人討論後使用。false
: 連接到 Weverse 生產伺服器。
使用 Steam 登入¶
請參考以下範例以在hive_config.xml文件的providers
標籤中輸入值。
Realm (Android, iOS, Windows)¶
設定使用Steam OpenID 認證中的realm
資訊的遊戲開發團隊擁有的域名。輸入請求登錄的服務的域名(例如,https://your-app.com)。您設置的值也會顯示在Steam登錄頁面上。默認值為https://withhive.com。您必須輸入有效的域名,如果無效,登錄可能無法進行。
使用 x 登入¶
請參考以下範例以在hive_config.xml文件的providers
標籤中輸入值。
客戶端識別碼 (Android, iOS, Windows)¶
設定X 控制台 (X 開發者入口網站)的 OAuth 2.0 客戶端 ID。
使用 Telegram 登入¶
請參考以下範例以在hive_config.xml檔案的providers
標籤中輸入值。
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登錄屏幕上。