> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# アプリ内メッセージの概要

> OneSignalアプリ内メッセージの開始方法：アプリ内キャンペーンのセットアップ、デザイン、トリガー、およびテストを行い、モバイルユーザーを効果的にエンゲージする方法。

<Frame caption="アプリ内メッセージの例">
  <img src="https://mintcdn.com/onesignal/yt4lRKoquAlWvRvF/images/iam/iam_marketing.jpg?fit=max&auto=format&n=yt4lRKoquAlWvRvF&q=85&s=4e09e43dc57956f4c33ad761f403aea5" width="1280" height="720" data-path="images/iam/iam_marketing.jpg" />
</Frame>

アプリ内メッセージ（IAM）は、モバイルアプリ内に表示されるカスタマイズ可能なターゲットメッセージです。次のことができます：

* プッシュ通知への登録や位置情報の更新などのユーザーアクションを促す。
* ターゲットユーザーに新機能や未活用の機能を宣伝する。
* アプリの更新をリリースせずにリアルタイムでお知らせやニュースを表示する。
* アンケートやカルーセルを作成する。
* オンボーディングと教育コンテンツを支援する。

***

## アプリ内セットアップ

アプリ内メッセージを使用するには、アプリにOneSignal SDKをインストールする必要があります。完了すると、コードを書かずにOneSignalダッシュボードからアプリ内メッセージを作成して送信できます。SDKには、次のような高度なユースケース用のメソッドもあります：

* 特定の時間にメッセージをトリガーする
* クリック処理とディープリンク
* メッセージを一時停止する
* ライフサイクル管理など！

<Columns cols={2}>
  <Card title="モバイルSDKのセットアップ" href="./mobile-sdk-setup" arrow={true}>
    モバイルアプリのコードベースにOneSignalを追加します。
  </Card>

  <Card title="アプリ内メッセージSDKメソッド" href="./mobile-sdk-reference#in-app-messages" arrow={true}>
    開発者向け：トリガー、クリックハンドラー、およびライフサイクルAPIにアクセスします。
  </Card>

  <Card title="アプリ内トリガー" href="./iam-triggers" arrow={true}>
    ユーザーの動作またはアプリのアクティビティに基づいてメッセージが表示されるタイミングを制御します。
  </Card>

  <Card title="アプリ内クリックアクション" href="./iam-click-actions" arrow={true}>
    ユーザーがメッセージとインタラクションしたときに何が起こるかを定義します。
  </Card>
</Columns>

***

## アプリ内メッセージの送信

OneSignalダッシュボードおよびジャーニー内からアプリ内メッセージを送信できます。

<Frame>
  <iframe width="560" height="315" src="https://www.youtube.com/embed/TSkqp4e-ya0?si=vbNStROmopkSWxWd" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen />
</Frame>

<Columns cols={2}>
  <Card title="ダッシュボード" icon="window-maximize" href="#send-from-the-dashboard">
    OneSignalダッシュボードからアプリ内メッセージを作成して送信します。
  </Card>

  <Card title="Journeys" icon="route" href="./journeys-overview">
    自動化されたマルチステップおよびマルチチャネルフローを構築します。
  </Card>
</Columns>

### ダッシュボードから送信

