コンテンツにスキップ

設定クラス

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の初期化前

SDKを初期化する前に、設定にゲームサーバーまたはゲーム言語を反映させてください。

Hive SDKの初期化 ~ サーバーメンテナンスポップアップ前

これは、ユーザーがHive SDKを初期化した後にサーバーメンテナンスポップアップを表示する前にゲームサーバーを選択するケースです。Hive SDKを初期化した後、ゲームサーバー選択UIが表示され、ユーザーによって選択されたゲームサーバーが設定に反映されます。このプロセスを実行した後、サーバーメンテナンスポップアップが表示されます。

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

ゲームに入った後

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

例: ゲーム言語選択UI

その他の状況

ゲームの計画やその他の状況に応じて、ゲーム情報の変更など、さまざまな状況により、以前に設定された値を変更します。

Info

Configurationクラスでランタイム設定を変更することはできません。また、取得可能なアイテムもあります。

設定クラスの使用例

こちらは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クラスによって設定された値がより高い優先度を持ちます。ただし、Configurationクラスによって設定された値はHive SDK内で優先され、hive_config.xmlファイル内の既存の値は変更されません。

例えば、上記のhive_config.xmlzone設定でzonesandboxに設定しても、Configurationクラスでこの値をrealに変更し、Hive SDKを初期化すると、Hive SDKはrealに基づいて動作します。しかし、hive_config.xmlzoneは依然としてsandboxのままです。

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

設定クラスメソッドは、以下にリストされているのみ利用可能な設定の値を取得する(get)ことを許可します。

アイテム OS Hive SDK 機能 説明 SDK デフォルト
hiveSDKVersion Android, iOS, Windows Hive SDK 共通 これは Hive SDK のバージョンです。 適用された HiveSDK バージョン値
referenceSDKVersion Android, iOS, Windows Hive SDK 共通 これは Hive SDK によって参照される SDK バージョンです。 適用された HiveSDK によって参照されるライブラリとバージョンに関する情報
hiveCountry Android, iOS, Windows Hive SDK 共通 これは Hive SDK サーバーによって決定される国コードです。 HiveSDK サーバーによって提供される情報
appId Android, iOS, Windows Hive SDK 共通 これはゲームビルド識別子です。 X
serverId Android, iOS, Windows Hive SDK 共通 これはゲームが地域ごとにサーバーを運営する際に確認できる各ゲームサーバーの識別子です。 Hive 識別子ポリシーに従って記述する必要があります。 空白
zone Android, iOS, Windows Hive SDK 共通 これは Hive クライアントが接続するサーバーです。
  • real: 運営サーバー
  • sandbox: テストサーバー
REAL
useLog Android, iOS, Windows Hive SDK 共通 これは Hive クライアントの内部操作のログを有効にするかどうかを示します。ログが有効な場合、ログは開発ツール画面に出力されます。
  • true: ログ有効
  • false: ログ無効
false
channel Android, iOS, Windows Hive SDK 共通 これはゲームアプリで使用されるログインおよびアプリ内サポートサービスのプラットフォームです。外部ソーシャルネットワークへのログインや Hive SDK を通じたアプリ内購入を行う場合、C2S に対応します。 Hive SDK アナリティクスデータの収集に使用されます。
  • C2S: Hive プラットフォーム
  • KAK: Kakao
  • LIN: Line
  • STE: Steam
  • EPI: Epic Store
  • FAS: FastSprint
C2S
market Android, iOS, Windows Hive SDK 共通 これはアプリ内購入を処理するためのマーケットです。 Hive SDK アナリティクスデータの収集に使用されます。
  • GO: Google PlayStore
  • AP: Apple AppStore
  • ON: OneStore
  • AM: Amazon AppStore
  • LE: Com2us Lebi
  • HS: Hive ストア
  • GA: Samsung GalaxyStore
  • HU: Huawei AppGallery
空白
httpConnectTimeout Android, iOS, Windows Hive SDK 共通 これは Hive クライアントが内部で使用する HTTP 接続のタイムアウト期間(秒)です。デフォルト値は 8 秒に設定されており、特別な状況でない限り値を変更することは禁止されています。 8 (単位: 秒)
httpReadTimeout Android, iOS, Windows Hive SDK 共通 これは Hive クライアントが内部で使用する HTTP 読み取りのタイムアウト期間(秒)です。デフォルト値は 8 秒に設定されており、特別な状況でない限り値を変更することは禁止されています(例: 通常のログ収集を妨げることが確認されたネットワークの遅延や中断)。 8 (単位: 秒)
gameLanguage Android, iOS Hive SDK 共通 これは Hive SDK に設定されたゲーム言語です。 デバイスの言語設定
ageGateU13 Android, iOS, Windows プロビジョニング これは COPPA ageGateU13 を適用するかどうかを示します。 Hive SDK に COPPA ageGateU13 を適用するには、Hive コンソールに COPPA 条項を登録し、この値を true に設定してから Hive SDK を初期化する必要があります。COPPA ageGateU13 を適用しない場合は、Hive コンソールに COPPA 以外の条件を登録し、この値を false に設定してから Hive SDK を初期化してください。
  • true: Hive SDK に COPPA ageGateU13 を適用
  • false: Hive SDK に COPPA ageGateU13 を適用しない
