跳转至

配置类

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

作为使用Configuration类的示例,您可以在应用程序运行时将用户的zone设置更改为Configuration类。

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,并在设置中反映用户选择的游戏服务器。执行此过程后,显示服务器检查弹出窗口。

示例:游戏服务器选择界面

进入游戏后

如果用户在进入游戏后更改游戏设置中的游戏语言或游戏服务器,您可以在游戏设置或其他菜单中创建游戏服务器或游戏语言更改的用户界面。 如果用户使用此用户界面更改服务器或语言,您还应在设置中反映此信息。

示例:游戏语言选择界面

其他情况

在各种情况下更改现有设置值,例如当游戏信息因游戏规划或其他情况而变化时。

Note

你可以更改值,但有一些无法检索的项目

配置类使用示例

以下是使用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类设置的值具有更高的优先级。然而,Hive SDK在内部使用Configuration类设置的值,并且hive_config.xml文件中的现有值不会被更改。

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

配置类可检索仅限设置

可以通过Configuration类方法检索(get)的配置项如下。

项目 描述
hiveSDKVersion 这是 Hive SDK 版本。
referenceSDKVersion 这是 Hive SDK 参考的 SDK 版本。
hiveCountry 这是由 Hive SDK 服务器确定的国家代码。

配置类可修改设置

可以使用 Configuration 类方法修改的项目 (set) 如下所示。这些项目与在构建应用程序之前预配置在 hive_config.xml 中的 Hive SDK 通用设置项 相同。必填项必须输入,选填项根据需要输入。如果您不输入选填项,Hive SDK 将使用默认值运行。

项目 描述 必需 SDK 默认值
appId 这是游戏构建标识符。 X Android: 应用默认包名,iOS: 包 ID
serverId 这是每个游戏服务器的标识符,可以在游戏按区域操作服务器时进行检查。必须根据 Hive 标识符政策进行书写。 O 空白
zone 这是 Hive 客户端连接的服务器。
  • real: 运营服务器
  • sandbox: 测试服务器
X `REAL`
useLog 这是是否激活 Hive 客户端内部操作的日志记录。如果启用日志记录,将会输出日志到开发工具屏幕。
  • true: 启用日志记录
  • false: 禁用日志记录
X `false`
company 这是游戏发行公司。
  • C2S: Com2uS Games
  • GVI: Com2uS Holdings Games
O 空白
channel 这是游戏应用使用的登录服务平台。C2S: Hive 平台(默认) O `C2S`
market 这是进行应用内购买支付的市场。
  • GO: Google Play 商店
  • LE: Com2uS Lebi
  • AP: Apple App Store
O 空白
httpConnectTimeout 这是 Hive 客户端内部使用的 HTTP 连接的超时时间(以秒为单位)。默认值设置为 8 秒,除非有特殊情况,否则禁止更改该值。 X `8`(单位:秒)
httpReadTimeout 这是 Hive 客户端内部使用的 HTTP 读取的超时时间(以秒为单位)。默认值设置为 8 秒,除非有特殊情况,否则禁止更改该值。 X `8`(单位:秒)
gameLanguage 这是在 Hive SDK 中设置的游戏语言。 X `en`
ageGateU13 这是是否应用COPPA ageGateU13。要将COPPA ageGateU13应用于Hive SDK,您需要在Hive 控制台中注册COPPA条款和条件,并在初始化Hive SDK之前将此值设置为true。要不应用COPPA ageGateU13,您需要在Hive 控制台中注册其他条款和条件,并在初始化Hive SDK之前将此值设置为false
  • true: 将COPPA ageGateU13应用于Hive SDK
  • false: 不将COPPA ageGateU13应用于Hive SDK
X `false`
agreementDetermineBase 确定接收条款和条件的同意标准。您可以选择`device`或`account`,默认值为`device`。
  • 如果选择device,则在初始化阶段AuthV4.setup()期间将显示条款和条件同意弹出窗口,并且仅基于设备获得一次同意。一旦基于设备获得同意,即使用户使用不同的帐户在同一设备上登录,也不会再次获得条款和条件同意。您可以使用resetAgreement()清除条款和条件同意记录。
  • 如果选择account,则在登录期间将显示条款和条件同意弹出窗口,并且每个PlayerId仅获得一次同意。此选项只能在不应用COPPA ageGateU13时使用。您不能使用`resetAgreement()`清除条款和条件同意记录。营销跟踪工具将在条款和条件同意后运行。
X `device`
Note

当应用COPPA ageGateU13时,仅能显示device 基于条款和条件同意的弹出窗口。 如果用户在条款和条件同意过程中回应他们13岁或以上,则Hive SDK将不对该用户应用COPPA ageGateU13。然而,hive_config.xml中设置的值(true)本身不会改变。

不支持的项目

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

项目 描述 备注
权限 这是是否按权限类型请求权限。这是一个仅限Android的功能。
  • 外部存储权限
    • true: 显示权限请求窗口
    • false : 不显示权限请求窗口
  • 标签名称: sdwrite
自v4.16.3起已弃用
hivePermissionViewOn 这是是否显示Hive SDK权限通知弹窗。
  • true: 显示
  • false: 不显示
自v4.16.2起已弃用