配置類¶
使用 Configuration 类,您可以在游戏应用程序运行时 检索 (get) 或 更改 (set) 配置值。例如,在检索游戏服务器信息时,使用 getServerId() 方法,而在更改时,使用 setServerId() 方法。
作為使用Configuration類的示例,您可以在遊戲應用程序執行期間使用Configuration類更改用戶的zone設置。
API 參考: hive.Configuration.setZone
API 參考: hive::Configuration::setZone
API 參考: Configuration.setZone
API 參考: Configuration.setZone
API 參考: ConfigurationInterface.setZone
API 參考: HIVEConfiguration:setZone
Note
Configuration類的setZone方法必須在調用setup函數之前被調用,以便正常運作。
配置類的使用場景¶
如果您需要在遊戲應用程式運行時更改SDK設置,這裡是一些情況。
SDK 初始化之前¶
在初始化 SDK 之前,請在設置中反映遊戲伺服器或遊戲語言。
在SDK初始化後和伺服器維護彈出窗口之前¶
這是用戶在初始化SDK後選擇遊戲伺服器之前顯示伺服器維護彈出窗口的情況。在初始化SDK後,遊戲伺服器選擇UI被顯示,用戶選擇的遊戲伺服器會反映在設置中。執行此過程後,會顯示伺服器維護彈出窗口。
進入遊戲後¶
如果用户在进入游戏后更改游戏设置中的游戏语言或游戏服务器,他们可以在游戏设置或其他菜单中配置用于更改游戏服务器或游戏语言的用户界面。如果用户使用该用户界面更改服务器或语言,则该信息也必须反映在设置中。
其他情況¶
根據遊戲規劃和其他情況的變化,改變先前設定的值。
Info
您無法使用Configuration類別更改運行時設置,還有一些項目只能檢索。
使用配置類的範例¶
這裡有關於使用Configuration類別的額外指南。
主題設置¶
您可以使用 Configuration.setHiveTheme 來啟用黑暗主題。
API 參考: hive.Configuration.setHiveTheme
API 參考: hiveTheme
API 參考: Configuration.setHiveTheme
API 參考: HIVEConfiguration:setHiveTheme
API 參考: HIVEConfiguration:setHiveTheme
配置類別和hive_config.xml文件¶
使用Configuration類中的方法更改設置(運行時設置)會覆蓋在hive_config.xml中設置的值(構建時設置)。換句話說,Configuration類設置的值具有更高的優先權。然而,Configuration類設置的值在SDK內部具有優先權,並且hive_config.xml文件中的現有值不會被更改。
例如,即使您在hive_config.xml的上述zone配置中将zone设置为sandbox,在使用Configuration类将此值更改为real并初始化SDK后,SDK将基于real进行操作。然而,hive_config.xml中的zone仍将保持为sandbox。
可檢索設定的配置類別¶
配置類別方法允許您檢索(get)僅在下方列出的設置的值。
| 項目 | 作業系統 | SDK 功能 | 描述 | SDK 預設值 |
|---|---|---|---|---|
| hiveSDKVersion | Android, iOS, Windows | SDK 通用 | Hive SDK 版本。 | 應用的 HiveSDK 版本值 |
| referenceSDKVersion | Android, iOS, Windows | SDK 通用 | Hive SDK 參考的 SDK 版本。 | 應用的 HiveSDK 參考的庫和版本資訊 |
| hiveCountry | Android, iOS, Windows | SDK 通用 | 由 Hive SDK 伺服器決定的國家代碼。 | 從 HiveSDK 伺服器傳遞的信息 |
| appId | Android, iOS, Windows | SDK 通用 | 遊戲構建識別碼。 | X |
| serverId | Android, iOS, Windows | SDK 通用 | 每個遊戲伺服器識別碼,可在遊戲中按區域運行伺服器時進行驗證。必須根據 Hive 識別碼政策編寫。 | 空白 |
| zone | Android, iOS, Windows | SDK 通用 | Hive 客戶端將連接的伺服器。
| REAL |
| useLog | Android, iOS, Windows | SDK 通用 | 是否啟用 Hive 客戶端內部操作的日誌。當啟用日誌時,將輸出到開發工具屏幕。
| false |
| channel | Android, iOS, Windows | SDK 通用 | 遊戲應用中使用的登錄和應用內支持服務平台。當登錄外部社交平台或通過 SDK 使用應用內購買時,這對應於 C2S。用於 SDK 分析數據收集。
| C2S |
| market | Android, iOS, Windows | SDK 通用 | 處理應用內購買付款的市場。用於 SDK 分析收集。
| 空白 |
| httpConnectTimeout | Android, iOS, Windows | SDK 通用 | Hive 客戶端內部使用的 HTTP 連接的超時持續時間(以秒為單位)。預設值設置為 8 秒,除非在特殊情況下,否則禁止更改此值。 | 8(單位:秒) |
| httpReadTimeout | Android, iOS, Windows | SDK 通用 | Hive 客戶端內部使用的 HTTP 讀取的超時持續時間(以秒為單位)。預設值設置為 8 秒,除非在特殊情況下(例如,已確認會中斷正常日誌收集的網絡延遲或斷開連接),否則禁止更改此值。 | 8(單位:秒) |
| gameLanguage | Android, iOS, Windows | SDK 通用 | 在 SDK 中設置的遊戲語言。 | 設備語言設置 |
| ageGateU13 | Android, iOS, Windows | 配置 | 是否應用 COPPA ageGateU13。要在 SDK 中應用 COPPA ageGateU13,必須在 Hive 控制台中註冊 COPPA 條款後,將此值設置為 true,並在初始化 SDK 之前進行設置。要不應用 COPPA ageGateU13,必須在 Hive 控制台中註冊其他條款後,將此值設置為 false,並在初始化 SDK 之前進行設置。
| false |
| agreementDetermineBase | Android, iOS | 提供 | 确定获取协议条款同意的标准。 您可以选择 device或account,默认值为device。
| device |
| enableGameController | Windows | SDK 通用 | 设置是否在SDK提供的UI中启用“游戏控制器”的功能。
get函数检查。 | true |
| usePrivateBrowsingForAuth | Windows | 身份验证 | 确定在Google登录身份验证期间是否使用隐身模式。
| true |
| maxGameLogSize | Android, iOS, Windows | 分析 | 作为非结构化数据文件存储的游戏日志的最大数量。默认值为50,此值由SDK分析服务器收集。 | 50 |
| analyticsSendLimit | Android, iOS, Windows | 分析 | 每个分析日志传输周期发送的最大日志数量。默认值为5。 | 5 |
| analyticsQueueLimit | Android, iOS, Windows | 分析 | 可以排队的最大分析日志数量。默认值为50。 | 50 |
| analyticsSendCycle | Android, iOS, Windows | 分析 | 发送分析日志的周期。可以以秒为单位设置,分析日志将在每个设置的周期内发送。默认值为1秒。 | 1 |
| hiveTheme | Android, iOS, Windows | SDK 通用 | 您可以设置主题以使用浅色或深色样式。 | HiveTheme.HiveLight |
可透過 Configuration 類別變更的設定¶
可以通过 Configuration 类方法更改的项目(set)如下。必填项目必须输入,而可选项目可以根据需要输入。如果未输入可选项目,它们将使用 SDK 的默认值进行操作。即使是必填项目,如果已经在 hive_config.xml 中输入,并且在运行时不需要更改,也无需通过 Configuration 类进行更改。
Warning
serverId 是一个只能在运行时设置的值。因此,必须使用 Configuration 类来设置此值。
| 項目 | 作業系統 | SDK 功能 | 描述 | 必需 | SDK 預設值 |
|---|---|---|---|---|---|
| appId | Android, iOS, Windows | SDK 通用 | 遊戲構建識別符。 | X | * Android: 應用基礎包名稱 * iOS: 包 ID |
| serverId | Android, iOS, Windows | SDK 通用 | 每個遊戲伺服器識別符,可以在遊戲中按區域操作伺服器時進行驗證。必須根據 Hive 識別符政策編寫。 | O | 空白 |
| zone | Android, iOS, Windows | SDK 通用 | Hive 客戶端將連接的伺服器。
| X | REAL |
| useLog | Android, iOS, Windows | SDK 通用 | 是否啟用 Hive 客戶端內部操作的日誌。當啟用日誌時,將輸出到開發工具屏幕。
| X | false |
| channel | Android, iOS, Windows | SDK 通用 | 遊戲應用中使用的登錄和應用內支持服務平台。當登錄外部社交平台或通過 SDK 使用應用內購買時,這對應於 C2S。用於 SDK 分析數據收集。
| O | C2S |
| market | Android, iOS, Windows | SDK 通用 | 處理應用內購買支付的市場。用於 SDK 分析收集。
| O | 空白 |
| httpConnectTimeout | Android, iOS, Windows | SDK 通用 | Hive 客戶端內部使用的 HTTP 連接的超時持續時間(以秒為單位)。預設值設置為 8 秒,除非在特殊情況下,否則禁止更改此值。 | X | 8(單位:秒) |
| httpReadTimeout | Android, iOS, Windows | SDK 通用 | Hive 客戶端內部使用的 HTTP 讀取的超時持續時間(以秒為單位)。預設值設置為 8 秒,除非在特殊情況下(例如,已確認會干擾正常日誌收集的網絡延遲或斷開連接),否則禁止更改此值。 | X | 8(單位:秒) |
| gameLanguage | Android, iOS, Windows | SDK 通用 | 在 SDK 中設置的遊戲語言。 | X | 設備語言設置 |
| ageGateU13 | Android, iOS, Windows | 供應 | 是否應用 COPPA ageGateU13。要在 SDK 中應用 COPPA ageGateU13,必須在 Hive 控制台中註冊 COPPA 條款後將此值設置為 true,並在初始化 SDK 之前進行設置。要不應用 COPPA ageGateU13,必須在 Hive 控制台中註冊其他條款後將此值設置為 false,並在初始化 SDK 之前進行設置。
| X | false |
| agreementDetermineBase | Android, iOS | 供應 | 確定獲得條款同意的標準。 您可以選擇 device 或 account,預設為 device。
| X | device |
| enableGameController | Windows | SDK Common | 一個功能,用於設置是否在 SDK 提供的 UI 中啟用「遊戲控制器」。
get 函數檢查。 | X | true |
| usePrivateBrowsingForAuth | Windows | Authentication | 決定在 Google 登錄身份驗證過程中是否使用隱身模式。
| X | true |
| maxGameLogSize | Android, iOS, Windows | Analytics | 作為非結構化數據文件存儲的遊戲日誌的最大數量。默認值為 50,此值由 SDK Analytics 服務器收集。 | X | 50 |
| analyticsSendLimit | Android, iOS, Windows | Analytics | 每次分析日誌傳輸周期中要發送的最大日誌數量。默認值為 5。 | X | 5 |
| analyticsQueueLimit | Android, iOS, Windows | Analytics | 可以排隊的最大分析日誌數量。默認值為 50。 | X | 50 |
| analyticsSendCycle | Android, iOS, Windows | Analytics | 這是發送分析日誌的周期。可以設置為秒,分析日誌將在配置的間隔內發送。默認值為 1 秒。 | X | 1 |
| hiveTheme | Android, iOS, Windows | SDK Common | 您可以設置主題以使用淺色或深色樣式。 | X | HiveTheme.HiveLight |
Note
當應用COPPA ageGateU13時,只有基於設備(device)-的條款同意彈出窗口可以顯示。
當應用COPPA ageGateU13時,如果任何用戶在條款同意過程中回應他們年滿13歲或以上,SDK將不會對該用戶應用COPPA ageGateU13。然而,hive_config.xml中設置的值(true)本身不會改變。
不支援的項目¶
以下是Configuration類別中不再支持的方法。
| 項目 | 作業系統 | SDK 功能 | 描述 | 必需 | SDK 預設值 |
|---|---|---|---|---|---|
| permissions | Android | SDK 通用 | (自 v4.16.3 起已棄用) 是否請求由權限類型設定的權限。權限名稱特定於 Android 功能。 | X | 無 |
| hivePermissionViewOn | Android | SDK 通用 | (自 v4.162 起已棄用) 是否顯示 SDK 權限通知彈出窗口。
| X | true |
| company | Android, iOS, Windows | SDK 通用 | (自 v4.23.0 起已棄用) 遊戲發行公司的名稱。 | X | 無 |

