UI モジュール設定 (opt-in)
タブバー・ドロワー・ボトムシート・アクセシビリティなどの UI モジュールを config.json で有効/無効にします。
概要
SDK の UI モジュール(accessibility、topDownMenu、sideDrawer、bottomTabs、bottomSheet)は opt-in です。配布される config.json はすべてのモジュールが無効の状態で提供され、アプリで実際に使うパネルだけを有効にします。iOS・Android とも同じ config.json 方式を使います。
既定 = opt-in(すべて無効)
配布パッケージの app/src/main/assets/config.json は、すべての UI モジュールが無効です。
"modules": {
"accessibility": { "enabled": false, "topDownPanel": true },
"topDownMenu": { "enabled": false },
"sideDrawer": { "enabled": false },
"bottomTabs": { "enabled": false, "autoHide": true },
"bottomSheet": { "enabled": false }
}使用するパネルだけを "enabled": true に変更します。
なぜ opt-in か
- 意図しない UI/ジェスチャの防止 — 要求していないタブ・ドロワー・パネルとそのタッチ検知がアプリに注入されません。
- 権限 & ストア審査 — アクセシビリティモジュールはマイク(音声入力、
RECORD_AUDIO)や TTS を使うことがあります。既定で有効にすると不要な権限が入り込み、審査が複雑になる場合があります。 - ライセンスティア — 本番ではモジュールの有効化がリモート/ライセンス経路でティアごとに制限されます。
ローカルの config.json はティアゲーティングが適用されません。そのためローカルデモでは、本番のティアでは制限されるパネルも表示されることがあります。ローカルデモだけでティアの利用可否を判断しないでください。
各モジュールの要件
| モジュール | 有効化後すぐ表示される? | さらに必要なもの |
|---|---|---|
accessibility | はい — 自身の UI がすぐ表示 | 音声入力用 RECORD_AUDIO 権限、読み上げ用 TTS |
topDownMenu | いいえ | setConfig(items) の後 show |
sideDrawer | いいえ | setConfig(items) の後 show |
bottomTabs | いいえ | setConfig(items) の後 show;autoHide オプション |
bottomSheet | 一部 | 表示するコンテンツを渡す |
ティア最小:
accessibility·bottomTabs·topDownMenu= basic、sideDrawer= standard。
各モジュールの実際の API は ナビゲーション(タブバー・ドロワー)と アクセシビリティ のドキュメントを参照してください。
デモをすぐ試す
すべてのパネルが有効なデモ設定が config.sample.json として同梱されています。現在の設定をバックアップして上書きすれば、すぐに確認できます。
cp app/src/main/assets/config.json app/src/main/assets/config.json.bak
cp app/src/main/assets/config.sample.json app/src/main/assets/config.jsonビルドしてアプリを開き、同梱のテストブリッジページで確認します。終わったら .bak から復元してください。
config.sample.json は評価用です。本番では opt-in の原則どおり、使うモジュールだけを有効にした config.json を維持してください。