跳轉至

配置類

使用 Configuration 类,您可以在应用程序运行时 检索 (get) 或 更改 (set) 配置值。例如,在检索应用服务器信息时,使用 getServerId() 方法,而在更改时,使用 setServerId() 方法。

作為使用Configuration類的示例,您可以在應用程序執行期間使用Configuration類更改用戶的zone設置。

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

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

進入遊戲後

如果用户在进入游戏后更改游戏设置中的游戏语言或游戏服务器,他们可以在游戏设置或其他菜单中配置用于更改游戏服务器或游戏语言的用户界面。如果用户使用该用户界面更改服务器或语言,则此信息也必须反映在设置中。

範例:遊戲語言選擇介面

其他情況

根據遊戲規劃和其他情況的變化,改變先前設定的值。

Info

您無法使用 Configuration 類別更改執行時設定,還有一些項目只能被檢索

使用配置类的示例

這裡有關於使用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類設置的值具有更高的優先權。然而,Configuration類設置的值在Hive SDK內部具有優先權,並且hive_config.xml文件中的現有值不會被更改。

例如,即使您在hive_config.xml中的上述zone配置中将zone设置为sandbox,在使用Configuration类将此值更改为real并初始化Hive SDK后,Hive SDK将基于real进行操作。然而,hive_config.xml中的zone仍将保持为sandbox

可檢索設置的配置類

配置類別方法允許您檢索(get)僅在下方列出的設置的值。

項目 作業系統 Hive SDK 功能 描述 SDK 預設
hiveSDKVersion Android, iOS, Windows Hive SDK 通用 這是 Hive SDK 的版本。 應用的 Hive SDK 版本值
referenceSDKVersion Android, iOS, Windows Hive SDK 通用 這是 Hive SDK 參考的 SDK 版本。 有關應用的 Hive SDK 參考的庫和版本的信息
hiveCountry Android, iOS, Windows Hive SDK 通用 這是由 Hive SDK 伺服器確定的國家代碼。 Hive SDK 伺服器提供的信息
appId Android, iOS, Windows Hive SDK 通用 這是遊戲構建識別碼。 X
serverId Android, iOS, Windows Hive SDK 通用 這是每個遊戲伺服器的識別碼,可以在遊戲按地區運行伺服器時確認。必須根據 Hive 識別碼政策進行編寫。 空白
zone Android, iOS, Windows Hive SDK 通用 這是 Hive 客戶端將連接的伺服器。
  • real: 運行伺服器
  • sandbox: 測試伺服器
REAL
useLog Android, iOS, Windows Hive SDK 通用 這表示是否啟用 Hive 客戶端內部操作的日誌記錄。當啟用日誌記錄時,日誌將輸出到開發工具屏幕。
  • true: 啟用日誌
  • false: 禁用日誌
false
channel Android, iOS, Windows Hive SDK 通用 這是遊戲應用中用於登錄和應用內支持服務的平台。如果通過 Hive SDK 登錄外部社交網絡或使用應用內購買,則對應於 C2S。它用於收集 Hive SDK 分析數據。
  • C2S: Hive 平台
  • KAK: Kakao
  • LIN: Line
  • STE: Steam
  • EPI: Epic Store
  • FAS: FastSprint
C2S
market Android, iOS, Windows Hive SDK 通用 這是處理應用內購買的市場。它用於收集 Hive SDK 分析數據。
  • GO: Google PlayStore
  • AP: Apple AppStore
  • ON: OneStore
  • AM: Amazon AppStore
  • LE: Com2us Lebi
  • HS: Hive 商店
  • GA: Samsung GalaxyStore
  • HU: Huawei AppGallery
空白
httpConnectTimeout Android, iOS, Windows Hive SDK 通用 這是 Hive 客戶端內部使用的 HTTP 連接的超時持續時間(以秒為單位)。預設值設置為 8 秒,除非在特殊情況下,否則禁止更改該值。 8(單位:秒)
httpReadTimeout Android, iOS, Windows Hive SDK 通用 這是 Hive 客戶端內部使用的 HTTP 讀取的超時持續時間(以秒為單位)。預設值設置為 8 秒,除非在特殊情況下(例如,已確認的網絡延遲或中斷會阻止正常日誌收集),否則禁止更改該值。 8(單位:秒)
gameLanguage Android, iOS Hive SDK 通用 這是 Hive SDK 中設置的遊戲語言。 設備語言設置
ageGateU13 Android, iOS, Windows 提供 這表示是否應用 COPPA ageGateU13。要在 Hive SDK 中應用 COPPA ageGateU13,您必須在 Hive 控制台中註冊 COPPA 條款,並在初始化 Hive SDK 之前將此值設置為 true。如果您不希望在 Hive SDK 中應用 COPPA ageGateU13,則在 Hive 控制台中註冊 COPPA 以外的條款時,必須在初始化 Hive SDK 之前將此值設置為 false
  • true: 在 Hive SDK 中應用 COPPA ageGateU13
  • false: 在 Hive SDK 中不應用 COPPA ageGateU13
