配置类¶
使用 Configuration 类,您可以在游戏应用程序运行时 检索 (get) 或 更改 (set) 配置值。例如,在检索游戏服务器信息时,使用 getServerId() 方法,而在更改时,使用 setServerId() 方法。
作为使用Configuration类的示例,您可以在游戏应用程序执行期间使用Configuration类更改用户的zone设置。
API 参考: hive.Configuration.setZone
API 参考: hive::Configuration::setZone
API 参考: Configuration.setZone
API 参考: Configuration.setZone
API 参考: ConfigurationInterface.setZone
API 参考: HIVEConfiguration:setZone
Note
Configuration类的setZone方法必须在调用setup函数之前被调用,以确保正确工作。
配置类的使用场景¶
如果您需要在游戏应用程序运行时更改SDK设置,这里是一些情况。
SDK 初始化之前¶
在初始化 SDK 之前,请在设置中反映游戏服务器或游戏语言。
SDK初始化后和服务器维护弹窗之前¶
这是用户在初始化SDK后选择游戏服务器,然后显示服务器维护弹窗的情况。在初始化SDK后,游戏服务器选择UI被暴露,用户选择的游戏服务器反映在设置中。执行此过程后,将显示服务器维护弹窗。
进入游戏后¶
如果用户在进入游戏后更改游戏设置中的游戏语言或游戏服务器,他们可以在游戏设置或其他菜单中配置用于更改游戏服务器或游戏语言的用户界面。如果用户使用该用户界面更改服务器或语言,则该信息也必须反映在设置中。
其他情况¶
由于游戏规划和其他情况的变化,修改先前设置的值。
Info
您无法使用Configuration类更改运行时设置,并且还有只能检索的项目。
使用配置类的示例¶
这是关于使用Configuration类的附加指南。
主题设置¶
您可以使用 Configuration.setHiveTheme 暴露黑暗主题。
API 参考: hive.Configuration.setHiveTheme
API 参考: hiveTheme
API 参考: Configuration.setHiveTheme
API 参考: HIVEConfiguration:setHiveTheme
API 参考: HIVEConfiguration:setHiveTheme
配置类和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 |
| useLog | Android, iOS, Windows | SDK 通用 | 是否启用 Hive 客户端内部操作的日志。当启用日志时,它们将输出到开发工具屏幕。
| false |
| channel | Android, iOS, Windows | SDK 通用 | 游戏应用中使用的登录和应用内支持服务平台。当登录外部社交平台或通过 SDK 使用应用内购买时,这对应于 C2S。用于 SDK 分析数据收集。
| C2S |
| market | Android, iOS, Windows | SDK 通用 | 处理应用内购买支付的市场。用于 SDK 分析收集。
| 空白 |
| 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 之前进行设置。
| false |
| agreementDetermineBase | 安卓, iOS | 配置 | 确定获取条款同意的标准。 您可以选择 device 或 account,默认值为 device。
| device |
| enableGameController | Windows | SDK 通用 | 设置是否在 SDK 提供的 UI 中启用“游戏控制器”的功能。
get 函数检查。 | true |
| usePrivateBrowsingForAuth | Windows | 身份验证 | 确定在 Google 登录身份验证期间是否使用隐身模式。
| 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 客户端将连接的服务器。
| X | REAL |
| useLog | 安卓, iOS, Windows | SDK 通用 | 是否启用 Hive 客户端内部操作的日志。当启用日志时,它们将输出到开发工具屏幕。
| X | false |
| channel | 安卓, iOS, Windows | SDK 通用 | 游戏应用中使用的登录和应用内支持服务平台。当登录外部社交平台或通过 SDK 使用应用内购买时,这对应于 C2S。用于 SDK 分析数据收集。
| O | C2S |
| market | 安卓, iOS, Windows | SDK 通用 | 处理应用内购买支付的市场。用于 SDK 分析收集。
| 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 之前进行设置。
| X | false |
| agreementDetermineBase | 安卓, iOS | 供应 | 确定获得条款同意的标准。 您可以选择 device 或 account,默认值为 device。
| X | device |
| enableGameController | Windows | SDK Common | 一个设置是否在SDK提供的UI中启用“游戏控制器”的功能。
get函数检查。 | X | true |
| usePrivateBrowsingForAuth | Windows | Authentication | 确定在Google登录身份验证期间是否使用隐身模式。
| 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 权限通知弹出窗口。
| X | true |
| company | Android, iOS, Windows | SDK 通用 | (自 v4.23.0 起弃用) 游戏出版公司的名称。 | X | 无 |

