設定クラス¶
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
ConfigurationクラスのsetZoneメソッドは、正しく動作させるためにsetup関数を呼び出す前に呼び出す必要があります。
設定クラスの使用シナリオ¶
ゲームアプリが実行中にSDK設定を変更する必要がある場合、以下のケースがあります。
SDK初期化前¶
SDKを初期化する前に、設定にゲームサーバーまたはゲーム言語を反映させてください。
SDKの初期化後とサーバーメンテナンスポップアップの前¶
これは、ユーザーがSDKを初期化した後にサーバーメンテナンスポップアップを表示する前にゲームサーバーを選択するケースです。SDKを初期化した後、ゲームサーバー選択UIが表示され、ユーザーによって選択されたゲームサーバーが設定に反映されます。このプロセスを実行した後、サーバーメンテナンスポップアップが表示されます。
<
ゲームに入った後¶
ゲームに入った後にユーザーがゲーム設定でゲーム言語やゲームサーバーを変更した場合、ゲームをプレイ中にゲーム設定や他のメニューでゲームサーバーやゲーム言語を変更するためのUIを設定できます。ユーザーがそのUIを使用してサーバーや言語を変更した場合、この情報も設定に反映される必要があります。
その他の状況¶
ゲームの計画やその他の状況に応じたゲーム情報の変更など、さまざまな状況により、以前に設定された値を変更します。
Info
Configurationクラスでランタイム設定を変更することはできません。また、取得可能なアイテムもあります。
設定クラスの使用例¶
Configurationクラスの使用に関する追加ガイドはこちらです。
テーマ設定¶
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クラスによって設定された値はより高い優先度を持ちます。ただし、Configurationクラスによって設定された値はSDK内で優先され、hive_config.xmlファイル内の既存の値は変更されません。
例えば、上記のhive_config.xmlのzone設定でzoneをsandboxに設定しても、Configurationクラスを使ってこの値をrealに変更し、SDKを初期化すると、SDKはrealに基づいて動作します。しかし、hive_config.xmlのzoneは依然としてsandboxのままです。
取得可能な設定のための構成クラス¶
設定クラスメソッドは、以下にリストされているのみ利用可能な設定の値を取得する(get)ことを可能にします。
| アイテム | OS | SDK 機能 | 説明 | SDK デフォルト |
|---|---|---|---|---|
| hiveSDKVersion | Android, iOS, Windows | SDK 共通 | Hive SDK のバージョン。 | 適用された HiveSDK バージョン値 |
| referenceSDKVersion | Android, iOS, Windows | SDK 共通 | Hive SDK によって参照される SDK バージョン。 | 適用された HiveSDK によって参照されるライブラリとバージョン情報 |
| hiveCountry | Android, iOS, Windows | SDK 共通 | Hive SDK サーバーによって決定される国コード。 | HiveSDK サーバーから配信される情報 |
| appId | Android, iOS, Windows | SDK 共通 | ゲームビルド識別子。 | X |
| serverId | Android, iOS, Windows | SDK 共通 | ゲーム内でサーバーを地域ごとに運営する際に確認できる各ゲームサーバー識別子。Hive 識別子ポリシーに従って記述する必要があります。 | 空白 |
| zone | Android, iOS, Windows | SDK 共通 | Hive クライアントが接続するサーバー。
| REAL |
| useLog | Android, iOS, Windows | SDK 共通 | Hive クライアントの内部操作のログを有効にするかどうか。ログが有効な場合、開発ツール画面に出力されます。
| false |
| channel | Android, iOS, Windows | SDK 共通 | ゲームアプリで使用されるログインおよびアプリ内サポートサービスプラットフォーム。外部ソーシャルプラットフォームにログインする場合や、SDK を通じてアプリ内購入を行う場合、これは C2S に対応します。SDK アナリティクスデータ収集に使用されます。
| C2S |
| market | Android, iOS, Windows | SDK 共通 | アプリ内購入の支払い処理を行う市場。SDK アナリティクス収集に使用されます。
| 空白 |
| httpConnectTimeout | Android, iOS, Windows | SDK 共通 | Hive クライアント内部で使用される HTTP 接続のタイムアウト時間(秒単位)。デフォルト値は 8 秒に設定されており、この値を変更することは禁止されています(特別な状況を除く)。 | 8 (単位: 秒) |
| httpReadTimeout | Android, iOS, Windows | SDK 共通 | Hive クライアント内部で使用される HTTP 読み取りのタイムアウト時間(秒単位)。デフォルト値は 8 秒に設定されており、この値を変更することは禁止されています(例: 通常のログ収集を妨げるネットワーク遅延や切断が確認された場合)。 | 8 (単位: 秒) |
| gameLanguage | Android, iOS, Windows | SDK 共通 | SDK で設定されたゲーム言語。 | デバイスの言語設定 |
| ageGateU13 | Android, iOS, Windows | プロビジョニング | COPPA ageGateU13 を適用するかどうか。SDK に COPPA ageGateU13 を適用するには、Hive Console で COPPA 条項を登録した後、SDK を初期化する前にこの値を true に設定する必要があります。COPPA 以外の条件を登録した後、SDK を初期化する前にこの値を false に設定することで、COPPA ageGateU13 を適用しないことができます。
| false |
| agreementDetermineBase | Android, iOS | プロビジョニング | 条件に対する合意を得るための基準を決定します。device または account のいずれかを選択できます。デフォルトは device です。
| device |
| enableGameController | Windows | SDK共通 | SDK によって提供される UI で「ゲームコントローラー」を有効にするかどうかを設定する機能です。
get 関数を通じて確認できます。 | true |
| usePrivateBrowsingForAuth | Windows | 認証 | Google ログイン認証中にシークレットモードを使用するかどうかを決定します。
| true |
| maxGameLogSize | Android, iOS, Windows | アナリティクス | 非構造化データファイルとして保存されるゲームログの最大数です。デフォルト値は 50 で、この値は SDK アナリティクスサーバーによって収集されます。 | 50 |
| analyticsSendLimit | Android, iOS, Windows | アナリティクス | アナリティクスログ送信サイクルごとに送信するログの最大量です。デフォルト値は 5 です。 | 5 |
| analyticsQueueLimit | Android, iOS, Windows | アナリティクス | キューに入れられるアナリティクスログの最大量です。デフォルト値は 50 です。 | 50 |
| analyticsSendCycle | Android, iOS, Windows | アナリティクス | アナリティクスログを送信するサイクルです。秒単位で設定でき、設定されたサイクルごとにアナリティクスログが送信されます。デフォルト値は 1 秒です。 | 1 |
| hiveTheme | Android, iOS, Windows | SDK共通 | テーマを明るいスタイルまたは暗いスタイルのいずれかに設定できます。 | HiveTheme.HiveLight |
設定可能な設定はConfigurationクラスを使用します¶
Configurationクラスのメソッドで変更可能なアイテム(set)は以下の通りです。必須アイテムは入力する必要がありますが、任意アイテムは必要に応じて入力できます。任意アイテムが入力されない場合、SDKのデフォルト値で動作します。必須アイテムであっても、hive_config.xmlにすでに入力されていて、ランタイムで変更する必要がない場合は、Configurationクラスで変更する必要はありません。
Warning
serverIdは実行時にのみ設定する必要がある値です。したがって、この値はConfigurationクラスを使用して設定する必要があります。
| アイテム | OS | SDK機能 | 説明 | 必須 | SDKデフォルト値 |
|---|---|---|---|---|---|
| appId | Android, iOS, Windows | SDK共通 | ゲームビルド識別子。 | X | * Android: アプリの基本パッケージ名 * iOS: バンドルID |
| serverId | Android, iOS, Windows | SDK共通 | ゲーム内で地域ごとにサーバーを運営する際に検証できる各ゲームサーバー識別子。Hive識別子ポリシーに従って記述する必要があります。 | O | 空白 |
| zone | Android, iOS, Windows | SDK共通 | Hiveクライアントが接続するサーバー。
| X | REAL |
| useLog | Android, iOS, Windows | SDK共通 | Hiveクライアントの内部操作のログを有効にするかどうか。ログが有効な場合、開発ツール画面に出力されます。
| X | false |
| channel | Android, iOS, Windows | SDK共通 | ゲームアプリで使用されるログインおよびアプリ内サポートサービスプラットフォーム。外部ソーシャルプラットフォームにログインする際や、SDKを通じてアプリ内購入を行う際、これがC2Sに該当します。SDK分析データ収集に使用されます。
| O | C2S |
| market | Android, iOS, Windows | SDK共通 | アプリ内購入の支払い処理のためのマーケット。SDK分析収集に使用されます。
| O | 空白 |
| httpConnectTimeout | Android, iOS, Windows | SDK共通 | Hiveクライアントが内部で使用するHTTP接続のタイムアウト時間(秒単位)。デフォルト値は8秒に設定されており、この値の変更は特別な状況を除いて禁止されています。 | X | 8 (単位: 秒) |
| httpReadTimeout | Android, iOS, Windows | SDK共通 | Hiveクライアントが内部で使用するHTTP読み取りのタイムアウト時間(秒単位)。デフォルト値は8秒に設定されており、この値の変更は特別な状況を除いて禁止されています(例: 通常のログ収集を妨げることが確認されたネットワーク遅延や切断)。 | X | 8 (単位: 秒) |
| gameLanguage | Android, iOS, Windows | SDK共通 | SDKで設定されたゲーム言語。 | X | デバイスの言語設定 |
| ageGateU13 | Android, iOS, Windows | プロビジョニング | COPPA ageGateU13を適用するかどうか。SDKでCOPPA ageGateU13を適用するには、Hive ConsoleでCOPPAの条件を登録した後、SDKを初期化する前にこの値をtrueに設定する必要があります。COPPA以外の条件をHive Consoleで登録した後、SDKを初期化する前にこの値をfalseに設定することで、COPPA ageGateU13を適用しないことができます。
| X | false |
| agreementDetermineBase | Android, iOS | プロビジョニング | 条件への同意を得る基準を決定します。deviceまたはaccountのいずれかを選択でき、デフォルトはdeviceです。
| X | device |
| enableGameController | Windows | SDK Common | SDKが提供するUIで「ゲームコントローラー」を有効にするかどうかを設定する機能です。
get関数を通じて確認できます。 | X | true |
| usePrivateBrowsingForAuth | Windows | Authentication | Googleログイン認証中にプライベートブラウジングモードを使用するかどうかを決定します。
| X | true |
| maxGameLogSize | Android, iOS, Windows | Analytics | 非構造化データファイルとして保存されるゲームログの最大数です。デフォルト値は50で、この値はSDK Analyticsサーバーによって収集されます。 | X | 50 |
| analyticsSendLimit | Android, iOS, Windows | Analytics | Analyticsログ送信サイクルごとに送信するログの最大量です。デフォルト値は5です。 | X | 5 |
| analyticsQueueLimit | Android, iOS, Windows | Analytics | キューに入れることができるAnalyticsログの最大量です。デフォルト値は50です。 | X | 50 |
| analyticsSendCycle | Android, iOS, Windows | Analytics | Analyticsログを送信するサイクルです。秒単位で設定でき、設定された間隔でAnalyticsログが送信されます。デフォルト値は1秒です。 | X | 1 |
| hiveTheme | Android, iOS, Windows | SDK Common | ライトまたはダークスタイルのテーマを設定できます。 | X | HiveTheme.HiveLight |
Note
COPPA ageGateU13を適用する際、デバイス(device)-ベースの利用規約同意ポップアップのみが表示されます。
COPPA ageGateU13を適用する際、利用規約同意プロセス中にユーザーが13歳以上であると回答した場合、SDKはそのユーザーにCOPPA ageGateU13を適用しません。ただし、hive_config.xmlに設定された値(true)自体は変更されません。
サポートされていないアイテム¶
Configurationクラスの以下のメソッドはもはやサポートされていません。
| アイテム | OS | SDK機能 | 説明 | 必須 | SDKデフォルト値 |
|---|---|---|---|---|---|
| permissions | Android | SDK共通 | (v4.16.3から非推奨) 権限タイプによって設定された権限を要求するかどうか。権限名はAndroid機能に特有です。 | X | なし |
| hivePermissionViewOn | Android | SDK共通 | (v4.162から非推奨) SDK権限通知ポップアップを表示するかどうか。
| X | true |
| company | Android, iOS, Windows | SDK共通 | (v4.23.0から非推奨) ゲーム出版会社の名前。 | X | なし |

