アプリ内メッセージの作成と送信

Experience Platform Mobile SDKとJourney Optimizerを使用して、モバイルアプリ用のアプリ内メッセージを作成する方法を説明します。

Journey Optimizerでは、ターゲットオーディエンスにアプリ内メッセージを送信するキャンペーンを作成できます。 Journey Optimizerのキャンペーンは、様々なチャネルを使用して、特定のオーディエンスに 1 回限りのコンテンツを配信するために使用します。 キャンペーンでは、アクションは指定したスケジュールに基づいて同時にまたは即時に実行されます。 ジャーニーを使用すると(Journey Optimizerのプッシュ通知レッスンを参照)、アクションが順番に実行されます。

アーキテクチャ {modal="regular"}

Journey Optimizerでアプリ内メッセージを送信する前に、適切な設定と統合が行われていることを確認する必要があります。 Journey Optimizerのアプリ内メッセージデータフローについては、 ドキュメントを参照してください。

NOTE
このレッスンはオプションで、アプリ内メッセージの送信を検討しているJourney Optimizer ユーザーにのみ適用されます。

前提条件

  • SDK がインストールおよび設定された状態で、アプリケーションが正常に構築および実行されました。
  • Adobe Experience Platform用にアプリを設定します。
  • Journey Optimizerへのアクセスおよび プッシュ通知に対する十分な権限。 また、次のJourney Optimizer機能に対する十分な権限も必要です。
    • キャンペーンの管理。
  • テスト用の物理的なiOSデバイスまたはシミュレーター。

学習目標

このレッスンでは、次の操作を行います

  • Journey Optimizerでチャネル設定を作成します。
  • Journey Optimizer タグ拡張機能をインストールして設定します。
  • アプリを更新して、Journey Optimizer タグ拡張機能を登録します。
  • Assuranceの設定を検証します。
  • Journey Optimizerで独自のキャンペーンおよびアプリ内メッセージエクスペリエンスを定義します。
  • アプリ内から独自のアプリ内メッセージを送信します。

セットアップ

TIP
Journey Optimizer プッシュメッセージレッスンの一部として既に環境を設定している場合は、この設定の節の手順のいくつかが既に実行されている可能性があります。

チャネル設定の作成

まず、Journey Optimizerからアプリのメッセージ通知を送信できるように、チャネル設定を作成する必要があります。

  1. Journey Optimizerのインターフェイスで、チャンネル/一般設定/チャンネル設定 メニューを開き、「チャンネル設定を作成」を選択します。

  2. 設定の名前と説明(オプション)を入力します。 例えば、LumaInAppMessagingChannel for in-app messaging です。

    note note
    NOTE
    名前は、文字(A ~ Z)で始める必要があります。使用できるのは英数字のみです。アンダースコア(_)、ドット(.)、ハイフン(-)も使用できます。
  3. 設定にカスタムまたはコアのデータ使用ラベルを割り当てるには、「アクセスを管理」を選択します。詳しくは、オブジェクトレベルのアクセス制御(OLAC)を参照してください

  4. アプリ内メッセージ チャネルを選択します。

  5. マーケティングアクション を選択し、この設定を使用して同意ポリシーをメッセージに関連付けます。 マーケティングアクションに関連するすべての同意ポリシーは、顧客の環境設定に従って活用されます。 マーケティングアクションの詳細情報。 例:プッシュターゲティング。

  6. 設定を定義するプラットフォームを選択します。 この設定を使用すると、各プラットフォームに対してターゲットアプリを指定し、複数のプラットフォーム間で一貫したコンテンツ配信を確保できます。

    note note
    NOTE
    iOS および Android プラットフォームの場合、配信はアプリ ID のみに基づきます。両方のアプリが同じアプリ ID を共有する場合、チャネル設定 で選択したプラットフォームに関係なく、コンテンツは両方に配信されます。
  7. サポートするプラットフォームのアプリ ID を入力します。

    チャネル設定の作成 {modal="regular"}

  8. 送信」を選択して変更を保存します。

データストリーム設定を更新

モバイルアプリから Experience Edgeにデータが転送されるようにするには、Edge NetworkJourney Optimizerの設定を更新する必要があります。

  1. データ収集 UI で「データストリーム」を選択し、データストリームを選択します(例:Luma Mobile App)。

  2. 2Experience Platform の「詳細 」を選択し、コンテキストメニューから 編集 編集 を選択します。

  3. データストリーム/ フォルダー /Adobe Experience Platform 画面で、「Adobe Journey Optimizer」が選択されていることを確認します。 詳しくは、Adobe Experience Platform 設定を参照してください。

  4. データストリーム設定を保存するには、「保存」を選択します。

    AEP データストリーム設定 {modal="regular"}

