跳轉至

配置類

Configuration 類別允許您在應用程式運行時 檢索 (get) 或修改 (set) 配置值。例如,您可以使用 getServerId() 方法來檢索應用伺服器資訊,並使用 setServerId() 方法來修改它。
<

作為使用Configuration類別的範例,您可以在應用程式運行時將用戶的zone設置更改為Configuration類別。

API 參考: hive.Configuration.setZone

using hive;  

Configuration.setZone(ZoneType.REAL);

API 參考: hive::Configuration::setZone

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
using namespace std;    
using namespace hive;      

Configuration::setZone(ZoneType::REAL);

API 參考: Configuration.setZone

import com.hive.Configuration    

Configuration.zone = Configuration.ZoneType.REAL

API 參考: Configuration.setZone

import com.hive.Configuration;    

Configuration.INSTANCE.setZone(Configuration.ZoneType.REAL);

API 參考: ConfigurationInterface.setZone

import HIVEService    

ConfigurationInterface.setZone(.real)

API 參考: HIVEConfiguration:setZone

#import <HIVEService/HIVEService-Swift.h>    

[HIVEConfiguration setZone: HIVEZoneTypeReal];
Note

Configuration 類別的 setZone 方法必須在 setup 函數被調用之前被調用,才能正常運作。

配置類別使用場景

您需要在以下情况下更改 Hive SDK 设置,以便在应用程序执行期间进行更改。

在 Hive SDK 初始化之前

在初始化 Hive SDK 之前,反映游戏服务器或游戏语言设置。

在 Hive SDK 初始化後 ~ 在伺服器檢查彈出窗口之前

這是用戶在初始化 Hive SDK 之前選擇遊戲伺服器的情況,然後顯示伺服器檢查彈出窗口。在初始化 Hive SDK 之後,顯示遊戲伺服器選擇 UI,並在設置中反映用戶選擇的遊戲伺服器。在執行此過程後,顯示伺服器檢查彈出窗口。
<

範例:遊戲伺服器選擇介面

進入遊戲後

如果用户在进入游戏后更改游戏设置中的游戏语言或游戏服务器,您可以在游戏设置或其他菜单中创建游戏服务器或游戏语言更改的用户界面。在游戏中使用此用户界面更改服务器或语言时,您还应在设置中反映此信息。

範例:遊戲語言選擇 UI

其他情況

在不同情況下更改現有的設置值,例如當遊戲信息因遊戲規劃或其他情況而變更時。

Note

您可以更改該值,但有一些項目無法檢索

配置類別使用範例

這裡有一些使用 Configuration 類的更多示例。

Hive 主題設定

您可以使用 Configuration.setHiveTheme 曝露黑暗主題。

API 參考: hive.Configuration.setHiveTheme

using hive;

Configuration.setHiveTheme(HiveThemeType.hiveLight);
Configuration.setHiveTheme(HiveThemeType.hiveDark);

API 參考: hive::Configuration::setHiveTheme

#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;

Configuration::setHiveTheme(HiveThemeType::hiveLight);
Configuration::setHiveTheme(HiveThemeType::hiveDark);

API 參考: hiveTheme

import com.hive.Configuration

Configuration.hiveTheme = HiveTheme.hiveLight
Configuration.hiveTheme = HiveTheme.hiveDark

API 參考: Configuration.setHiveTheme

import com.hive.Configuration;

Configuration.INSTANCE.setHiveTheme(Configuration.HiveTheme.HiveLight);
Configuration.INSTANCE.setHiveTheme(Configuration.HiveTheme.HiveDark);

API 參考: HIVEConfiguration:setHiveTheme

#import <HIVEService/HIVEService-Swift.h>

[HIVEConfiguration setHiveTheme: HIVEThemeTypeHiveLight];
[HIVEConfiguration setHiveTheme: HIVEThemeTypeHiveDark];

API 參考: HIVEConfiguration:setHiveTheme

import HIVEService

ConfigurationInterface.setHiveTheme(.hiveLight)
ConfigurationInterface.setHiveTheme(.hiveDark)

配置類別和 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 客戶端連接的伺服器。
  • real: 運行伺服器
  • sandbox: 測試伺服器
X `REAL`
useLog 這是是否啟用 Hive 客戶端內部操作的日誌。如果啟用日誌,將會輸出日誌到開發工具屏幕。
  • true: 啟用日誌
  • false: 禁用日誌
X `false`
company 這是遊戲發行公司。
  • C2S: Com2uS Games
  • GVI: Com2uS Holdings Games
O 空白
channel 這是遊戲應用使用的登錄服務平台。C2S: Hive 平台(默認) O `C2S`
market 這是進行應用內購買的市場。
  • GO: Google Play 商店
  • LE: Com2uS Lebi
  • AP: Apple App Store
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
  • true: 將 COPPA ageGateU13 應用於 Hive SDK
  • false: 不將 COPPA ageGateU13 應用於 Hive SDK
X `false`
agreementDetermineBase 確定獲得同意條款和條件的標準。您可以選擇 `device` 或 `account`,默認值為 `device`。
  • 如果您選擇 device,則在初始化階段 AuthV4.setup() 期間將顯示條款和條件同意彈出窗口,並且僅根據設備獲得一次同意。一旦根據設備獲得同意,即使用戶在同一設備上使用不同的帳戶登錄,也不會再次獲得條款和條件的同意。您可以使用 resetAgreement() 來清除條款和條件同意記錄。
  • 如果您選擇 account,則在登錄期間將顯示條款和條件同意彈出窗口,並且每個 PlayerId 僅獲得一次同意。這僅在不應用 COPPA ageGateU13 時使用。您不能使用 `resetAgreement()` 來清除條款和條件同意記錄。市場追蹤工具將在條款和條件同意後運行。
X `device`
Note

當應用 COPPA ageGateU13 時,僅能顯示 device 基於條款和條件同意彈出窗口。 如果用戶在條款和條件同意過程中回應他們已滿 13 歲或以上,則 Hive SDK 將不會將 COPPA ageGateU13 應用於該用戶。然而,hive_config.xml 中設置的值 (true) 本身不會改變。

不支援的項目

以下是Configuration類別中不再支援的方法。

項目 描述 備註
permissions 這是是否根據權限類型請求權限。這是僅限於 Android 的功能。
  • 外部存儲權限
    • true: 顯示權限請求窗口
    • false : 不顯示權限請求窗口
  • 標籤名稱: sdwrite
自 v4.16.3 起已棄用
hivePermissionViewOn 這是是否顯示 Hive SDK 權限通知彈出窗口。
  • true: 顯示
  • false: 不顯示
自 v4.16.2 起已棄用