<Steps>
  <Step title="メッセージチャネルを選択" icon="window-maximize">
    **作成...** を選択してメッセージチャネルを選択します。**メッセージ** または **テンプレート** に移動して以前のメッセージを表示することもできます。

    <Frame caption="OneSignalダッシュボードで新しいメッセージを作成します。">
      <img src="https://mintcdn.com/onesignal/UDk6E5NjA3sdGdRN/images/dashboard/create-message.png?fit=max&auto=format&n=UDk6E5NjA3sdGdRN&q=85&s=97504cf71555ac4aeb263a36ad2d28b3" alt="OneSignal dashboard showing create message options" width="2128" height="1374" data-path="images/dashboard/create-message.png" />
    </Frame>
  </Step>

  <Step title="作成方法を選択" icon="pencil">
    * [ブロックエディター](./design-your-in-app-message)または[HTMLエディター](./design-your-in-app-message-with-html)でゼロから始める
    * 事前に作成された[テンプレート](./templates)を使用する
  </Step>

  <Step title="名前とラベルを設定" icon="tag">
    トラッキングとレポート用の内部メタデータを追加します。API相当: `name`
  </Step>

  <Step title="オーディエンスを選択" icon="users">
    メッセージを受け取るユーザーを選択します。[セグメント](./segmentation)を含めたり除外したりして、特定のグループをターゲットにできます。セグメントが設定されていない場合、デフォルトはすべての「購読済みユーザー」です。

    <Frame caption="ダッシュボードでの名前、ラベル、オーディエンスセグメントの選択。">
      <img src="https://mintcdn.com/onesignal/ciRrThfP6xMpI7GY/images/dashboard/message-name-label-audience.png?fit=max&auto=format&n=ciRrThfP6xMpI7GY&q=85&s=1f41b0e42d31211b1c1badf87ba84056" alt="Dashboard fields for message name, label, and audience segment selection" width="1650" height="518" data-path="images/dashboard/message-name-label-audience.png" />
    </Frame>

    <Note>
      アプリ内メッセージは、プッシュオプトインステータスに関係なく、セグメント内のすべての[モバイルサブスクリプション](./subscriptions)に配信されます。ただし、メッセージにプッシュプロンプトの[クリックアクション](#click-actions)が含まれている場合、購読済み（オプトイン済み）のモバイルサブスクリプションには表示されません。
    </Note>
  </Step>
</Steps>

### メッセージのデザイン

ビジュアルなドラッグアンドドロップエディターまたはHTMLエディターを使用して、より細かく制御できます。

<Frame caption="編集画面">
  <img src="https://mintcdn.com/onesignal/56ctKxZSV4m5VEkn/images/docs/b7df349-Screenshot_2022-12-10_at_12.52.59_PM.png?fit=max&auto=format&n=56ctKxZSV4m5VEkn&q=85&s=4930228c3107db798dadc1bf69b4b0d6" width="2134" height="1736" data-path="images/docs/b7df349-Screenshot_2022-12-10_at_12.52.59_PM.png" />
</Frame>

<Columns cols={2}>
  <Card title="ドラッグアンドドロップでデザイン" href="./design-your-in-app-message" arrow={true}>
    ビジュアルエディターを使用してメッセージをすばやく構築します。
  </Card>

  <Card title="HTMLでデザイン" href="./design-your-in-app-message-with-html" arrow={true}>
    開発者がメッセージをカスタマイズするための完全な制御。
  </Card>

  <Card title="事前構築されたHTMLテンプレート" href="./in-app-html-templates" arrow={true}>
    テスト済みのレイアウトとキャンペーンから開始します。
  </Card>

  <Card title="HTML用アプリ内JavaScript API" href="./in-app-message-api" arrow={true}>
    HTMLメッセージにOneSignalのクリックアクションを追加します。
  </Card>

  <Card title="メッセージのパーソナライゼーション" href="./message-personalization" arrow={true}>
    動的コンテンツを追加して、各ユーザーのメッセージをパーソナライズします。
  </Card>

  <Card title="多言語メッセージング" href="./multi-language-messaging" arrow={true}>
    グローバルオーディエンス向けにコンテンツをローカライズします。
  </Card>
</Columns>

### クリックアクション

ユーザーがメッセージ内の要素をクリックしたときに何が起こるかをカスタマイズします。

<Frame caption="クリックアクションオプション">
  <img src="https://mintcdn.com/onesignal/yt4lRKoquAlWvRvF/images/iam/click_action_dropdown.png?fit=max&auto=format&n=yt4lRKoquAlWvRvF&q=85&s=4edea63fce3704ec2c343eacfc77f248" width="518" height="525" data-path="images/iam/click_action_dropdown.png" />
</Frame>

<Columns cols={2}>
  <Card title="クリックアクション" href="./iam-click-actions" arrow={true}>
    ユーザーがメッセージ内の要素をクリックしたときに何が起こるかをカスタマイズします。
  </Card>

  <Card title="イベントストリーム" href="./event-streams" arrow={true}>
    メッセージとのインタラクションを追跡します。
  </Card>

  <Card title="SDKクリックハンドラー" href="./mobile-sdk-reference#addclicklistener-in-app" arrow={true}>
    モバイルSDKでクリックイベントに反応します。
  </Card>

  <Card title="ディープリンク" href="./deep-linking" arrow={true}>
    クリック時にユーザーをナビゲートします。
  </Card>
</Columns>

### トリガー

アプリセッション中にメッセージを表示するタイミングを定義します。

<Frame caption="トリガーのセットアップ">
  <img src="https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/5578ae6-image.png?fit=max&auto=format&n=jFWn5xzleD8du3j6&q=85&s=d70aa26e6fa87244d4fa8f4527d9b449" width="1766" height="884" data-path="images/docs/5578ae6-image.png" />
</Frame>

4つのトリガータイプ：

<Columns col={2}>
  <Card title="アプリを開いたとき">
    ユーザーがアプリを起動したときにトリガーします。
  </Card>

  <Card title="セッション期間">
    アプリを開いてからX秒後に遅延します。
  </Card>

  <Card title="最後のメッセージ以降">
    最後のアプリ内メッセージの後X時間遅延します。
  </Card>

  <Card title="カスタムトリガー" href="./iam-triggers" arrow={true}>
    SDK `addTrigger(s)`を介して制御されます。
  </Card>
</Columns>

#### このメッセージをいつ閉じるべきですか？

メッセージは次の場合に閉じることができます：

* ユーザーのインタラクション時（クリック、スワイプ）
* 設定された時間の後（自動閉じ）

<Frame caption="90秒後に自動的に閉じる">
  <img src="https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/8dcc001876557819348b804906ed63aee17d83bce300e63e91cc11c54eface2f-Screenshot_2025-04-08_at_2.00.07_PM.png?fit=max&auto=format&n=tc0EvmtSSX56SX0c&q=85&s=59d61042bc7d3e1855e4c90f9a83e562" width="1342" height="530" data-path="images/docs/8dcc001876557819348b804906ed63aee17d83bce300e63e91cc11c54eface2f-Screenshot_2025-04-08_at_2.00.07_PM.png" />
</Frame>

### スケジュールと頻度

* **表示開始**：メッセージが対象になる時期
* **表示停止**：終了日時を設定するか「永久に表示」

#### このメッセージをどのくらいの頻度で表示しますか？

* **1回のみ**（デフォルト）
* トリガーが満たされる**毎回**
* カスタム繰り返しロジックで**複数回**：

例：

* **1時間**の間隔で**2回**表示
* **30日**の間隔で**12回**表示

<Frame caption="この例では、30日ごとに合計12回メッセージが表示されます。">
  <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/e66d013-Screenshot_2022-12-10_at_1.27.10_PM.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=0cfe8f5e92ea5d02aa5ae3c659b5538c" width="2100" height="756" data-path="images/docs/e66d013-Screenshot_2022-12-10_at_1.27.10_PM.png" />
</Frame>

***

## アプリ内メッセージの表示方法

アプリ内メッセージはアクティブにプッシュされません。代わりに、オーディエンスに基づいてアプリの起動時にプルされます。次に、トリガーロジックに基づいて表示されます。

<Frame caption="アプリ内メッセージ表示ロジックフロー">
  <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/e1ce302cd1350e6c9e5616937a8068329fe61619884cd62889cd1772fd29999d-1c688b0-lifecycle-of-an-in-app.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=7a7552973b2746cd2ffa36137e743675" width="2036" height="815" data-path="images/docs/e1ce302cd1350e6c9e5616937a8068329fe61619884cd62889cd1772fd29999d-1c688b0-lifecycle-of-an-in-app.png" />
</Frame>

メッセージは次の場合に表示されます：

1. ユーザーが**新しいセッション**が開始される*前に*オーディエンス基準を満たしている。

* **新しいセッション**は、ユーザーがアプリをバックグラウンドまたは閉じた状態で少なくとも30秒後に開いたときに開始されます。
* メッセージが公開されたときにユーザーがアプリを開いている場合、または同じセッション中にセグメントに入った場合、メッセージを表示する資格を得るには、少なくとも30秒間アプリをフォーカス外（閉じるかバックグラウンド）にする必要があります。

2. トリガー条件が満たされている。
3. スケジュールされた時刻と頻度が有効である。

セッション中にセグメント基準が変更された場合、ユーザーはメッセージを表示するためにアプリを再度開く必要があります。

### テスト

テスト中は、次のことを行うことをお勧めします：

<Steps>
  <Step title="アプリに詳細ログを追加">
    アプリに[`setLogLevel`メソッドを`Verbose`に](./mobile-sdk-reference#setloglevel)追加して、より詳細なログを取得します。
  </Step>

  <Step title="サブスクリプションがセグメント内にあることを確認">
    上記の[アプリ内メッセージの表示方法](#how-in-app-messages-are-shown)で説明したように、ユーザーは**新しいセッションが開始される前に**オーディエンス基準に一致する必要があります。

    * デバイスのサブスクリプションIDがわからない場合は、[デバイスの検索とテストユーザーの設定](./test-users)を参照してください。
    * デバイスのサブスクリプションが含まれるセグメント内にあり、使用されている場合は除外されるセグメント内にないことを確認してください。
    * **ヒント**：デバイスをテストサブスクリプションとして追加し、**テストユーザー**フィルターを含めるようにセグメントを作成または更新できます。
  </Step>

  <Step title="アプリが少なくとも30秒間閉じられているか、フォーカス外であることを確認">
    これにより、新しいセッションを作成してメッセージの資格を得るためにアプリを開いていることが保証されます。
  </Step>

  <Step title="トリガー条件を確認">
    メッセージが表示されるための[トリガー](#triggers)を満たしていることを確認してください。
  </Step>

  <Step title="スケジュールと頻度を確認">
    * 「表示開始」と「表示停止」の日付が正しく設定されていることを確認してください。
    * テスト中は、[「このメッセージをどのくらいの頻度で表示しますか？」](#schedule-%26-frequency)を「トリガー条件が満たされるたびに」に設定します。
  </Step>

  <Step title="メッセージを更新してアクティブであることを確認">
    * メッセージがアクティブになったら、デバイスでアプリを開くことができます。
    * トリガー条件に基づいてメッセージが表示されるはずです。
  </Step>
</Steps>

#### テストとプレビューボタン

**テストとプレビュー**ボタンを使用すると、選択したテストデバイスにプッシュ通知が送信されます。プッシュをクリックしてアプリを開くと、アプリ内メッセージが表示されます。この機能を使用するには、次のことが必要です：

* デバイスが[テストユーザー](./test-users)であることを確認してください。
* プッシュ通知は**テスト目的でのみ送信されます**。メッセージが公開されているときはプッシュは送信されません。
* アプリを開いて「テストメッセージ」を送信できます。アプリ内メッセージが表示されます。
* タグ置換はテストアプリ内メッセージでは機能しません。
* メッセージが表示されない場合は、[テスト手順](#testing)に従っていることを確認してください。
* テストアプリ内メッセージを受信するには、デバイスがプッシュに登録されている必要があります。テストIAMはプッシュ通知によってトリガーされるため、サブスクリプションに無効なAPNsトークンがある場合、またはプッシュに登録されていない場合、テストは機能しません。

<Info>
  Need help?

  Chat with our Support team or email `support@onesignal.com`

  Please include:

  * Details of the issue you're experiencing and steps to reproduce if available
  * Your OneSignal App ID
  * The External ID or Subscription ID if applicable
  * The URL to the message you tested in the OneSignal Dashboard if applicable
  * Any relevant [logs or error messages](/docs/en/capturing-a-debug-log)

  We're happy to help!
</Info>

***

## チュートリアルとユースケース

<Columns cols={2}>
  <Card title="アプリ内メッセージのパーソナライゼーション" href="./personalization-properties-and-tags" arrow={true}>
    タグを使用してアプリ内メッセージをパーソナライズするためのステップバイステップガイド。
  </Card>

  <Card title="古いアプリバージョンをターゲットにする" href="./app-version-update" arrow={true}>
    ユーザーにアプリの更新を促します。
  </Card>

  <Card title="アプリストアレビュープロンプト" href="./example-app-store-review" arrow={true}>
    タイムリーなレビューリクエストで評価を高めます。
  </Card>

  <Card title="ユーザーアンケートの作成" href="./example-create-a-survey" arrow={true}>
    アプリ内でフィードバックを収集します。
  </Card>

  <Card title="プッシュ権限プロンプト" href="./prompt-for-push-permissions" arrow={true}>
    プッシュオプトイン率を向上させます。
  </Card>

  <Card title="位置情報権限プロンプト" href="./location-opt-in-prompt" arrow={true}>
    ユーザーに位置情報追跡を有効にするよう依頼します。
  </Card>

  <Card title="チュートリアルの作成" href="./example-create-a-tutorial" arrow={true}>
    ユーザーがアプリの新機能を理解できるようにチュートリアルを設定します！
  </Card>
</Columns>

***

## 分析

メッセージのパフォーマンスとエンゲージメントを追跡します。

<Columns cols={2}>
  <Card title="アプリ内メッセージレポート" icon="chart-line" href="./in-app-message-reports">
    アプリ内メッセージのインプレッション、クリック、閉じる、コンバージョン指標。
  </Card>

  <Card title="分析の概要" icon="chart-bar" href="./analytics-overview">
    OneSignalで利用可能なすべての分析オプション。
  </Card>

  <Card title="イベントストリーム" icon="signal-stream" href="./event-streams">
    プッシュイベントをデータウェアハウスまたはBIツールにリアルタイムでストリーミングします。
  </Card>
</Columns>

***

## よくある質問

### アプリ内メッセージにはプッシュ通知の許可が必要ですか？

いいえ。アプリ内メッセージは、プッシュのオプトインステータスに関係なく、対象セグメント内のすべてのモバイル購読者に配信されます。アクティブなセッション中にアプリ内に表示されます。

### アプリ内メッセージが表示されないのはなぜですか？

最も一般的な原因は、ユーザーのセッションが更新されなかったことです。ユーザーはアプリを少なくとも30秒間閉じるかバックグラウンドに移動させ、再度開いて新しいセッションを開始する必要があります。また、ユーザーが対象セグメントに含まれており、トリガー条件が満たされていることを確認してください。完全なチェックリストについては、[テスト](#testing)を参照してください。

### APIを使用してアプリ内メッセージを送信できますか？

アプリ内メッセージはOneSignalダッシュボード内で作成する必要があります。

アプリ内メッセージを[Journeys](./journeys-overview)に含め、APIからトリガーされる[カスタムイベント](./custom-events)を通じてユーザーをJourneyに追加することができます。

### アプリ内メッセージとプッシュ通知の違いは何ですか？

アプリ内メッセージは、ユーザーがアプリを積極的に使用している間にアプリ内に表示されます。プッシュ通知はデバイスの通知トレイに表示され、アプリが閉じている場合でもユーザーに届きます。アプリ内メッセージはプッシュ許可を必要とせず、サーバーからプッシュされるのではなく、セッション開始時に取得されます。

### Webでアプリ内メッセージを使用できますか？

いいえ。アプリ内メッセージは、OneSignalモバイルSDKがインストールされたモバイルアプリのみで利用可能です。Webについては、代わりに[ウェブプッシュ通知](./web-push-setup)の使用をご検討ください。
