本文へスキップ
Unveilydocs

リモートコンフィグ

アプリを再デプロイせずに、設定をリモートで変更できます。

Android・iOS 共通

リモート設定は Android と iOS で同一に動作します。両プラットフォームともアプリ起動時にリモート設定を取得し、ローカルの config.json にマージします。(セキュリティ上、security.* の値と remoteConfigUrl 自体はリモートで上書きできません。)

ひと目でわかる

Remote Config を使うと、アプリを再配布しなくてもサーバーから設定を変更できます。アプリ起動時に設定サーバーから最新の値を取得して、ローカルの設定(config.json)を上書きします。

リモート設定はローカル設定よりも優先して適用されます。


設定方法

assets/config.json にリモート設定の URL を追加します。

assets/config.json
{
  "remoteConfigUrl": "https://your-server.com/api/app-config",
  "modules": {
    "accessibility": { "enabled": true }
  }
}

remoteConfigUrl が空か存在しない場合、リモート設定機能は無効になり、ローカルの config.json のみが使用されます。

remoteConfigUrl は必ず https:// のエンドポイントにしてください。HTTP はサポートしていません。


サーバーのレスポンス形式

サーバーは config.json と同じ構造の JSON を返す必要があります。返された値がローカル設定を上書きします。

{
  "modules": {
    "bottomTabs": {
      "enabled": true,
      "autoHide": false
    },
    "accessibility": {
      "enabled": true,
      "topDownPanel": false
    }
  },
  "security": {
    "screenshotProtectionEnabled": false
  },
  "socialLogin": {
    "kakao": true,
    "naver": true
  }
}

リモート設定で省略されたキーは、ローカルの config.json の値がそのまま使われます。


リモートで変更できる設定

設定説明
modules.bottomTabs.enabled下部タブバーの有効・無効
modules.sideDrawer.enabledサイドドロワーの有効・無効
modules.topDownMenu.enabled上部メニューの有効・無効
modules.bottomSheet.enabledボトムシートの有効・無効
modules.accessibility.enabledアクセシビリティ機能の有効・無効
security.screenshotProtectionEnabledスクリーンショット保護の有効・無効
security.backgroundProtectionEnabledバックグラウンド画面保護の有効・無効
socialLogin.*各ソーシャルログインプロバイダーの有効・無効

セキュリティ関連の設定(rootDetectionEnabled など一部)はリモート設定では変更できません。アプリのビルド時に設定した値が使われます。


キャッシュのポリシー

  • アプリ起動時にリモート設定を非同期で取得します
  • ネットワークエラーが発生した場合は、最後にキャッシュしたリモート設定が使われます
  • キャッシュがない場合はローカルの config.json が使われます

On this page