false
agreementDetermineBase Android, iOS プロビジョニング これは、条件に対する合意を取得するための基準を決定します。

「device」または「account」のいずれかを選択でき、デフォルトは「device」です。
  • 「device」が選択された場合、AuthV4.setup()の初期化ステップ中に合意ポップアップが表示され、デバイスに基づいてのみ合意が取得されます。デバイスに基づいて合意が取得されると、同じデバイスで異なるアカウントでログインしても、ユーザーに再度合意を求めることはありません。合意記録はresetAgreement()でクリアできます。
  • 「account」が選択された場合、ログイン中に合意ポップアップが表示され、PlayerIdごとにのみ合意が取得されます。これは、COPPA ageGateU13が適用されていない場合にのみ使用できます。合意記録はresetAgreement()でクリアできません。マーケティング追跡ツールは合意の時点から動作します。
device
enableGameController Windows Hive SDK Common この機能は、Hive SDKによって提供されるUIで「ゲームコントローラー」を有効にするかどうかを設定します。
  • true: ゲームコントローラー機能を有効にします。
  • false: ゲームコントローラー機能を無効にします。
最後の値は設定ファイルに記憶され、現在の値はget関数を通じて確認できます。
true
usePrivateBrowsingForAuth Windows 認証 これは、Googleログイン認証中にシークレットモードを使用するかどうかを決定します。
  • true: シークレットモード認証を使用します。
  • false: 通常モード認証を使用します。
これは、hive_config.xmlの初期値で動作し、PC SDKでのみサポートされています。
true
maxGameLogSize Android, iOS, Windows アナリティクス 非構造化データファイルとして保存されるゲームログの最大数です。デフォルト値は50で、この値はHive SDKアナリティクスサーバーによって収集されます。 50
analyticsSendLimit Android, iOS, Windows アナリティクス 各アナリティクスログ送信サイクル中に送信されるログの最大量です。デフォルト値は5です。 5
analyticsQueueLimit Android, iOS, Windows アナリティクス キューに入れられるアナリティクスログの最大量です。デフォルト値は50です。 50
analyticsSendCycle Android, iOS, Windows アナリティクス アナリティクスログを送信するサイクルです。秒単位で設定でき、設定されたサイクルごとにアナリティクスログが送信されます。デフォルト値は1秒です。 1
hiveTheme Android, iOS, Windows Hive SDK Common Hiveテーマを、ライトテーマまたはダークテーマのいずれかを使用するように設定できます。 HiveTheme.HiveLight

設定可能な設定と構成クラス

Configurationクラスのメソッドで変更可能なアイテム(set)は以下の通りです。必須アイテムは入力する必要がありますが、任意アイテムは必要に応じて入力できます。任意アイテムが入力されない場合、Hive SDKのデフォルト値で動作します。必須アイテムであっても、hive_config.xmlに既に入力されていて、ランタイムで変更する必要がない場合は、Configurationクラスで変更する必要はありません。

Warning

serverIdは実行時にのみ設定する必要がある値です。したがって、この値はConfigurationクラスを使用して設定する必要があります。

アイテム OS Hive SDK 機能 説明 必須 SDK デフォルト値
appId Android, iOS, Windows Hive SDK 共通 ゲームビルド識別子。 X * Android: アプリベースパッケージ名
* iOS: バンドルID
serverId Android, iOS, Windows Hive SDK 共通 ゲーム内で地域ごとにサーバーを運営する際に確認できる各ゲームサーバー識別子。Hive 識別子ポリシーに従って記述する必要があります。 O 空白
zone Android, iOS, Windows Hive SDK 共通 Hive クライアントが接続するサーバー。
  • real: 運営サーバー
  • sandbox: テストサーバー
X REAL
useLog Android, iOS, Windows Hive SDK 共通 Hive クライアントの内部操作のためにログを有効にするかどうか。ログが有効な場合、開発ツール画面に出力されます。
  • true: ログを有効にする
  • false: ログを無効にする
X false
channel Android, iOS, Windows Hive SDK 共通 ゲームアプリで使用されるログインおよびアプリ内サポートサービスプラットフォーム。外部ソーシャルプラットフォームにログインする際や、Hive SDKを通じてアプリ内購入を行う際に、これはC2Sに該当します。Hive SDK分析データ収集に使用されます。
  • C2S: Hive プラットフォーム
  • KAK: Kakao
  • LIN: Line
  • STE: Steam
  • EPI: Epic Store
  • FAS: FastSprint
O C2S
market Android, iOS, Windows Hive SDK 共通 アプリ内購入支払い処理のためのマーケット。Hive SDK分析収集に使用されます。
  • GO: Google PlayStore
  • AP: Apple AppStore
  • ON: OneStore
  • AM: Amazon AppStore
  • LE: Com2us Lebi
  • HS: Hive ストア
  • GA: Samsung GalaxyStore
  • HU: Huawei AppGallery
