アプリ内メッセージの作成と送信
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 messagingnote NOTE 名前は、文字(A ~ Z)で始める必要があります。 使用できるのは英数字のみです。 アンダースコア( _)、ドット(.)、ハイフン(-)も使用できます。 -
設定にカスタムまたはコアのデータ使用ラベルを割り当てるには、「アクセスを管理」を選択します。 詳しくは、オブジェクトレベルのアクセス制御(OLAC)を参照してください。
-
アプリ内メッセージ チャネルを選択します。
-
マーケティングアクションを選択して、この設定を使用して同意ポリシーをメッセージに関連付けます。 マーケティングアクションに関連するすべての同意ポリシーは、顧客の嗜好を尊重するために活用されます。 マーケティングアクションの詳細。 例:プッシュターゲティング。
-
設定を定義するプラットフォームを選択します。 この設定を使用すると、各プラットフォームのターゲットアプリを指定し、複数のプラットフォーム間で一貫性のあるコンテンツ配信を確保できます。
note NOTE iOS および Android プラットフォームの場合、配信はアプリ ID のみに基づきます。 両方のアプリが同じアプリ IDを共有する場合、チャネル設定で選択したプラットフォームに関係なく、コンテンツが両方に配信されます。 -
サポートするプラットフォームのアプリ IDを入力します。
{modal="regular"}
-
送信を選択して変更を保存します。
データストリーム設定の更新
モバイルアプリからEdge Networkへのデータ送信がJourney Optimizerに確実に転送されるようにするには、Experience Edge設定を更新します。
-
データ収集UIで、データストリームを選択し、データストリーム(例:Luma Mobile App)を選択します。
-
Experience Platformの
を選択し、コンテキストメニューから 編集を選択します。 -
データストリーム >
> Adobe Experience Platformの画面で、Adobe Journey Optimizerが選択されていることを確認します。 詳しくは、Adobe Experience Platform settingsを参照してください。 -
データストリーム設定を保存するには、保存を選択します。
{modal="regular"}
Journey Optimizer tags拡張機能のインストール
アプリがJourney Optimizerで動作するには、タグプロパティを更新する必要があります。
- タグ > 拡張機能 > カタログに移動します。
- プロパティ (例:Luma Mobile App Tutorial)を開きます。
- カタログを選択します。
- Adobe Journey Optimizer拡張機能を検索します。
- 拡張機能をインストールします。
アプリでアプリ内メッセージを使用している only の場合、拡張機能のインストールまたは 拡張機能の設定 では、何も設定する必要はありません。 チュートリアルの プッシュ通知 レッスンに既に従っている場合、開発環境では、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
> Gradle Scriptsの build.gradle.kts の依存関係の一部であることを確認します。 Gradleを参照してください。 -
Android Studio プロジェクトナビゲーターで、Android
app > kotlin+java > com.adobe.luma.tutorial.android > LumaApplicationに移動します。 -
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で、Configureを選択します。
{modal="regular"}
-
アプリ内メッセージの横にある
ボタンを選択します。 -
「保存」を選択します。
{modal="regular"}
-
左側のナビゲーションから「アプリ内メッセージ」を選択します。
-
「検証」タブを選択します。 エラーが発生していないことを確認します。
{modal="regular"}
独自のアプリ内メッセージの作成
独自のアプリ内メッセージを作成するには、発生したイベントに基づいてアプリ内メッセージをトリガーするキャンペーンをJourney Optimizerで定義する必要があります。 これらのイベントは次のとおりです。
- Adobe Experience Platformに送信されたデータ,
- モバイルコアの汎用APIを通じた、アクション、PII データの状態または収集などのコアトラッキングイベント,
- 起動、インストール、アップグレード、クローズ、クラッシュなどのアプリケーションライフサイクルイベント,
- 位置情報イベント:位置情報に関する情報の取得や終了など
このチュートリアルでは、モバイルコアの汎用APIと拡張機能に依存しないAPI ( モバイルコアの汎用APIを参照)を使用して、ユーザー画面、アクション、およびPII データのイベント追跡を容易にします。 これらのAPIによって生成されたイベントは、SDK イベントハブに公開され、拡張機能で使用できます。 SDK イベントハブは、すべてのMobile Platform SDK拡張機能に関連付けられたコアデータ構造を提供します。 イベントハブは、登録済みの拡張機能と内部モジュールのリスト、登録済みのイベントリスナーのリスト、共有状態データベースを保持します。
SDK event hubは、登録済みの拡張機能からイベントデータを受け取り、公開することで、Adobeやサードパーティソリューションとの統合を容易にします。 例えば、Optimize拡張機能がインストールされている場合、イベントハブは、Journey Optimizer - Decision Management オファーエンジンに対するすべてのリクエストとインタラクションを処理します。
-
Journey Optimizer UIで、左側のパネルから「キャンペーン」を選択します。
-
「キャンペーンを作成」を選択します。
-
キャンペーンを作成 ダイアログで、
スケジュール済み – マーケティングを選択し、確認を選択します。 -
キャンペーン - YYYY-MM-DD HHSS UTC+XX:XX画面:
-
「プロパティ」タブ:
- キャンペーンの名前(例:
Luma Mobile In-App Campaign)を入力します。 - 必要に応じて、説明を追加します。
- キャンペーンの名前(例:
-
「アクション」タブを選択します。
-
メッセージを表示する場合の下で、
アクションを追加を選択します。 ドロップダウンメニューから、アプリ内メッセージを選択します。 -
アプリ内メッセージ設定 ドロップダウンメニューから、設定を選択します。 例えば、LumaInAppMessagingとします。
-
「
トリガーを編集」を選択します。 -
アプリ内メッセージトリガー ダイアログで、次の操作を行います。
-
アプリケーション起動を選択し、ドロップダウンメニューから アクションを追跡 を選択します。
-
条件を追加を選択します。 -
ドロップダウンメニューから「アクション」と「次と等しい」を選択します。
-
in-appと入力します。 -
条件を追加を選択します。 -
ドロップダウンメニューから コンテキストデータ を選択し、
showMessageと入力します。 -
ドロップダウンメニューから「equals」を選択し、
trueと入力します。 {modal="regular"}
-
完了を選択します。
-
-
-
メインキャンペーン定義画面に戻り、「コンテンツ」タブを選択します。
-
詳細フォーマットを有効にします。
-
モーダルを メッセージングレイアウト として選択します。 レイアウトを切り替え ダイアログで、レイアウトを変更を選択します。
-
「コンテンツ」タブ。
- メディア URLに「
https://newluma.enablementadobe.com/images/logo.png」と入力します。 - ヘッダー (例:
Welcome to this Luma In-App Message)を入力し、本文 (例:Triggered by pushing that button in the app...)を入力します。
{modal="regular"}
- メディア URLに「
-
「設定」タブを選択します。
- メッセージで「サイズをカスタマイズ」を選択します。
- コンテンツに合わせるを無効にします。
- 高さを 75% に設定します。
{modal="regular"}
-
-
-
「レビュー」を選択してをアクティブ化します。 オプションで、コンテンツ、プロパティ、アクション以上の設定のいずれかを編集するには、
を選択します。 -
アクティブ化のレビュー(キャンペーン名)画面で、アクティブ化を選択します。
-
しばらくすると、キャンペーンのリストに、ステータスが ライブ の キャンペーン名 が表示されます。
{modal="regular"}
アプリ内メッセージをトリガー
アプリ内メッセージを送信するための材料がすべて揃っています。 残りは、このアプリ内メッセージをアプリでトリガーする方法です。
-
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"]) }
-
Android Studio ナビゲーターのAndroid
> app > kotlin+java > com.adobe.luma.tutorial.android > models > MobileSDKに移動します。fun sendTrackAction(action: String, data: Map<String, String>?)関数を見つけ、パラメーターactionとdataに基づいてMobileCore.track関数を呼び出す次のコードを追加します。code language-kotlin // Send trackAction event MobileCore.track(action, data) -
Android Studio ナビゲーターのAndroid
> app > kotlin+java > com.adobe.luma.tutorial.androi > views > ConfigView.ktに移動します。onInAppMessageClickハンドラーボタンのコードを検索し、次のコードを追加します。code language-kotlin // Setting parameters and calling function to send in-app message MobileSDK.shared.sendTrackAction( "in-app", mapOf("showMessage" to "true") )
アプリを使用して検証
アプリ内メッセージは、アプリ自体から検証できます。
-
を使用して、シミュレーターまたはXcodeの物理デバイスでアプリを再構築して実行します。 -
「設定」タブに移動します。
-
「アプリ内メッセージ」をタップします。 アプリにアプリ内メッセージが表示されます。
{width="300"}
-
を使用して、シミュレーターまたはAndroid Studioの物理デバイスでアプリを再構築して実行します。 -
「設定」タブに移動します。
-
「アプリ内メッセージ」をタップします。 アプリにアプリ内メッセージが表示されます。
{width="300"}
Assuranceでの実装の検証
Assurance UIでアプリ内メッセージを検証できます。
- シミュレーターまたはデバイスをAssuranceに接続するには、設定の手順 セクションを確認してください。
- アプリ内メッセージを選択します。
- イベントリストを選択します。
- 表示メッセージ エントリを選択します。
- 生のイベント、特にアプリ内メッセージの完全なレイアウトとコンテンツを含む
htmlを調べます。
{modal="regular"}
次の手順
該当する場合と該当する場合に、アプリ内メッセージの追加を開始するためのすべてのツールが必要になります。 たとえば、アプリで追跡している特定のインタラクションにもとづいて商品をプロモーションします。