跳转至

配置类

使用 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 的版本。 应用的 HiveSDK 版本值
referenceSDKVersion Android, iOS, Windows Hive SDK 通用 这是 Hive SDK 参考的 SDK 版本。 关于所应用的 HiveSDK 参考的库和版本的信息
hiveCountry Android, iOS, Windows Hive SDK 通用 这是由 Hive SDK 服务器确定的国家代码。 HiveSDK 服务器提供的信息
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 以外的条款时,将此值设置为 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,此值由 HiveSDK 分析服务器收集。 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 Hive SDK 通用 在 Hive SDK 中设置的游戏语言。 X 设备语言设置
ageGateU13 Android, iOS, Windows 预配 是否适用 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 预配 确定获取条款同意的标准。

您可以选择 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