# モバイルIn-Appのイベントとフィールド

モバイルIn-Appキャンペーンの評価でEngage Mobile SDKが受け取るイベントとフィールドを確認する場合に使用します。SDKはトリガーAPIとキャンペーン計測イベントを提供し、ビジネスイベント名とフィールドは顧客が定義します。

計測レコードの詳細はDeveloper Guideで説明します。計測先とスキーマについては、[モバイルIn-Appの計測](/ja/products/marketing-cloud/engage-studio/channels/mobile-inapp/measurement)を参照してください。

Beta
モバイルIn-Appのイベント契約はプレビュー機能の一部です。一般提供前に、イベント名、フィールド、SDKの動作が変更される場合があります。

## SDKイベントのカテゴリ

SDKはモバイルIn-App向けに次の2種類のイベントを扱います。

| カテゴリ | イベント | 担当 |
|  --- | --- | --- |
| トリガー入力 | `trackImmediately`で送信するイベントマップ | 顧客のアプリとキャンペーン設定 |
| キャンペーン計測 | `impression`、`click`、`dismiss` | Engage Mobile SDK |


SDKは`purchase`、`add_to_cart`、`search`などのビジネスイベントを固定リストとして定義しません。これらの名前とフィールドは顧客が定義し、Realtime Personalizationの設定と一致させます。

## トリガーイベントの入力

`trackImmediately`は、アプリが設定された画面または操作に到達したときに、イベントマップをRealtime Personalizationへ送信します。

SDKが受け取るフィールドの役割は次のとおりです。

| フィールドの役割 | 代表的なキー | 定義 |
|  --- | --- | --- |
| イベント名 | `event` | トリガーの顧客定義名。 |
| 画面またはページのコンテキスト | `screen_name` | 顧客が定義する画面またはページの値。 |
| 顧客識別子 | `customer_id`、`user_id`、`td_client_id` | ターゲティングまたはID解決に使用する顧客定義の識別キー。 |
| キャンペーン属性 | JSON化可能な任意のキー | Personalizationルールまたはメッセージコンテンツで使用する顧客定義の値。 |


フィールド名とデータ型は、Realtime Personalizationで設定した名前と一致させてください。SDKは顧客定義のフィールドを渡しますが、ビジネスフィールドを自動生成しません。

```json
{
  "event": "<CUSTOMER_DEFINED_EVENT>",
  "screen_name": "<CUSTOMER_DEFINED_SCREEN>",
  "customer_id": "<CUSTOMER_DEFINED_ID>",
  "<CUSTOMER_DEFINED_FIELD>": "<VALUE>"
}
```

キャンペーンで必要なフィールドだけを使用してください。APIキー、Personalization token、パスワード、不要な個人データを含めないでください。

## キャンペーン計測イベント

キャンペーン配信されたメッセージを表示または操作したとき、SDKは次の計測イベントを作成できます。

| イベント | 意味 |
|  --- | --- |
| `impression` | キャンペーンメッセージを表示した。 |
| `click` | 対応するリンクまたはBridgeアクションを使用した。 |
| `dismiss` | キャンペーンエクスペリエンスを閉じた。 |


これらのイベントのメッセージメタデータとアクションフィールドはSDK契約で定義されます。Developer Guideの[モバイルIn-Appの計測](/ja/products/marketing-cloud/engage-studio/channels/mobile-inapp/measurement)と[Engage Mobile SDK APIとイベントリファレンス](/ja/products/marketing-cloud/engage-studio/channels/mobile-inapp/sdk-reference)を参照してください。

アプリから直接`openUrl`を呼び出した場合はキャンペーンオファーではないため、これらのキャンペーン計測イベントは作成されません。

## 顧客定義のビジネスイベント

キャンペーンが業務上の操作に依存する場合、顧客のアプリからイベントとフィールドを明示的に送信します。次の名前は例であり、SDK標準イベントではありません。

- `purchase`
- `add_to_cart`
- `search`
- `content_view`
- `signup`
- 顧客が定義する任意のイベント名


キャンペーン担当者とイベント契約を定義し、Realtime Personalizationに対応するフィールドを設定してから、アプリにイベントを実装してください。

## 関連ドキュメント

- [モバイルIn-Appキャンペーンをセットアップする](/ja/products/marketing-cloud/engage-studio/channels/mobile-inapp/setup-and-prerequisites)
- [モバイルIn-Appメッセージを作成する](/ja/products/marketing-cloud/engage-studio/channels/mobile-inapp/create-an-in-app-message)
- [メッセージタイプと表示設定](/ja/products/marketing-cloud/engage-studio/channels/mobile-inapp/message-types-and-appearance)
- [Hosted Pages](/ja/products/marketing-cloud/engage-studio/channels/mobile-inapp/rich-landing)
- [Engage Mobile SDK APIとイベントリファレンス](/ja/products/marketing-cloud/engage-studio/channels/mobile-inapp/sdk-reference)
- [モバイルIn-Appの計測](/ja/products/marketing-cloud/engage-studio/channels/mobile-inapp/measurement)