按 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 | 不支援 | 不支援 | 不支援 |
使用 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 控制台中註冊身份驗證密鑰,針對 Hive 控制台中的每個 AppID。
安全密鑰發放¶
為了增強服務之間的身份驗證安全性,您必須從 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 (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 公共設置省略 -->
<!-- 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 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 公共設置省略 -->
<!-- Hive SDK 認證設定:開始 -->
<providers>
<!-- 使用 Google 登入 (Google Sign-In) -->
<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
標籤中輸入值。
Channelid (Android, iOS)¶
在Line控制台的提供者部分的基本设置中设置可以找到的频道ID。
使用 weverse 登入¶
請參考以下範例以在hive_config.xml文件的providers
標籤中輸入值。
客戶端識別碼 (Android, iOS, Windows)¶
設定 Weverse 登入的唯一識別碼 Client ID。Weverse 的 Client 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
標籤中輸入值。
客戶端ID (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 登录屏幕上显示。