Journey Optimizer タグ拡張機能のインストール

アプリがJourney Optimizerと連携するには、タグプロパティを更新する必要があります。

  1. タグ/拡張機能/カタログ に移動します。
  2. プロパティを開きます(例:Luma Mobile App Tutorial)。
  3. カタログ を選択します。
  4. Adobe Journey Optimizer 拡張機能を検索します。
  5. 拡張機能をインストールします。

のみ アプリでアプリ内メッセージを使用する場合、拡張機能のインストール または 拡張機能の設定 では、何も設定する必要はありません。 このチュートリアルの プッシュ通知レッスンを既に完了している場合は、開発 環境で、AJO プッシュトラッキングエクスペリエンスイベントデータセット データセットが イベントデータセット リストから選択されていることがわかります。

アプリへのJourney Optimizerの実装

前のレッスンで説明したように、モバイルタグ拡張機能をインストールしても、設定のみが提供されます。 次に、Messaging SDKをインストールして登録します。 これらの手順が明確でない場合は、「SDK のインストール の節を参照しください。

NOTE
SDK のインストールの節を完了した場合、SDKは既にインストールされているので、この手順をスキップできます。
iOS
  1. Xcode で、AEP Messaging がパッケージの依存関係のパッケージの一覧に追加されていることを確認します。 Swift パッケージマネージャーを参照してください。

  2. Xcode プロジェクトナビゲーターで Luma/Luma/AppDelegate に移動します。

  3. AEPMessaging が読み込みのリストに含まれていることを確認します。

    import AEPMessaging

  4. 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
  1. Android Studio で、aepsdk-messaging-androidAndroid ChevronDown > Gradle Scripts build.gradle.kts の依存関係に含まれていることを確認します。 Gradle を参照。

  2. Android Studio プロジェクトナビゲーターの Android ChevronDown app > kotlin+java > com.adobe.luma.tutorial.android > LumaApplication に移動します。

  3. com.adobe.marketing.mobile.Messaging が読み込みのリストに含まれていることを確認します。

    import import com.adobe.marketing.mobile.Messaging

  4. 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での設定の検証

  1. 設定手順の節を参照して、シミュレーターまたはデバイスをAssuranceに接続します。

  2. Assurance UI で、「設定」を選択します。
    設定クリック {modal="regular"}

  3. アプリ内メッセージ の横にある「プラス」ボタンを選択します。

  4. 保存」を選択します。
    保存 {modal="regular"}

  5. 左側のナビゲーションから アプリ内メッセージ を選択します。

  6. 検証」タブを選択します。 エラーがないことを確認します。

    アプリ内検証 {modal="regular"}

独自のアプリ内メッセージの作成

