跳转至

配置类

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 控制台中注册除COPPA条款和条件以外的条款和条件,并在初始化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
gameControllerEnable 此功能设置是否在Hive SDK提供的UI中激活“游戏控制器”。
  • true: 激活游戏控制器功能。
  • false: 关闭游戏控制器功能。
最后的值会保存在设置文件中,当前值可以通过get函数检查。
X true
usePrivateBrowsingForAuth 确定在进行Google登录身份验证时是否使用隐私模式。
  • true: 使用隐私模式身份验证。
  • false: 使用正常模式身份验证。
它与hive_config.xml的初始值一起工作,仅支持PC SDK。
X true
Note

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

不支持的项目

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

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