false
agreementDetermineBase Android, iOS Provisioning 這決定了獲得對條款的同意的標準。

您可以選擇deviceaccount,默認為device
  • 如果選擇device,則在AuthV4.setup()的初始化步驟中將顯示條款同意彈出窗口,並且僅根據設備獲得一次同意。一旦根據設備獲得同意,即使用戶在同一設備上使用不同帳戶登錄,也不會再次要求同意。您可以使用resetAgreement()清除同意記錄。
  • 如果選擇account,則在登錄期間將顯示條款同意彈出窗口,並且每個PlayerId僅獲得一次同意。這僅在不適用COPPA ageGateU13時使用。同意記錄無法使用resetAgreement()清除。市場跟踪工具將從同意開始運行。
device
enableGameController Windows Hive SDK Common 此功能設置是否在Hive SDK提供的UI中啟用“遊戲控制器”。
  • true:啟用遊戲控制器功能。
  • false:禁用遊戲控制器功能。
最後的值會記住在配置文件中,當前值可以通過get函數檢查。
true
usePrivateBrowsingForAuth Windows Authentication 這決定了在Google登錄身份驗證期間是否使用隱身模式。
  • true:使用隱身模式身份驗證。
  • false:使用正常模式身份驗證。
它以hive_config.xml的初始值運行,並且僅在PC SDK中支持。
true
maxGameLogSize Android, iOS, Windows Analytics 以非結構化數據文件形式存儲的遊戲日誌的最大數量。默認值為50,此值由Hive SDK分析服務器收集。 50
analyticsSendLimit Android, iOS, Windows Analytics 在每次分析日誌傳輸周期中要發送的最大日誌數量。默認值為5 5
analyticsQueueLimit Android, iOS, Windows Analytics 可以排隊的分析日誌的最大數量。默認值為50 50
analyticsSendCycle Android, iOS, Windows Analytics 發送分析日誌的周期。可以以秒為單位設置,並且每個設置的周期將發送分析日誌。默認值為1秒。 1
hiveTheme Android, iOS, Windows Hive SDK Common 您可以設置Hive主題以使用淺色或深色主題。 HiveTheme.HiveLight

可配置的設置與配置類

可以通过 Configuration 类方法更改的项目 (set) 如下所示。必须输入的项目为强制项,而可选项目可以根据需要输入。如果未输入可选项目,它们将使用 Hive SDK 的默认值进行操作。即使是强制项,如果已经在 hive_config.xml 中输入且在运行时不需要更改,也无需使用 Configuration 类进行更改。

Warning

serverId 是一个必须在运行时设置的值。因此,必须使用 Configuration 类来设置此值。

項目 作業系統 Hive SDK 功能 描述 必需 SDK 預設值
appId Android, iOS, Windows Hive SDK 通用 遊戲構建識別碼。 X * Android: 應用基礎包名稱
* iOS: 包 ID
serverId Android, iOS, Windows Hive SDK 通用 每個遊戲伺服器識別碼,可以在遊戲中按區域操作伺服器時進行驗證。必須根據 Hive 識別碼政策進行書寫。 O 空白
zone Android, iOS, Windows Hive SDK 通用 Hive 客戶端將連接的伺服器。
  • real: 操作伺服器
  • sandbox: 測試伺服器
X REAL
useLog Android, iOS, Windows Hive SDK 通用 是否啟用 Hive 客戶端內部操作的日誌。當啟用日誌時,它們將輸出到開發工具螢幕上。
  • true: 啟用日誌
  • false: 禁用日誌
X false
channel Android, iOS, Windows Hive SDK 通用 遊戲應用中使用的登錄和應用內支持服務平台。當登錄外部社交平台或通過 Hive SDK 使用應用內購買時,這對應於 C2S。用於 Hive SDK 分析數據收集。
  • C2S: Hive 平台
  • KAK: Kakao
  • LIN: Line
  • STE: Steam
  • EPI: Epic Store
  • FAS: FastSprint
