> ## 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.

# アプリ内トリガー

> ユーザーにアプリ内メッセージを表示するためのオプション。

## 概要

トリガーを使用して、選択した時間にオーディエンス内のユーザーにアプリ内メッセージを表示します。特定の時間にメッセージを送信するだけのプッシュ、メール、SMSとは異なり、アプリ内メッセージでは、アプリ内でユーザーにメッセージを表示するタイミングを決定するためにトリガーが必要です。

<Note>
  トリガーは、メッセージを表示するタイミングを決定します。メッセージを表示する頻度を設定するには、[スケジュールと頻度](./in-app-messages-setup#schedule-%26-frequency)を参照してください。
</Note>

<Frame caption="OneSignalダッシュボード内でアプリ内メッセージを作成する際にトリガーを設定">
  <img src="https://mintcdn.com/onesignal/sfRFE3uPEhgSxmaa/images/iam/triggers.png?fit=max&auto=format&n=sfRFE3uPEhgSxmaa&q=85&s=dba1e928eb406fc5bd6f2008f4c30869" width="1138" height="382" data-path="images/iam/triggers.png" />
</Frame>

### 要件

* 追加の設定と要件については、[アプリ内メッセージの概要](./in-app-messages-setup)を確認してください。
* 一部のトリガー（以下に記載）はプログラマティックであり、メッセージを表示する前にアプリにコードを追加する必要があります。
* **トリガーがメッセージを表示するには、新しいセッションが開始される前にユーザーがオーディエンス内にいる必要があります。** アプリが少なくとも30秒間フォーカスを失うと、新しいセッションが開始されます。[アプリ内メッセージの表示方法](./in-app-messages-setup#how-in-app-messages-are-shown)を参照してください。

***

## トリガータイプ

トリガーには4つのタイプがあります。それぞれを**AND**および**OR**演算子と組み合わせて、非常に特定の条件下でのみ表示することができます。

### アプリ起動時

**コード不要。** 次回のアプリ起動時にメッセージを表示します。オーディエンス内のユーザーは、アプリを開いたときにメッセージを受信する資格があります。

* タグまたはユーザーがセッション中に参加する特定のアクションを必要とするオーディエンスセグメントの場合、次回のアプリ起動時にメッセージを表示するには、新しいセッションを開始する必要があります。
* すべてのユーザーまたはアプリバージョンフィルターをターゲットとするオーディエンスセグメントの場合、ユーザーがアプリを開いたときにメッセージが表示されます。まったく新しいユーザーであっても表示されます。

### アプリ内トリガー

**コードが必要。** ユーザーが特定のアクションを実行したときにメッセージを表示します。アプリ内で[`addTrigger`メソッド](./mobile-sdk-reference#in-app-messages)に`key`と`value`を渡す必要があります。

<Frame caption="プログラマティックなアプリ内トリガーを設定。">
  <img src="https://mintcdn.com/onesignal/sfRFE3uPEhgSxmaa/images/iam/in-app-trigger.png?fit=max&auto=format&n=sfRFE3uPEhgSxmaa&q=85&s=0732451f4ff8c8bf2f43231432b99a4a" width="1334" height="652" data-path="images/iam/in-app-trigger.png" />
</Frame>

この例では、アプリがメソッド`addTrigger('trigger', '1')`を呼び出すと、アプリ内メッセージが表示されます。トリガーがメッセージを表示するには、新しいセッションが開始される前にユーザーがオーディエンス内にいる必要があることに注意してください。詳細については、上記の[要件](#requirements)を参照してください。

#### アプリ内トリガーの重要な要件

* `keys`と`values`はスペースと大文字小文字を区別します。トリガーを設定する際に、誤ったスペースや大文字小文字がないか確認してください。
* メッセージを表示するために、複数の`keys`と`values`が存在することを要求できます。
  * `AND`条件を使用する各キーと値のペアは、トリガーがメッセージを表示するために満たされる必要があります。
  * `OR`条件を使用するキーと値のペアは、いずれかのキーと値のペアが満たされるとメッセージを表示します。
* 複数のトリガーが必要な場合は、必要に応じて[`removeTrigger`メソッド](./mobile-sdk-reference#in-app-messages#remove-trigger)を使用してトリガーを削除できます。
* `より大きい`および`より小さい`条件は、コード内で文字列として設定されていても、数値に対して機能します。
  * ユーザーがレベル5に到達したときにメッセージを表示する場合。オーディエンスをすべてのユーザーに設定しますが、トリガーを「level is 5」に設定します。ユーザーがレベルアップするたびに、`addTrigger("level", "x")`を呼び出します。ここで「x」は到達したレベルです。これは、`addTrigger("level", "5");`が呼び出されるまで増加し続け、その後、アプリ内メッセージがユーザーに表示されます。

### セッション時間

**コード不要。** 現在のアプリセッション内で特定の秒数が経過した後にメッセージを表示します。トリガーがメッセージを表示するには、新しいセッションが開始される前にユーザーがオーディエンス内にいる必要があります。詳細については、上記の[要件](#requirements)を参照してください。

### 最後のアプリ内メッセージからの経過時間

**コード不要。** 最新のアプリ内メッセージから特定の秒数が経過した後にメッセージを表示します。トリガーがメッセージを表示するには、新しいセッションが開始される前にユーザーがオーディエンス内にいる必要があります。詳細については、上記の[要件](#requirements)を参照してください。

これは、重要なメッセージにあまり近接して表示されないように、緊急度が低いまたは優先度が低いメッセージに含めるのに役立ちます。

***

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

このオプションを使用すると、メッセージを画面に表示する時間を制御できます。

* **閉じられるまで表示**：メッセージは、物理的にアクションが実行されるまで表示されます。閉じるボタンがクリックされるか、メッセージがスワイプされます。
* **一定時間後に閉じる**：メッセージが画面から自動的に削除されるまでに表示される秒数を設定します。これは、メッセージが情報提供であり、ユーザーアクションを必要としない場合に役立ちます。

***

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

トリガーはメッセージを表示するタイミングを決定しますが、このオプションを使用すると、メッセージを表示する頻度を制御できます。詳細については、[スケジュールと頻度](./in-app-messages-setup#schedule-%26-frequency)を参照してください。

<Frame caption="アプリ内メッセージをスケジュールする機能を示す画像">
  <img src="https://mintcdn.com/onesignal/KSCNwSpBCNSQ8xdF/images/docs/fb6d705-Screen_Shot_2022-09-28_at_3.44.24_PM.png?fit=max&auto=format&n=KSCNwSpBCNSQ8xdF&q=85&s=f52d005f9b59abb767c2968c24359fd2" width="1766" height="642" data-path="images/docs/fb6d705-Screen_Shot_2022-09-28_at_3.44.24_PM.png" />
</Frame>

### メッセージを表示するタイミングと回数を設定

**1回のみ**がデフォルトです。アプリ内メッセージはサブスクリプションに1回のみ表示されます。

**トリガー条件が満たされるたびに**は、トリガー条件が満たされるたびにこのメッセージを表示します。

* アプリ内トリガーの場合、これはセッション中に複数回になる可能性があります。他のトリガーの場合、セッションごとに1回のみです。

**複数回**では、このメッセージを表示できる特定の回数と、各表示の間に待機する時間を設定できます。

* "`2`回、間隔`1`**時間**"と設定した場合：メッセージは合計`2`回トリガーされることが許可されます。最初はトリガーが満たされたとき、2回目はトリガーが満たされ、`1`時間が経過したときです。
* "`12`回、間隔`30`**日**"と設定した場合：メッセージは1年間、月に約1回表示されます。

***

## よくある質問

### トリガーはタグですか？

トリガーはタグではありません。トリガーは、[SDKのトリガーメソッド](./mobile-sdk-reference#in-app-messages)内で設定されるキーと値のペアです。[タグ](./add-user-data-tags)は、設定してオーディエンス内のユーザーをターゲティングするために使用できるユーザーデータです。

オーディエンスで使用するセグメントにタグを設定し、トリガーを使用してメッセージを表示します。

### 複数のトリガーを使用できますか？

はい、複数のトリガーを使用できます。詳細については、[アプリ内トリガーの重要な要件](#important-in-app-trigger-requirements)を参照してください。

***
