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

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

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

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

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

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

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

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

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

モバイルアプリからEdge Networkへのデータ送信がJourney Optimizerに確実に転送されるようにするには、Experience Edge設定を更新します。

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

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

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

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

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

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

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

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

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

アプリでのJourney Optimizerの実装

前のレッスンで説明したように、モバイルタグ拡張機能をインストールすると、設定のみが提供されます。 次に、Messaging SDKをインストールして登録する必要があります。 これらの手順が明確でない場合は、SDKのインストール ​ セクションを確認してください。

NOTE
Install SDKs セクションを完了した場合、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-androidが​Android 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で、Configure​を選択します。
    ​ クリックの設定 {modal="regular"}

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

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

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

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

    ​ アプリ内検証 {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 オファーエンジンに対するすべてのリクエストとインタラクションを処理します。

  1. Journey Optimizer UIで、左側のパネルから「キャンペーン」を選択します。

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

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

  4. キャンペーン - 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. ドロップダウンメニューから「equals」を選択し、trueと入力します。

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

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

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

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

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

      3. コンテンツ」タブ。

        1. メディア URL​に「https://newluma.enablementadobe.com/images/logo.png」と入力します。
        2. ヘッダー (例:Welcome to this Luma In-App Message)を入力し、本文 (例: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]?)関数を見つけ、パラメーターactiondataに基づいてMobileCore.track関数を呼び出す次のコードを追加します。

    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>?)関数を見つけ、パラメーターactiondataに基づいてMobileCore.track関数を呼び出す次のコードを追加します。

    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. Play を使用して、シミュレーターまたはXcodeの物理デバイスでアプリを再構築して実行します。

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

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

    {width="300"}

Android
  1. Play を使用して、シミュレーターまたは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 コミュニティのディスカッション投稿で共有してください。

次:意思決定管理を使用したオファーの作成と表示

recommendation-more-help
platform-learn-help-tutorial-mobile-sdk