跳转至

配置类

使用 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 安卓, 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 安卓, iOS, Windows 分析 作为非结构化数据文件存储的最大游戏日志数量。默认值为 50,该值由 SDK 分析服务器收集。 50
analyticsSendLimit 安卓, iOS, Windows 分析 每个分析日志传输周期发送的最大日志数量。默认值为 5 5
analyticsQueueLimit 安卓, iOS, Windows 分析 可以排队的最大分析日志数量。默认值为 50 50
analyticsSendCycle 安卓, iOS, Windows 分析 发送分析日志的周期。可以以秒为单位设置,分析日志将在每个设置的周期内发送。默认值为 1 秒。 1
hiveTheme 安卓, iOS, Windows SDK 通用 您可以设置主题为浅色或深色样式。 HiveTheme.HiveLight

可配置的设置与配置类

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

Warning

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

项目 操作系统 SDK 特性 描述 必需 SDK 默认值
appId 安卓, iOS, Windows SDK 通用 游戏构建标识符。 X * 安卓: 应用基础包名
* iOS: 包 ID
serverId 安卓, iOS, Windows SDK 通用 每个游戏服务器标识符,可以在游戏中按区域操作服务器时进行验证。必须根据 Hive 标识符政策进行书写。 O 空白
zone 安卓, iOS, Windows SDK 通用 Hive 客户端将连接的服务器。
  • real: 运营服务器
  • sandbox: 测试服务器
X REAL
useLog 安卓, iOS, Windows SDK 通用 是否启用 Hive 客户端内部操作的日志。当启用日志时,它们将输出到开发工具屏幕。
  • true: 启用日志
  • false: 禁用日志
X false
channel 安卓, iOS, Windows SDK 通用 游戏应用中使用的登录和应用内支持服务平台。当登录外部社交平台或通过 SDK 使用应用内购买时,这对应于 C2S。用于 SDK 分析数据收集。
  • C2S: Hive 平台
  • KAK: Kakao
  • LIN: LINE
  • STE: Steam
  • EPI: Epic Games Store
  • FAS: FastSprint
O C2S
market 安卓, iOS, Windows SDK 通用 处理应用内购买支付的市场。用于 SDK 分析收集。
  • GO: Google Play
  • AP: 应用商店
  • ON: ONE 商店
  • AM: 亚马逊应用商店
  • LE: Com2uS Lebi
  • HS: Hive 商店
  • GA: Galaxy 商店
  • HU: HUAWEI 应用市场
O 空白
httpConnectTimeout 安卓, iOS, Windows SDK 通用 Hive 客户端内部使用的 HTTP 连接的超时时间(以秒为单位)。默认值设置为 8 秒,除非在特殊情况下,否则禁止更改此值。 X 8(单位:秒)
httpReadTimeout 安卓, iOS, Windows SDK 通用 Hive 客户端内部使用的 HTTP 读取的超时时间(以秒为单位)。默认值设置为 8 秒,除非在特殊情况下(例如,确认会干扰正常日志收集的网络延迟或断开连接),否则禁止更改此值。 X 8(单位:秒)
gameLanguage 安卓, iOS, Windows SDK 通用 在 SDK 中设置的游戏语言。 X 设备语言设置
ageGateU13 安卓, iOS, Windows 供应 是否适用 COPPA ageGateU13。要在 SDK 中应用 COPPA ageGateU13,必须在 Hive 控制台注册 COPPA 条款后将此值设置为 true,并在初始化 SDK 之前进行设置。要不应用 COPPA ageGateU13,必须在 Hive 控制台注册除 COPPA 以外的条款后将此值设置为 false,并在初始化 SDK 之前进行设置。
  • true: 在 SDK 中应用 COPPA ageGateU13
  • false: 在 SDK 中不应用 COPPA ageGateU13
X false
agreementDetermineBase 安卓, 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 每个Analytics日志传输周期发送的最大日志数量。默认值为5 X 5
analyticsQueueLimit Android, iOS, Windows Analytics 可以排队的最大Analytics日志数量。默认值为50 X 50
analyticsSendCycle Android, iOS, Windows Analytics 发送Analytics日志的周期。可以以秒为单位设置,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