---
title: "リモートコンフィグでフローをカスタマイズする"
description: "リモートコンフィグの JSON ペイロードを使って Flow Builder のフローをカスタマイズします。"
---

:::important
このガイドは Flow Builder のフローに対するリモートコンフィグについて説明しています。Flow Builder を使わずに作成したクラシックなペイウォールについては、[リモートコンフィグでペイウォールをデザインする](customize-paywall-with-remote-config) をご覧ください。
:::

リモートコンフィグを使うと、SDK が実行時に読み込むカスタム JSON ペイロードを保存できます。タイトル、画像、フォント、カラー、フィーチャーフラグなどの値を、新しいアプリリリースなしに設定できます。

## リモートコンフィグを使う \{#work-with-remote-config\}

フローのリモートコンフィグを開くには、フローエディターの画面プレビュー上部にある Remote Config アイコンをクリックします。

**JSON** ビューでは、任意の JSON 形式のデータを入力できます。エディターには追加したロケールごとに 1 列が表示されます。

:::warning
リモートコンフィグに無効な JSON が含まれている場合、フローを**保存**も**公開**もできません。プレビューと公開をブロックする問題の全一覧については、[フローの保存と公開](builder-save-publish#troubleshooting) をご覧ください。
:::

このデータには後から SDK を通じて `AdaptyFlow` の `remoteConfigs` 配列でアクセスできます。Adapty はロケールごとに `AdaptyRemoteConfig` エントリを 1 件保存するため、ユーザーのロケールに一致するものを選び、パース済みの `dictionary` または生の `jsonString` を読み取ってフローを実行時に調整します。リモートコンフィグの使用例をいくつか紹介します。

<Tabs>
  <TabItem value="Titles" label="タイトル" default>
```json showLineNumbers
{
    "screen_title": "Today only: Subscribe, and get 7 days for free!"
}

# Test titles or other texts
```
</TabItem>
<TabItem value="Images" label="画像">
```json showLineNumbers
{
    "background_image": "https://adapty.io/media/paywalls/bg1.webp"
}

# Test images on your flow
```
</TabItem>
<TabItem value="Fonts" label="フォント">
```json showLineNumbers
{
    "font_family": "San Francisco",
    "font_size": 16
}

# Test fonts
```
</TabItem>
<TabItem value="Color" label="カラー">
```json showLineNumbers
{
    "subscribe_button_color": "purple"
}

# Test colors of buttons, texts etc.
```
</TabItem>
<TabItem value="HTML" label="HTML">
```json showLineNumbers
{
    "photo_gallery": "https://adapty.io/media/paywalls/link-to-html-snippet.html"
}

# Any HTML code that can be displayed in the flow
```
</TabItem>
<TabItem value="Soft/Hard Paywall" label="ソフト／ハードペイウォール">
```json showLineNumbers
{
    "hard_paywall": true
}

# By setting it to true, you disallow skipping the paywall without subscribing
# You have to handle this logic in your app
```
</TabItem>
<TabItem value="Translations" label="翻訳">
```json showLineNumbers
{
    "title": {
        "en": "Try for free!",
        "es": "¡Prueba gratis!",
        "ru": "Попробуй бесплатно!"
    }
}
```
</TabItem>
</Tabs>

これらのパターンを組み合わせたり、独自のキーを定義して代替コピー、レイアウト、または動作をテストしたりすることもできます。

次に、[プレースメントを作成](create-placement) してフローを追加します。その後、[iOS アプリでフローをレンダリング](present-remote-config-paywalls) します。

## ロケールを追加する \{#add-a-locale\}

フローをローカライズするには、エディター上部の **Add locale** をクリックしてロケールを選択します。

Adapty はそのロケール用の新しい列をエディターに追加します。各列は独立して編集できます。実行時には、SDK がユーザーの選択に一致する `locale` を持つ `AdaptyRemoteConfig` エントリを返します。

## JSON のインポートとエクスポート \{#import-and-export-json\}

エディター上部の **Import/Export** メニューを使うと、すべてのロケールのリモートコンフィグを一括でバックアップ、共有、または編集できます。

- **Export JSON**: すべてのロケールを含む単一の JSON ファイルをダウンロードします。
- **Import JSON**: 同じ形式の JSON ファイルをアップロードします。アップロードしたファイルで現在のリモートコンフィグが置き換えられます。

ファイルはロケールコードをトップレベルのキーとして使用し、各ロケールのペイロードを値として持ちます。

```json showLineNumbers
{
  "en": {
    "title": "Get Premium",
    "cta": "Continue",
    "trial_days": 7,
    "features": ["sync", "export", "ai"]
  },
  "fr": {
    "title": "Passez à Premium",
    "cta": "Continuer",
    "trial_days": 7,
    "features": ["synchronisation", "exportation", "IA"]
  }
}
```

各ロケールブロックは、ロケール列に直接入力するのと同じ JSON 構造に従います。