独自のアプリ内メッセージを作成するには、発生したイベントに基づいてアプリ内メッセージをトリガーにするキャンペーンを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 オファーエンジンとのやり取りを処理します。

  1. Journey Optimizer UI の左パネルで「キャンペーン」をクリックします。

  2. キャンペーンを作成 を選択します。

  3. キャンペーンを作成 ダイアログで、「 時計 スケジュール済み – マーケティング」を選択し、「確認」を選択します。

  4. Campaign - YYYY-MM-DD HHSS UTC+XX:XX ​画面で、

    1. プロパティ」タブで、次のように設定します。

      1. キャンペーンの名前(例:Luma Mobile In-App Campaign)を入力します。
      2. オプションで、説明を追加します。
    2. アクション」タブを選択します。

      1. メッセージの条件を表示」の下で、「 追加 アクションを追加」を選択します。 ドロップダウンメニューから、「アプリ内メッセージ」を選択します。

      2. アプリ内メッセージ設定 ドロップダウンメニューから、設定を選択します。 例えば、LumaInAppMessaging です。

      3. 編集 トリガーを編集」を選択します。

      4. アプリ内メッセージトリガー ダイアログで、次の手順を実行します。

        1. アプリケーションのローンチ を選択し、ドロップダウンメニューから アクションを追跡 を選択します。

        2. AddCircle 条件の追加 を選択します。

        3. ドロップダウンメニューから アクション および 次に等しい を選択します。

        4. in-app と入力します。

        5. AddCircle 条件の追加 を選択します。

        6. ドロップダウンメニューから コンテキストデータ を選択し、showMessage と入力します。

        7. ドロップダウンメニューから「次に等しい」を選択し、true と入力します。

          トリガーの編集 {modal="regular"}

        8. 完了」を選択します。

    3. メインのキャンペーン定義画面に戻り、「コンテンツ」タブを選択します。

      1. 詳細フォーマット を有効にします。

      2. メッセージレイアウト として モーダル を選択します。 レイアウトを切り替え ダイアログで、レイアウトを変更 を選択します。

      3. コンテンツ」タブで、次の操作を行います。

        1. https://luma.enablementadobe.com/content/dam/luma/en/logos/Luma_Logo.png メディア URL を入力します。
        2. Header (例:Welcome to this Luma In-App Message)を入力し、Body (例:Triggered by pushing that button in the app...)を入力します。

        アプリ内メッセージコンテンツ {modal="regular"}

      4. 設定 タブを選択します。

        1. メッセージサイズをカスタマイズ を選択します。
        2. コンテンツに合わせる」を無効にします。
        3. 高さ75% に設定します。

        アプリ内メッセージの設定 {modal="regular"}

  5. アクティブ化するレビュー」を選択します。 コンテンツプロパティアクション などの設定をオプションで編集するには、「 編集 」を選択します。

  6. アクティブ化するレビュー(キャンペーン名 画面で「アクティブ化」を選択します。

  7. しばらくすると、キャンペーン名 とステータス ライブキャンペーン リストに表示されます。
    キャンペーンリスト {modal="regular"}

アプリ内メッセージのトリガー

アプリ内メッセージを送信するための材料がすべて用意されています。 残っているのは、アプリにこのアプリ内メッセージをトリガーする方法です。

iOS
  1. 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)
    
  2. 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
  1. Android Studio ナビゲーターで Android ChevronDown /app/kotlin+java/com.adobe.luma.tutorial.android/models/MobileSDK に移動します。 fun sendTrackAction(action: String, data: Map<String, String>?) 関数を検索し、パラメーター MobileCore.track およびに基づいて action data 関数を呼び出す次のコードを追加します。

    code language-kotlin
    // Send trackAction event
    MobileCore.track(action, data)
    
  2. Android Studio ナビゲーターで、Android ChevronDown /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")
    )
    

アプリを使用した検証

アプリ内メッセージは、アプリ内から検証できます。

iOS
  1. 再生 を使用して、シミュレータまたは Xcode の物理デバイスでアプリを再構築して実行します。

  2. 設定」タブに移動します。

  3. アプリ内メッセージ をタップします。 アプリ内メッセージがアプリに表示されます。

    {width="300"}

Android
  1. 再生 を使用して、シミュレーターまたはAndroid Studio の物理デバイスでアプリを再構築して実行します。

  2. 設定」タブに移動します。

  3. アプリ内メッセージ をタップします。 アプリ内メッセージがアプリに表示されます。

    {width="300"}

Assuranceでの実装の検証

Assurance UI でアプリ内メッセージを検証できます。

  1. 設定手順の節を参照して、シミュレーターまたはデバイスをAssuranceに接続します。

  2. アプリ内メッセージ」を選択します。

  3. イベントリスト を選択します。

  4. メッセージを表示 エントリを選択します。

  5. 生のイベント(特に、アプリ内メッセージの完全なレイアウトとコンテンツを含む html)を検査します。

    Assuranceのアプリ内メッセージ {modal="regular"}

次の手順

これで、関連する該当する場合は、アプリ内メッセージの追加を開始するためのすべてのツールが用意できました。 例えば、アプリで追跡している特定のインタラクションに基づいて製品をプロモーションする場合などです。

SUCCESS
アプリ内メッセージ用にアプリを有効にし、Journey Optimizerと、Experience Platform Mobile SDK用のJourney Optimizer拡張機能を使用して、アプリ内メッセージキャンペーンを追加しました。
Adobe Experience Platform Mobile SDKの学習にご協力いただき、ありがとうございます。 ご不明な点がある場合や、一般的なフィードバックをお寄せになる場合、または今後のコンテンツに関するご提案がある場合は、この Experience League Community Discussion の投稿でお知らせください。

次のトピック:オファーの作成および表示

recommendation-more-help
9fed61f5-c338-47ad-8005-0b89a5f4af8b