O C2S
market Android, iOS, Windows Hive SDK 通用 處理應用內購買付款的市場。用於 Hive SDK 分析收集。
  • GO: Google PlayStore
  • AP: Apple AppStore
  • ON: OneStore
  • AM: Amazon AppStore
  • LE: Com2us Lebi
  • HS: Hive 商店
  • GA: Samsung GalaxyStore
  • HU: Huawei AppGallery
O 空白
httpConnectTimeout Android, iOS, Windows Hive SDK 通用 Hive 客戶端內部使用的 HTTP 連接超時持續時間(以秒為單位)。預設值設置為 8 秒,除非在特殊情況下,否則禁止更改此值。 X 8(單位:秒)
httpReadTimeout Android, iOS, Windows Hive SDK 通用 Hive 客戶端內部使用的 HTTP 讀取超時持續時間(以秒為單位)。預設值設置為 8 秒,除非在特殊情況下(例如,已確認的網絡延遲或斷開連接會干擾正常日誌收集),否則禁止更改此值。 X 8(單位:秒)
gameLanguage Android, iOS, Windows Hive SDK Common 遊戲語言設置在 Hive SDK 中。 X 設備語言設置
ageGateU13 Android, iOS, Windows Provisioning 是否適用 COPPA ageGateU13。要在 Hive SDK 中應用 COPPA ageGateU13,必須在 Hive 控制台中註冊 COPPA 條款後將此值設置為 true,並在初始化 Hive SDK 之前進行設置。要不應用 COPPA ageGateU13,必須在 Hive 控制台中註冊其他條款後將此值設置為 false,並在初始化 Hive SDK 之前進行設置。
  • true: 在 Hive SDK 中應用 COPPA ageGateU13
  • false: 在 Hive SDK 中不應用 COPPA ageGateU13
X false
agreementDetermineBase Android, iOS Provisioning 確定獲得條款同意的標準。

您可以選擇 deviceaccount,預設為 device
  • 如果選擇 device,則在 AuthV4.setup() 的初始化步驟中將顯示條款同意彈出窗口,並根據設備獲得一次同意。根據設備獲得同意後,即使使用不同帳戶登錄同一設備,系統也不會再次要求同意。可以使用 resetAgreement() 清除同意記錄。
  • 如果選擇 account,則在登錄時將顯示條款同意彈出窗口,並根據 PlayerId 獲得一次同意。這僅在未應用 COPPA ageGateU13 時可用。無法使用 resetAgreement() 清除同意記錄。市場跟踪工具將從獲得同意的時候開始運作。
X device
enableGameController Windows Hive SDK Common 一個功能,用於設置是否在 Hive SDK 提供的 UI 中啟用「遊戲控制器」。
  • true:啟用遊戲控制器功能。
  • false:停用遊戲控制器功能。
最後的值會記錄在配置文件中,當前值可以通過 get 函數檢查。
X true
usePrivateBrowsingForAuth Windows 認證 決定在 Google 登錄認證過程中是否使用隱身模式。
  • true:使用隱身模式認證。
  • false:使用正常模式認證。
根據 hive_config.xml 的初始值運行,僅在 PC SDK 中支持。
X true
maxGameLogSize Android, iOS, Windows 分析 以非結構化數據文件形式存儲的遊戲日誌的最大數量。默認值為 50,此值由 Hive SDK 分析服務器收集。 X 50
analyticsSendLimit Android, iOS, Windows 分析 每次分析日誌傳輸周期中要發送的最大日誌數量。默認值為 5 X 5
analyticsQueueLimit Android, iOS, Windows 分析 可以排隊的最大分析日誌數量。默認值為 50 X 50
analyticsSendCycle Android, iOS, Windows 分析 發送分析日誌的周期。可以設置為秒,分析日誌將在配置的間隔內發送。默認值為 1 秒。 X 1
hiveTheme Android, iOS, Windows Hive SDK Common 您可以設置 Hive 主題以使用淺色或深色主題。 X HiveTheme.HiveLight
Note

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

不支援的項目

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

項目 作業系統 Hive SDK 特性 描述 必需 SDK 預設值
permissions Android Hive SDK 通用 (自 v4.16.3 起已不推薦使用)
是否請求由權限類型設置的權限。權限名稱特定於 Android 功能。
X
hivePermissionViewOn Android Hive SDK 通用 (自 v4.162 起已不推薦使用)
是否顯示 Hive SDK 權限通知彈出窗口。
  • true: 顯示
  • false: 不顯示
X true
company Android, iOS, Windows Hive SDK 通用 (自 v4.23.0 起已不推薦使用)
遊戲發行公司的名稱。
X