跳轉至

配置類

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
usePrivateBrowsingForAuth 確定在驗證Google登錄時是否使用秘密模式。
  • true: 使用秘密模式驗證。
  • false: 使用正常模式驗證。
它與hive_config.xml的初始值一起工作,並且僅支持PC SDK。
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 起已棄用