O 空白
httpConnectTimeout Android, iOS, Windows Hive SDK 共通 Hive クライアントが内部で使用するHTTP接続のタイムアウト期間(秒単位)。デフォルト値は8秒に設定されており、この値の変更は特別な状況を除いて禁止されています。 X 8 (単位: 秒)
httpReadTimeout Android, iOS, Windows Hive SDK 共通 Hive クライアントが内部で使用するHTTP読み取りのタイムアウト期間(秒単位)。デフォルト値は8秒に設定されており、この値の変更は特別な状況を除いて禁止されています(例: ネットワーク遅延や正常なログ収集を妨げることが確認された切断)。 X 8 (単位: 秒)
gameLanguage Android, iOS Hive SDK 共通 Hive SDKで設定されたゲーム言語。 X デバイス言語設定
ageGateU13 Android, iOS, Windows プロビジョニング COPPA ageGateU13を適用するかどうか。Hive SDKでCOPPA ageGateU13を適用するには、この値をtrueに設定する必要があります。COPPAの条件をHive コンソールに登録した後、Hive SDKを初期化する前に設定してください。COPPA ageGateU13を適用しない場合は、COPPA以外の条件をHive コンソールに登録した後、Hive SDKを初期化する前にこの値をfalseに設定する必要があります。
  • true: Hive SDKでCOPPA ageGateU13を適用する
  • false: Hive SDKでCOPPA ageGateU13を適用しない
X false
agreementDetermineBase Android, iOS プロビジョニング 条件への同意を得る基準を決定します。

deviceまたはaccountのいずれかを選択でき、デフォルトはdeviceです。
  • deviceが選択された場合、AuthV4.setup()の初期化ステップ中に条件同意ポップアップが表示され、デバイスに基づいて一度同意が得られます。デバイスに基づいて同意が得られた後、同じデバイスで異なるアカウントでログインしても再度同意を求められることはありません。同意記録はresetAgreement()でクリアできます。
  • accountが選択された場合、ログイン中に条件同意ポップアップが表示され、PlayerIdごとに一度同意が得られます。これはCOPPA ageGateU13が適用されていない場合のみ使用できます。同意記録はresetAgreement()でクリアできません。マーケティングトラッキングツールは同意が得られた時点から動作します。
X device
enableGameController Windows Hive SDK Common Hive SDK が提供する UI で「ゲームコントローラー」を有効にするかどうかを設定する機能です。
  • true: ゲームコントローラー機能を有効にします。
  • false: ゲームコントローラー機能を無効にします。
最後の値は設定ファイルに記憶され、現在の値は get 関数を通じて確認できます。
X true
usePrivateBrowsingForAuth Windows 認証 Google ログイン認証中にプライベートブラウジングモードを使用するかどうかを決定します。
  • true: プライベートブラウジングモードで認証を行います。
  • false: 通常モードで認証を行います。
初期値は hive_config.xml から取得され、PC SDK のみでサポートされています。
X true
maxGameLogSize Android, iOS, Windows 分析 非構造化データファイルとして保存されるゲームログの最大数です。デフォルト値は 50 で、この値は Hive SDK 分析サーバーによって収集されます。 X 50
analyticsSendLimit Android, iOS, Windows 分析 分析ログ送信サイクルごとに送信するログの最大量です。デフォルト値は 5 です。 X 5
analyticsQueueLimit Android, iOS, Windows 分析 キューに入れられる分析ログの最大量です。デフォルト値は 50 です。 X 50
analyticsSendCycle Android, iOS, Windows 分析 分析ログを送信するサイクルです。秒単位で設定でき、設定された間隔で分析ログが送信されます。デフォルト値は 1 秒です。 X 1
hiveTheme Android, iOS, Windows Hive SDK Common Hive テーマをライトテーマまたはダークテーマのいずれかに設定できます。 X HiveTheme.HiveLight
Note

COPPA ageGateU13を適用する際は、デバイス(device)-ベースの利用規約同意ポップアップのみが表示されます。
COPPA ageGateU13を適用する際に、利用規約同意プロセス中にユーザーが13歳以上であると回答した場合、Hive SDKはそのユーザーにCOPPA ageGateU13を適用しません。ただし、hive_config.xmlに設定された値(true)自体は変更されません。

サポートされていないアイテム

Configurationクラスの以下のメソッドはもはやサポートされていません。

アイテム OS Hive SDK 機能 説明 必要 SDK デフォルト値
permissions Android Hive SDK 共通 (v4.16.3から非推奨)
権限タイプによって設定された権限を要求するかどうか。権限名はAndroidの機能に特有です。
X なし
hivePermissionViewOn Android Hive SDK 共通 (v4.162から非推奨)
Hive SDKの権限通知ポップアップを表示するかどうか。
  • true: 表示
  • false: 表示しない
X true
company Android, iOS, Windows Hive SDK 共通 (v4.23.0から非推奨)
ゲーム出版会社の名前。
X なし