コンテンツにスキップ

設定クラス

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

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

取得(get)できる構成アイテムは、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に設定する必要があります。COPPA ageGateU13を適用しない場合は、Hive コンソールにCOPPAの利用規約以外の利用規約を登録し、この値を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クラスでもはやサポートされていないメソッドは次のとおりです。

アイテム 説明 ノート
permissions これは、パーミッションタイプによってパーミッションを要求するかどうかです。これはAndroid専用の機能です。
  • 外部メモリのパーミッション
    • true: パーミッション要求ウィンドウを表示
    • false : パーミッション要求ウィンドウを表示しない
  • タグ名: sdwrite
v4.16.3以降非推奨
hivePermissionViewOn これは、Hive SDKのパーミッション通知ポップアップを表示するかどうかです。
  • true: 表示
  • false: 表示しない
v4.16.2以降非推奨