アプリ内メッセージの作成と送信
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デバイスまたはシミュレーター。
学習目標
このレッスンでは、次の操作を行います
- Journey Optimizerでチャネル設定を作成します。
- Journey Optimizer タグ拡張機能をインストールして設定します。
- アプリを更新して、Journey Optimizer タグ拡張機能を登録します。
- Assuranceの設定を検証します。
- Journey Optimizerで独自のキャンペーンおよびアプリ内メッセージエクスペリエンスを定義します。
- アプリ内から独自のアプリ内メッセージを送信します。
セットアップ
チャネル設定の作成
まず、Journey Optimizerからアプリのメッセージ通知を送信できるように、チャネル設定を作成する必要があります。
-
Journey Optimizerのインターフェイスで、チャンネル/一般設定/チャンネル設定 メニューを開き、「チャンネル設定を作成」を選択します。
-
設定の名前と説明(オプション)を入力します。 例えば、
LumaInAppMessaging
とChannel for in-app messaging
です。note note NOTE 名前は、文字(A ~ Z)で始める必要があります。使用できるのは英数字のみです。アンダースコア( _
)、ドット(.
)、ハイフン(-
)も使用できます。 -
設定にカスタムまたはコアのデータ使用ラベルを割り当てるには、「アクセスを管理」を選択します。詳しくは、オブジェクトレベルのアクセス制御(OLAC)を参照してください。
-
アプリ内メッセージ チャネルを選択します。
-
マーケティングアクション を選択し、この設定を使用して同意ポリシーをメッセージに関連付けます。 マーケティングアクションに関連するすべての同意ポリシーは、顧客の環境設定に従って活用されます。 マーケティングアクションの詳細情報。 例:プッシュターゲティング。
-
設定を定義するプラットフォームを選択します。 この設定を使用すると、各プラットフォームに対してターゲットアプリを指定し、複数のプラットフォーム間で一貫したコンテンツ配信を確保できます。
note note NOTE iOS および Android プラットフォームの場合、配信はアプリ ID のみに基づきます。両方のアプリが同じアプリ ID を共有する場合、チャネル設定 で選択したプラットフォームに関係なく、コンテンツは両方に配信されます。 -
サポートするプラットフォームのアプリ ID を入力します。
-
「送信」を選択して変更を保存します。
データストリーム設定を更新
モバイルアプリから Experience Edgeにデータが転送されるようにするには、Edge NetworkJourney Optimizerの設定を更新する必要があります。
-
データ収集 UI で「データストリーム」を選択し、データストリームを選択します(例:Luma Mobile App)。
-
-
データストリーム/
-
データストリーム設定を保存するには、「保存」を選択します。
Journey Optimizer タグ拡張機能のインストール
アプリがJourney Optimizerと連携するには、タグプロパティを更新する必要があります。
- タグ/拡張機能/カタログ に移動します。
- プロパティを開きます(例:Luma Mobile App Tutorial)。
- カタログ を選択します。
- Adobe Journey Optimizer 拡張機能を検索します。
- 拡張機能をインストールします。
のみ アプリでアプリ内メッセージを使用する場合、拡張機能のインストール または 拡張機能の設定 では、何も設定する必要はありません。 このチュートリアルの プッシュ通知レッスンを既に完了している場合は、開発 環境で、AJO プッシュトラッキングエクスペリエンスイベントデータセット データセットが イベントデータセット リストから選択されていることがわかります。
アプリへのJourney Optimizerの実装
前のレッスンで説明したように、モバイルタグ拡張機能をインストールしても、設定のみが提供されます。 次に、Messaging SDKをインストールして登録します。 これらの手順が明確でない場合は、「SDK のインストール の節を参照しください。
-
Xcode で、AEP Messaging がパッケージの依存関係のパッケージの一覧に追加されていることを確認します。 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 ]
-
Android Studio で、aepsdk-messaging-android が Android ChevronDown >
-
Android Studio プロジェクトナビゲーターの Android
-
com.adobe.marketing.mobile.Messaging
が読み込みのリストに含まれていることを確認します。import import com.adobe.marketing.mobile.Messaging
-
Messaging.EXTENSION
が、登録している拡張機能の配列の一部であることを確認します。code language-kotlin val extensions = listOf( Identity.EXTENSION, Lifecycle.EXTENSION, Signal.EXTENSION, Edge.EXTENSION, Consent.EXTENSION, UserProfile.EXTENSION, Places.EXTENSION, Messaging.EXTENSION, Optimize.EXTENSION, Assurance.EXTENSION )
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 イベントハブは、Adobeやサードパーティソリューションとの統合を容易にするために、登録された拡張機能からイベントデータを公開および受け取ります。 例えば、最適化拡張機能がインストールされている場合、イベントハブは、すべてのリクエストとJourney Optimizer - Decision Management オファーエンジンとのやり取りを処理します。
-
Journey Optimizer UI の左パネルで「キャンペーン」をクリックします。
-
キャンペーンを作成 を選択します。
-
キャンペーンを作成 ダイアログで、「
-
Campaign - YYYY-MM-DD HHSS UTC+XX:XX 画面で、
-
「プロパティ」タブで、次のように設定します。
- キャンペーンの名前(例:
Luma Mobile In-App Campaign
)を入力します。 - オプションで、説明を追加します。
- キャンペーンの名前(例:
-
「アクション」タブを選択します。
-
「メッセージの条件を表示」の下で、「
-
アプリ内メッセージ設定 ドロップダウンメニューから、設定を選択します。 例えば、LumaInAppMessaging です。
-
「
-
アプリ内メッセージトリガー ダイアログで、次の手順を実行します。
-
アプリケーションのローンチ を選択し、ドロップダウンメニューから アクションを追跡 を選択します。
-
-
ドロップダウンメニューから アクション および 次に等しい を選択します。
-
in-app
と入力します。 -
-
ドロップダウンメニューから コンテキストデータ を選択し、
showMessage
と入力します。 -
ドロップダウンメニューから「次に等しい」を選択し、
true
と入力します。 -
「完了」を選択します。
-
-
-
メインのキャンペーン定義画面に戻り、「コンテンツ」タブを選択します。
-
詳細フォーマット を有効にします。
-
メッセージレイアウト として モーダル を選択します。 レイアウトを切り替え ダイアログで、レイアウトを変更 を選択します。
-
「コンテンツ」タブで、次の操作を行います。
https://luma.enablementadobe.com/content/dam/luma/en/logos/Luma_Logo.png
メディア URL の を入力します。- Header (例:
Welcome to this Luma In-App Message
)を入力し、Body (例:Triggered by pushing that button in the app...
)を入力します。
-
設定 タブを選択します。
- メッセージ の サイズをカスタマイズ を選択します。
- 「コンテンツに合わせる」を無効にします。
- 高さ を 75% に設定します。
-
-
-
「アクティブ化するレビュー」を選択します。 コンテンツ、プロパティ、アクション などの設定をオプションで編集するには、「
-
アクティブ化するレビュー(キャンペーン名) 画面で「アクティブ化」を選択します。
-
しばらくすると、キャンペーン名 とステータス ライブ が キャンペーン リストに表示されます。
アプリ内メッセージのトリガー
アプリ内メッセージを送信するための材料がすべて用意されています。 残っているのは、アプリにこのアプリ内メッセージをトリガーする方法です。
-
Xcode プロジェクトナビゲーターで Luma/Luma/Utils/MobileSDK に移動します。
func sendTrackAction(action: String, data: [String: Any]?)
関数を検索し、パラメーターMobileCore.track
およびに基づいてaction
data
関数を呼び出す次のコードを追加します。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"]) }
-
Android Studio ナビゲーターで Android
fun sendTrackAction(action: String, data: Map<String, String>?)
関数を検索し、パラメーターMobileCore.track
およびに基づいてaction
data
関数を呼び出す次のコードを追加します。code language-kotlin // Send trackAction event MobileCore.track(action, data)
-
Android Studio ナビゲーターで、Android
onInAppMessageClick
ハンドラーボタンのコードを検索し、次のコードを追加します。code language-kotlin // Setting parameters and calling function to send in-app message MobileSDK.shared.sendTrackAction( "in-app", mapOf("showMessage" to "true") )
アプリを使用した検証
アプリ内メッセージは、アプリ内から検証できます。
-
-
「設定」タブに移動します。
-
アプリ内メッセージ をタップします。 アプリ内メッセージがアプリに表示されます。
-
-
「設定」タブに移動します。
-
アプリ内メッセージ をタップします。 アプリ内メッセージがアプリに表示されます。
Assuranceでの実装の検証
Assurance UI でアプリ内メッセージを検証できます。
-
設定手順の節を参照して、シミュレーターまたはデバイスをAssuranceに接続します。
-
「アプリ内メッセージ」を選択します。
-
イベントリスト を選択します。
-
メッセージを表示 エントリを選択します。
-
生のイベント(特に、アプリ内メッセージの完全なレイアウトとコンテンツを含む
html
)を検査します。
次の手順
これで、関連する該当する場合は、アプリ内メッセージの追加を開始するためのすべてのツールが用意できました。 例えば、アプリで追跡している特定のインタラクションに基づいて製品をプロモーションする場合などです。
次のトピック:オファーの作成および表示