配置類¶
Configuration 類別允許您在應用程式運行時 檢索 (get) 或修改 (set) 配置值。例如,您可以使用 getServerId() 方法來檢索應用伺服器資訊,並使用 setServerId() 方法來修改它。
<
作為使用Configuration類別的範例,您可以在應用程式運行時將用戶的zone設置更改為Configuration類別。
API 參考: hive.Configuration.setZone
API 參考: hive::Configuration::setZone
API 參考: Configuration.setZone
API 參考: Configuration.setZone
API 參考: ConfigurationInterface.setZone
API 參考: HIVEConfiguration:setZone
Note
Configuration 類別的 setZone 方法必須在 setup 函數被調用之前被調用,才能正常運作。
配置類別使用場景¶
您需要在以下情况下更改 Hive SDK 设置,以便在应用程序执行期间进行更改。
在 Hive SDK 初始化之前¶
在初始化 Hive SDK 之前,反映游戏服务器或游戏语言设置。
在 Hive SDK 初始化後 ~ 在伺服器檢查彈出窗口之前¶
這是用戶在初始化 Hive SDK 之前選擇遊戲伺服器的情況,然後顯示伺服器檢查彈出窗口。在初始化 Hive SDK 之後,顯示遊戲伺服器選擇 UI,並在設置中反映用戶選擇的遊戲伺服器。在執行此過程後,顯示伺服器檢查彈出窗口。
<
進入遊戲後¶
如果用户在进入游戏后更改游戏设置中的游戏语言或游戏服务器,您可以在游戏设置或其他菜单中创建游戏服务器或游戏语言更改的用户界面。在游戏中使用此用户界面更改服务器或语言时,您还应在设置中反映此信息。
其他情況¶
在不同情況下更改現有的設置值,例如當遊戲信息因遊戲規劃或其他情況而變更時。
Note
您可以更改該值,但有一些項目無法檢索。
配置類別使用範例¶
這裡有一些使用 Configuration 類的更多示例。
Hive 主題設定¶
您可以使用 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類設置的值具有更高的優先權。然而,Hive SDK在內部使用Configuration類設置的值,並且hive_config.xml文件中的現有值不會改變。
例如,即使您在上述 zone 设置中的 hive_config.xml 中将 zone 设置为 sandbox,如果您使用 Configuration 类将此值更改为 real 并初始化 Hive SDK,Hive SDK 将基于 real 进行操作。然而,hive_config.xml 中的 zone 将保持为 sandbox。
配置類別僅可檢索設置¶
可以僅使用Configuration類別方法檢索(get)的配置項目如下。
| 項目 | 描述 |
|---|---|
| hiveSDKVersion | 這是 Hive SDK 版本。 |
| referenceSDKVersion | 這是 Hive SDK 參考的 SDK 版本。 |
| hiveCountry | 這是由 Hive SDK 伺服器決定的國家代碼。 |
配置類別可修改的設定¶
可以使用 Configuration 类方法修改的项目 (set) 如下所示。这些项目与在构建应用程序之前预先配置在 hive_config.xml 中的 Hive SDK 常见设置项目 相同。必填项目必须输入,选填项目根据需要输入。如果不输入选填项目,Hive SDK 将使用默认值运行。
| 項目 | 描述 | 必需 | SDK 默認值 |
|---|---|---|---|
| appId | 這是遊戲構建標識符。 | X | Android: 應用默認包名,iOS: 包 ID |
| serverId | 這是每個遊戲伺服器的標識符,可以在遊戲按區域運行伺服器時檢查。必須根據 Hive 標識符政策來編寫。 | O | 空白 |
| 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 基於條款和條件同意彈出窗口。 如果用戶在條款和條件同意過程中回應他們已滿 13 歲或以上,則 Hive SDK 將不會將 COPPA ageGateU13 應用於該用戶。然而,hive_config.xml 中設置的值 (true) 本身不會改變。
不支援的項目¶
以下是Configuration類別中不再支援的方法。
| 項目 | 描述 | 備註 |
|---|---|---|
| permissions | 這是是否根據權限類型請求權限。這是僅限於 Android 的功能。
| 自 v4.16.3 起已棄用 |
| hivePermissionViewOn | 這是是否顯示 Hive SDK 權限通知彈出窗口。
| 自 v4.16.2 起已棄用 |

