コンテンツにスキップ

設定クラス

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を表示し、ユーザーが選択したゲームサーバーを設定に反映させます。このプロセスを実行した後、サーバーチェックポップアップを表示します。

例: ゲームサーバー選択UI

ゲームに入った後

ユーザーがゲームに入った後にゲーム設定でゲーム言語やゲームサーバーを変更した場合、ゲーム設定やゲームプレイ中の他のメニューにゲームサーバーまたはゲーム言語変更のUIを作成できます。このUIを使用してユーザーがサーバーや言語を変更した場合、その情報も設定に反映する必要があります。

例: ゲーム言語選択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のzonesandboxに設定しても、Configurationクラスを使用してこの値をrealに変更し、Hive SDKを初期化すると、Hive SDKはrealに基づいて動作します。しかし、hive_config.xmlzonesandboxのままです。

設定のみ取得可能な構成クラス

取得できる構成アイテムは、Configurationクラスのメソッドを使用してのみ取得されます。

アイテム 説明
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 Store
  • 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の利用規約を登録し、この値をtrueに設定してからHive SDKを初期化する必要があります。COPPA ageGateU13を適用しない場合は、Hive コンソールにCOPPAの利用規約以外の利用規約を登録し、この値をfalseに設定してからHive SDKを初期化する必要があります。
  • 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`
chatConnectionTimeout Hiveチャットの接続要求のタイムアウト期間(秒単位)です。 X `60`(単位:秒)
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以降非推奨