跳轉至

配置類

使用 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函數之前被調用,以便正常運作。

配置類的使用場景

如果您需要在遊戲應用程式運行時更改SDK設置,這裡是一些情況。

SDK 初始化之前

在初始化 SDK 之前,請在設置中反映遊戲伺服器或遊戲語言。

在SDK初始化後和伺服器維護彈出窗口之前

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

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

進入遊戲後

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

範例:遊戲語言選擇介面

其他情況

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

Info

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

使用配置類的範例

這裡有關於使用Configuration類別的額外指南。

主題設置

您可以使用 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類設置的值在SDK內部具有優先權,並且hive_config.xml文件中的現有值不會被更改。

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

可檢索設定的配置類別

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

項目 作業系統 SDK 功能 描述 SDK 預設值
hiveSDKVersion Android, iOS, Windows SDK 通用 Hive SDK 版本。 應用的 HiveSDK 版本值
referenceSDKVersion Android, iOS, Windows SDK 通用 Hive SDK 參考的 SDK 版本。 應用的 HiveSDK 參考的庫和版本資訊
hiveCountry Android, iOS, Windows SDK 通用 由 Hive SDK 伺服器決定的國家代碼。 從 HiveSDK 伺服器傳遞的信息
appId Android, iOS, Windows SDK 通用 遊戲構建識別碼。 X
serverId Android, iOS, Windows SDK 通用 每個遊戲伺服器識別碼,可在遊戲中按區域運行伺服器時進行驗證。必須根據 Hive 識別碼政策編寫。 空白
zone Android, iOS, Windows SDK 通用 Hive 客戶端將連接的伺服器。
  • real: 運行伺服器
  • sandbox: 測試伺服器
REAL
useLog Android, iOS, Windows SDK 通用 是否啟用 Hive 客戶端內部操作的日誌。當啟用日誌時,將輸出到開發工具屏幕。
  • true: 啟用日誌
  • false: 禁用日誌
false
channel Android, iOS, Windows SDK 通用 遊戲應用中使用的登錄和應用內支持服務平台。當登錄外部社交平台或通過 SDK 使用應用內購買時,這對應於 C2S。用於 SDK 分析數據收集。
  • C2S: Hive 平台
  • KAK: Kakao
  • LIN: LINE
  • STE: Steam
  • EPI: Epic Games Store
  • FAS: FastSprint
C2S
market Android, iOS, Windows SDK 通用 處理應用內購買付款的市場。用於 SDK 分析收集。
  • GO: Google Play
  • AP: App Store
  • ON: ONE store
  • AM: Amazon Appstore
  • LE: Com2uS Lebi
  • HS: Hive Store
  • GA: Galaxy Store
  • HU: HUAWEI AppGallery
空白
httpConnectTimeout Android, iOS, Windows SDK 通用 Hive 客戶端內部使用的 HTTP 連接的超時持續時間(以秒為單位)。預設值設置為 8 秒,除非在特殊情況下,否則禁止更改此值。 8(單位:秒)
httpReadTimeout Android, iOS, Windows SDK 通用 Hive 客戶端內部使用的 HTTP 讀取的超時持續時間(以秒為單位)。預設值設置為 8 秒,除非在特殊情況下(例如,已確認會中斷正常日誌收集的網絡延遲或斷開連接),否則禁止更改此值。 8(單位:秒)
gameLanguage Android, iOS, Windows SDK 通用 在 SDK 中設置的遊戲語言。 設備語言設置
ageGateU13 Android, iOS, Windows 配置 是否應用 COPPA ageGateU13。要在 SDK 中應用 COPPA ageGateU13,必須在 Hive 控制台中註冊 COPPA 條款後,將此值設置為 true,並在初始化 SDK 之前進行設置。要不應用 COPPA ageGateU13,必須在 Hive 控制台中註冊其他條款後,將此值設置為 false,並在初始化 SDK 之前進行設置。
  • true: 在 SDK 中應用 COPPA ageGateU13
  • false: 在 SDK 中不應用 COPPA ageGateU13
false
agreementDetermineBase Android, iOS 提供 确定获取协议条款同意的标准。

您可以选择deviceaccount,默认值为device
  • 如果选择device,则在AuthV4.setup()的初始化步骤中将显示条款同意弹出窗口,并基于设备获取一次同意。一旦基于设备获得同意,即使用户在同一设备上使用不同帐户登录,也不会再次询问同意。可以使用resetAgreement()清除同意记录。
  • 如果选择account,则在登录时将显示条款同意弹出窗口,并且每个PlayerId仅获取一次同意。仅在未应用COPPA ageGateU13时可以使用。无法使用resetAgreement()清除同意记录。营销跟踪工具将在获得同意时开始操作。
device
enableGameController Windows SDK 通用 设置是否在SDK提供的UI中启用“游戏控制器”的功能。
  • true:激活游戏控制器功能。
  • false:停用游戏控制器功能。
最后的值会在配置文件中记住,当前值可以通过get函数检查。
true
usePrivateBrowsingForAuth Windows 身份验证 确定在Google登录身份验证期间是否使用隐身模式。
  • true:使用隐身模式身份验证。
  • false:使用正常模式身份验证。
与hive_config.xml的初始值一起操作,仅支持Hive SDK Windows。
true
maxGameLogSize Android, iOS, Windows 分析 作为非结构化数据文件存储的游戏日志的最大数量。默认值为50,此值由SDK分析服务器收集。 50
analyticsSendLimit Android, iOS, Windows 分析 每个分析日志传输周期发送的最大日志数量。默认值为5 5
analyticsQueueLimit Android, iOS, Windows 分析 可以排队的最大分析日志数量。默认值为50 50
analyticsSendCycle Android, iOS, Windows 分析 发送分析日志的周期。可以以秒为单位设置,分析日志将在每个设置的周期内发送。默认值为1秒。 1
hiveTheme Android, iOS, Windows SDK 通用 您可以设置主题以使用浅色或深色样式。 HiveTheme.HiveLight

可透過 Configuration 類別變更的設定

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

Warning

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

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

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

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

不支援的項目

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

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