設定クラス¶
Configurationクラスは、アプリが実行中の間に設定値を取得(get)または変更(set)することを可能にします。例えば、getServerId()メソッドを使用してアプリサーバー情報を取得し、setServerId()メソッドを使用してそれを変更できます。 
<
Configurationクラスを使用する例として、アプリが実行中の間にユーザーのzone設定をConfigurationクラスに変更できます。
APIリファレンス: hive.Configuration.setZone
APIリファレンス: hive::Configuration::setZone
APIリファレンス: Configuration.setZone
APIリファレンス: Configuration.setZone
APIリファレンス: ConfigurationInterface.setZone
APIリファレンス: HIVEConfiguration:setZone
Note
The Configuration class setZone method must be called before the setup function is called for it to work properly.
設定クラスの使用シナリオ¶
アプリ実行中に、以下のケースでHive SDKの設定を変更する必要があります。
Hive SDKの初期化前¶
初期化する前にゲームサーバーまたはゲーム言語設定を反映します Hive SDK。
Hive SDKの初期化後 ~ サーバーチェックポップアップ前¶
これは、ユーザーがHive SDKを初期化した後にサーバーチェックポップアップを表示する前にゲームサーバーを選択する場合です。Hive SDKを初期化した後、ゲームサーバー選択UIを表示し、ユーザーが選択したゲームサーバーを設定に反映させます。このプロセスを実行した後、サーバーチェックポップアップを表示します。 
ゲームに入った後¶
ゲームに入った後、ユーザーがゲーム設定でゲームの言語やゲームサーバーを変更した場合、ゲームプレイ中にゲーム設定や他のメニューにゲームサーバーやゲーム言語変更のUIを作成できます。このUIを使用してユーザーがサーバーや言語を変更した場合、設定にもこの情報を反映させる必要があります。 
その他の状況¶
ゲームの計画やその他の状況によってゲーム情報が変更される場合など、さまざまな状況で既存の設定値を変更します。
Note
値を変更できますが、取得できないアイテムがあります。
設定クラスの使用例¶
ここにConfigurationクラスを使用したいくつかの例があります。
Hive テーマ設定¶
Configuration.setHiveThemeを使用してダークテーマを公開できます。
APIリファレンス: hive.Configuration.setHiveTheme
APIリファレンス: hive::Configuration::setHiveTheme
APIリファレンス: hiveTheme
APIリファレンス: Configuration.setHiveTheme
APIリファレンス: HIVEConfiguration:setHiveTheme
APIリファレンス: HIVEConfiguration:setHiveTheme
設定クラスと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クラスのメソッドを使用してのみ取得できる構成アイテムは次のとおりです。
| アイテム | 説明 | 
|---|---|
| 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 クライアントが接続するサーバーです。 
 | X | REAL | 
| useLog | これは、Hive クライアントの内部操作のためにログを有効にするかどうかです。ログを有効にすると、開発ツール画面にログが出力されます。 
 | X | false | 
| company | これはゲームの出版会社です。 
 | O | 空白 | 
| channel | これはゲームアプリが使用するログインサービスプラットフォームです。C2S: Hive プラットフォーム(デフォルト) | O | `C2S` | 
| market | これはアプリ内購入が支払われるマーケットです。 
 | 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に設定する必要があります。
 | X | `false` | 
| agreementDetermineBase | 利用規約への同意を得るための基準を決定します。`device`または`account`を選択でき、デフォルト値は`device`です。 
 | X | device | 
| gameControllerEnable | この機能は、Hive SDKが提供するUIで「ゲームコントローラー」を有効にするかどうかを設定します。 
 get関数を通じて確認できます。 | X | true | 
| usePrivateBrowsingForAuth | Googleログイン認証時にシークレットモードを使用するかどうかを決定します。 
 | X | true | 
Note
COPPA ageGateU13が適用される場合、deviceベースの利用規約同意ポップアップのみが表示されます。 ユーザーが利用規約同意プロセス中に13歳以上であると回答した場合、Hive SDKはそのユーザーにCOPPA ageGateU13を適用しません。ただし、hive_config.xmlに設定された値(true)自体は変更されません。
サポートされていないアイテム¶
Configurationクラスでもはやサポートされていないメソッドは以下の通りです。
| アイテム | 説明 | ノート | 
|---|---|---|
| permissions | これは、パーミッションタイプによってパーミッションをリクエストするかどうかです。これはAndroid専用の機能です。 
 | v4.16.3以降非推奨 | 
| hivePermissionViewOn | これは、Hive SDKのパーミッション通知ポップアップを表示するかどうかです。 
 | v4.16.2以降非推奨 | 

