アプリ内メッセージの作成と送信
Experience Platformの Mobile SDK とJourney Optimizerを使用して、モバイルアプリ用のアプリ内メッセージを作成する方法を説明します。
Journey Optimizerでは、ターゲットオーディエンスにアプリ内メッセージを送信するキャンペーンを作成できます。 Journey Optimizerのキャンペーンは、様々なチャネルを使用して、特定のオーディエンスに 1 回限りのコンテンツを配信するために使用します。 キャンペーンでは、アクションは指定したスケジュールに基づいて同時にまたは即時に実行されます。 ジャーニーを使用すると(Journey Optimizerのプッシュ通知レッスンを参照)、アクションが順番に実行されます。
Journey Optimizerでアプリ内メッセージを送信する前に、適切な設定と統合が行われていることを確認する必要があります。 Journey Optimizerのアプリ内メッセージデータフローについては、 ドキュメントを参照してください。
前提条件
- SDK がインストールおよび設定された状態で、アプリケーションが正常に構築および実行されました。
- Adobe Experience Platform用にアプリを設定します。
- Journey Optimizerへのアクセスと、説明に従った十分な権限 こちら。 また、次のJourney Optimizer機能に対する十分な権限も必要です。
- キャンペーンの管理。
- テスト用の物理的なiOSデバイスまたはシミュレーター。
学習目標
このレッスンでは、次の操作を行います
- AJOでアプリサーフェスを作成します。
- Journey Optimizer タグ拡張機能をインストールして設定します。
- アプリを更新して、Journey Optimizer タグ拡張機能を登録します。
- Assurance の設定を検証します。
- Journey Optimizerで独自のキャンペーンおよびアプリ内メッセージエクスペリエンスを定義します。
- アプリ内から独自のアプリ内メッセージを送信します。
セットアップ
データ収集でのアプリサーフェスの追加
-
データ収集インターフェイスで、左側のパネルの アプリサーフェス を選択します。
-
設定を作成するには、「アプリサーフェスを作成」を選択します。
-
設定の 名前 を入力します(例:
Luma App Tutorial
)。 -
モバイルアプリケーション設定 から、「Apple iOS」を選択します。
-
アプリ ID (iOS バンドル ID) フィールドにモバイルアプリのバンドル ID を入力します。 例:
com.adobe.luma.tutorial.swiftui
。 -
「保存」を選択します。
データストリーム設定を更新
モバイルアプリからEdge Networkーへデータが確実にJourney Optimizerに転送されるようにするには、Experience Edgeの設定を更新します。
-
データ収集 UI で「データストリーム」を選択し、データストリームを選択します(例:Luma Mobile App)。
-
「{ その他 編集 を選択します。
-
データストリーム/ /Adobe Experience Platform 画面で、「Adobe Journey Optimizer」が選択されていることを確認します。 詳しくは、Adobe Experience Platform 設定を参照してください。
-
データストリーム設定を保存するには、「保存」を選択します。
Journey Optimizer タグ拡張機能のインストール
アプリがJourney Optimizerと連携するには、タグプロパティを更新する必要があります。
- タグ/拡張機能/カタログ に移動します。
- プロパティを開きます(例:Luma Mobile App Tutorial)。
- カタログ を選択します。
- Adobe Journey Optimizer 拡張機能を検索します。
- 拡張機能をインストールします。
のみ アプリでアプリ内メッセージを使用する場合、拡張機能のインストール または 拡張機能の設定 では、何も設定する必要はありません。 ただし、このチュートリアルの プッシュ通知レッスンを既に完了している場合は、開発 環境で、AJO プッシュトラッキングエクスペリエンスイベントデータセット データセットが イベントデータセット リストから選択されていることがわかります。
アプリへのJourney Optimizerの実装
前のレッスンで説明したように、モバイルタグ拡張機能をインストールしても、設定のみが提供されます。 次に、Messaging SDK をインストールして登録する必要があります。 これらの手順が明確でない場合は、「SDK のインストール の節を参照しください。
-
Xcode で、AEP メッセージがパッケージの依存関係のパッケージのリストに追加されていることを確認します。 Swift パッケージマネージャーを参照してください。
-
Xcode プロジェクトナビゲーターで Luma/Luma/AppDelegate に移動します。
-
AEPMessaging
が読み込みのリストに含まれていることを確認します。import AEPMessaging
-
Messaging.self
が、登録している拡張機能の配列の一部であることを確認します。code language-swift let extensions = [ AEPIdentity.Identity.self, Lifecycle.self, Signal.self, Edge.self, AEPEdgeIdentity.Identity.self, Consent.self, UserProfile.self, Places.self, Messaging.self, Optimize.self, Assurance.self ]
Assurance で設定を検証
-
シミュレーターまたはデバイスを Assurance に接続するには、「 設定手順」セクションを確認してください。
-
Assurance UI で、「設定」を選択します。
-
アプリ内メッセージ の横にある「 」ボタンを選択します。
-
「保存」を選択します。
-
左側のナビゲーションから アプリ内メッセージ を選択します。
-
「検証」タブを選択します。 エラーがないことを確認します。
独自のアプリ内メッセージの作成
独自のアプリ内メッセージを作成するには、発生したイベントに基づいてアプリ内メッセージをトリガーにするキャンペーンをJourney Optimizerで定義する必要があります。 次のイベントがあります。
- Adobe Experience Platformに送信されるデータ
- mobile Core の汎用 API を使用した、アクションなどのコアトラッキングイベント、または PII データの状態や収集、
- アプリケーション・ライフサイクル・イベント(起動、インストール、アップグレード、終了、クラッシュなど)
- ジオロケーションイベント(目標点へのエントリや離脱など)。
このチュートリアルでは、Mobile Core の汎用 API と拡張機能に依存しない API (Mobile Core の汎用 API を参照)を使用して、ユーザー画面、アクション、PII データのイベントを簡単に追跡できるようにします。 これらの API で生成されたイベントは、SDK イベントハブに公開され、拡張機能で使用できます。 SDK イベントハブは、すべての Mobile Platform SDK 拡張機能に結び付けられたコアデータ構造を提供し、登録済みの拡張機能と内部モジュールのリスト、登録済みのイベントリスナーのリスト、および共有状態データベースを維持します。
SDK Event Hub は、登録された拡張機能からイベントデータを公開および受け取り、Adobeソリューションやサードパーティソリューションとの統合を容易にします。 例えば、「最適化」拡張機能がインストールされている場合、Journey Optimizer - Decision Management オファーエンジンに対するすべてのリクエストとインタラクションは、イベントハブで処理されます。
-
Journey Optimizer UI の左パネルで「キャンペーン」をクリックします。
-
キャンペーンを作成 を選択します。
-
キャンペーンを作成 画面で、次の操作を行います。
-
「アプリ内メッセージ」を選択し、「アプリサーフェス」リストからアプリサーフェス(例:Luma Mobile App)を選択します。
-
「作成」を選択します。
-
-
キャンペーン定義画面の プロパティ で、キャンペーンの 名前 (例:
Luma - In-App Messaging Campaign
)と 説明 (例:In-app messaging campaign for Luma app
)を入力します。
-
アクション までスクロールし、「コンテンツを編集」を選択します。
-
アプリ内メッセージ 画面で、次の操作を行います。
-
メッセージレイアウト として モーダル を選択します。
-
メディア URL の
https://luma.enablementadobe.com/content/dam/luma/en/logos/Luma_Logo.png
を入力します。 -
Header (例:
Welcome to this Luma In-App Message
)を入力し、Body (例:Triggered by pushing that button in the app...
)を入力します。 -
ボタンの#1 のテキスト プライマリ) として「解除」と入力します。
-
プレビューの更新方法に注意してください。
-
「アクティブ化するレビュー」を選択します。
-
-
アクティブ化するレビュー(Luma - アプリ内メッセージキャンペーン)画面 スケジュール タイルの ![ 編集] を選択します。
-
Luma - In-App Messaging Campaign 画面に戻り、「 トリガーを編集 を選択します。
-
アプリ内メッセージのトリガー ダイアログでは、アプリ内メッセージをトリガーにするトラックアクションの詳細を設定します。
-
アプリケーションの起動イベント を削除するには、「 」を選択します。
-
Add 条件 を繰り返し使用して、「次の場合にメッセージを表示 のロジックを作成し す。
-
「完了」をクリックします。
Action が
in-app
に等しく、コンテキストデータ が"showMessage" : "true"
のキー値ペアである追跡アクションを定義しました。 -
-
Luma - In-App Messaging Campaign の画面に戻り、「アクティブ化するレビュー を選択し す。
-
アクティブ化するレビュー(Luma - アプリ内メッセージキャンペーン)画面で 「アクティブ化」を選択します。
-
ステータスが ライブ の Luma - In-App Messaging Campaign が キャンペーン リストに表示されます。
アプリ内メッセージのトリガー
アプリ内メッセージを送信するための材料がすべて用意されています。 残っているのは、アプリにこのアプリ内メッセージをトリガーする方法です。
-
Xcode プロジェクトナビゲーターで Luma/Luma/Utils/MobileSDK に移動します。
func sendTrackAction(action: String, data: [String: Any]?)
関数を検索し、パラメーターaction
およびdata
に基づいてMobileCore.track
関数を呼び出す次のコードを追加します。code language-swift // Send trackAction event MobileCore.track(action: action, data: data)
-
Xcode プロジェクトナビゲーターで Luma / Luma / Views / General / ConfigView に移動します。 アプリ内メッセージ ボタンのコードを見つけて、次のコードを追加します。
code language-swift // Setting parameters and calling function to send in-app message Task { MobileSDK.shared.sendTrackAction(action: "in-app", data: ["showMessage": "true"]) }
アプリを使用した検証
-
を使用して、シミュレータまたは Xcode の物理デバイスでアプリを再構築して実行します。
-
「設定」タブに移動します。
-
アプリ内メッセージ をタップします。 アプリ内メッセージがアプリに表示されます。
{width="300"}
Assurance での実装の検証
Assurance UI でアプリ内メッセージを検証できます。
- シミュレーターまたはデバイスを Assurance に接続するには、「 設定手順」セクションを確認してください。
- 「アプリ内メッセージ」を選択します。
- イベントリスト を選択します。
- メッセージを表示 エントリを選択します。
- raw イベント(特に
html
)をInspectします。これには、アプリ内メッセージの完全なレイアウトとコンテンツが含まれます。
次の手順
これで、関連する該当する場合は、アプリ内メッセージの追加を開始するためのすべてのツールが用意できました。 例えば、アプリで追跡している特定のインタラクションに基づいて製品をプロモーションする場合などです。
次のトピック:オファーの作成および表示