跳轉至

配置類

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,並在設置中反映用戶選擇的遊戲伺服器。在執行此過程後,顯示伺服器檢查彈出窗口。

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

進入遊戲後

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

範例:遊戲語言選擇介面

其他情況

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

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
gameControllerEnable 此功能設置是否在Hive SDK提供的UI中啟用“遊戲控制器”。
  • true: 啟用遊戲控制器功能。
  • false: 停用遊戲控制器功能。
最後的值會在設置文件中記住,當前值可以通過get函數檢查。
X true
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 起已棄用