所有引擎
無論是開發引擎(Unity、Unreal 等)還是平台(Android、iOS 等),Hive SDK 的設置都必須在構建應用程序之前定義在 hive_config.xml 文件中。因此,要使用 Hive SDK,您必須創建一個新的 hive_config.xml 文件,輸入內容,並將其包含在您的應用程序項目中。 此文件中的設置在 Hive SDK 初始化時 應用。建議在此文件中預先定義所有在運行時不會更改的靜態項目。該文件應位於以下位置:
- Unity
- Android
- Unity 2021 或更高版本:
/Assets/HiveSDK/hive.androidlib/src/main/res/raw/hive_config.xml - Unity 2021 或更早版本:
/Assets/Plugins/Android/res/raw/hive_config.xml
- Unity 2021 或更高版本:
- iOS
/Assets/Plugins/iOS/hive_config.xml
- Windows
/Assets/Plugins/Windows/res/hive_config.xml
- Android
- Unreal Engine
- Android
/HIVESDK/Source/HIVESDK/ThirdParty/android/resource/res/raw/hive_config.xml
- iOS
/HIVESDK/Source/HIVESDK/ThirdParty/iOS/resource/hive_config.xml
- Windows
/HIVESDK/Source/HIVESDK/ThirdParty/Windows/config/hive_config.xml
- Android
- Android Native
/app/res/raw/hive_config.xml
- iOS Native
- 在您希望的位置创建一个 hive_config.xml 文件,并将其直接连接到您的 Xcode 项目。
Hive SDK 通用設定¶
這些是必須在hive_config.xml中輸入的項目,無論您使用的是哪個Hive SDK功能。必填項目必須輸入,選填項目根據需要輸入。如果您不輸入選填項目,Hive SDK將使用默認值運行。
項目 | 描述 | 必需 | SDK 預設值 |
---|---|---|---|
appId | 遊戲版本的識別碼。 | X | Android: 應用預設包名,iOS: 包 ID |
zone | Hive 客戶端連接的伺服器。
| X | `REAL` |
useLog | 是否啟用 Hive 客戶端的內部操作日誌。如果啟用日誌,日誌將輸出到開發工具螢幕。
| X | `false` |
company | 遊戲發行公司。
| O | 空白 |
channel | 遊戲應用中使用的登錄服務平台。C2S: Hive 平台(預設) | O | `C2S` |
market | 應用內購買支付的市場。
| O | 空白 |
httpConnectTimeout | Hive 客戶端內部使用的 HTTP 連接超時時間(秒)。預設值為 8 秒,除非有特殊情況,否則禁止更改該值。 | X | `8`(單位:秒) |
httpReadTimeout | Hive 客戶端內部使用的 HTTP 讀取超時時間(秒)。預設值為 8 秒,除非有特殊情況,否則禁止更改該值。 | X | `8`(單位:秒) |
gameLanguage | 在 Hive SDK 中設置的遊戲語言。 | X | `en` |
ageGateU13 | COPPA ageGateU13 應用。要將 COPPA ageGateU13 應用於 Hive SDK,您必須在 Hive 控制台中註冊 COPPA 條款,並在初始化 Hive SDK 之前將此值設置為 true 。如果您不想應用 COPPA ageGateU13,則必須在 Hive 控制台中註冊 COPPA 條款以外的條款,並在初始化 Hive SDK 之前將此值設置為 false 。
| X | `false` |
agreementDetermineBase | 確定獲得服務條款同意的基礎。您可以選擇 `device` 或 `account`,默認為 `device`。
| X | `device` |
Note
當應用 COPPA ageGateU13 時,僅能顯示 device
-基礎的服務條款同意彈出窗口。 當應用 COPPA ageGateU13 時,如果用戶在服務條款同意過程中回應他們已滿 13 歲或以上,則 Hive SDK 將不會將 COPPA ageGateU13 應用於該用戶。然而,在 hive_config.xml 中設置的值(true
)本身將不會改變。
Hive SDK 特定功能設置¶
這些是必須在 hive_config.xml 中輸入的項目,針對您將使用的每個 Hive SDK 功能。僅輸入與您將使用的 Hive SDK 功能相對應的項目。在這裡,我們將以使用身份驗證產品(Google 登錄)為例,指導您必須設置的項目。請參考每個 Hive SDK 功能的“入門”頁面,以了解每個 Hive SDK 功能所需的項目。
項目 | 描述 |
---|---|
providers | 指定第三方庫的屬性值。 |
providers 元素的子元素,添加用於使用身份驗證 v4 進行身份驗證時的 Google 相關設置。 要在桌面上實現 Google 登錄,您必須在此元素中添加 `clientId` 屬性並將 從 Google Cloud Console 發出的客戶端 ID 作為屬性值。 要在 Steam Deck 上實現 Google 登錄(Hive SDK v4 Unity Windows 22.0.0 或更高版本),您必須在此元素中添加 `deviceFlowClientId` 屬性並將 從 Google Cloud Console 發出的客戶端 ID 作為屬性值。 |
不支援的設定¶
以下是
項目 | 描述 | 備註 |
---|---|---|
exitEventEnabled | exitEvent 是一個事件,通知 Hive SDK 應用程式需要由遊戲直接終止,而不是由 Hive SDK 終止。如果此值為 True,則會接收此事件,且 Hive SDK 將不會直接終止遊戲應用程式。如果此值為 False,則 Hive SDK 可以直接終止遊戲應用程式 (+v4.9.0)。 | 自 v4.16.4 起已不推薦使用 |
useCrashReport | 僅限 iOS 的功能,檢測應用程式因錯誤而崩潰前的情況,並將等待發送到伺服器的分析日誌保存到文件中。如果您正在使用具有類似功能的外部第三方崩潰報告工具,應通過將其設置為 false 來禁用它,以防止衝突 (+v4.16.0)。 | 自 v4.16.3 起已不推薦使用 |
hive_config.xml 範例¶
以下是使用身份驗證(Google 身份驗證)和支付(Google Play 商店)時的hive_config.xml文件示例。根據您想要使用的Hive SDK 功能和應用環境,根據需要更改、添加或刪除值。由於 iOS 平台僅支持 Apple AppStore 支付,因此在 Unity iOS 環境中將市場設置為AP
。
<properties>
<!-- Hive SDK Common Settings: START -->
<appId>com.sample.your</appId>
<gameLanguage>en</gameLanguage>
<!-- Hive platform server selection. Sandbox is for development, real is for commercial use
(sandbox, real) -->
<zone>real</zone>
<!-- SDK internal operation log usage setting
(true, false) -->
<useLog>false</useLog>
<!-- Company setting
(C2S: Com2uS, GVI: Com2uS Holdings) -->
<company>C2S</company>
<!-- Channel setting
(C2S: Hive platform) -->
<channel>C2S</channel>
<!-- Payment market setting
(GO: Google Play, LE: Com2us Lebi, AP: Apple App Store) -->
<market>GO</market>
<!-- HTTP Connect Timeout time in seconds used internally by Hive SDK
(Do not change unless there are special circumstances) -->
<httpConnectTimeout>8</httpConnectTimeout>
<!-- HTTP Read Timeout time in seconds used internally by Hive SDK
(Do not change unless there are special circumstances) -->
<httpReadTimeout>8</httpReadTimeout>
<agreementDetermineBase>device</agreementDetermineBase>
<!-- Hive SDK Common Settings: END -->
<!-- Hive SDK Feature-Specific Settings: START -->
<!-- Authentication product setting: Using Google authentication -->
<providers>
<google playAppId="123456789012" clientId="123456789012-abc.apps.googleusercontent.com" serverClientId="123456789012-abc.apps.googleusercontent.com" reversedClientId="com.googleusercontent.apps.123456789012-abc" deviceFlowClientId="331526026701-gn1abq1ev23nqj7rdvvlaamf7ii4f3u9.apps.googleusercontent.com" />
</providers>
<!-- Hive SDK Feature-Specific Settings: END -->
</properties>