アプリ内メッセージ

解析データやイベントからトリガーされるアプリ内メッセージを配信できます。実装後、メッセージはアプリへと動的に配信され、コードを更新する必要はありません。

新しい Adobe Experience Cloud SDK リリース

Adobe Experience Platform Mobile SDK に関する情報やドキュメントをお探しの場合こちらをクリックし、最新のドキュメントを参照してください。

重要

2018 年 9 月に、SDK の新しいメジャーバージョンをリリースしました。これらの新しい Adobe Experience Platform Mobile SDK は、Experience Platform Launch から設定できます。

重要

Adobe Experience Platform Mobile SDK を Adobe Launch で使用している場合、アプリ内メッセージおよびプッシュ通知などの機能を使用するには、Adobe Analytics Mobile Services 拡張機能もインストールする​必要があります。詳しくは、「Adobe Analytics - Mobile Services」を参照してください。Experience Cloud SDK でのプッシュメッセージおよびアプリ内メッセージの使用について詳しくは、「プッシュメッセージの設定」および「アプリ内メッセージの設定」を参照してください。

重要

アプリ内メッセージを使用するには、SDK バージョン 4.2 以降が​必要​です。

メッセージ自体と、Adobe Mobile Services でメッセージを表示するタイミングを定義するルールを作成できます。詳しくは、「アプリ内メッセージの作成」を参照してください。アプリ内メッセージを表示するには、SDK を更新する必要があります。メッセージをまだ定義していない場合でも、これらの手順を実行できます。定義したメッセージは、アプリへと動的に配信され、アプリストアを更新しなくても表示されます。

アプリ内メッセージの有効化

  1. ライブラリをプロジェクトに追加し、ライフサイクルを実装します。

    詳しくは、コア実装とライフサイクルの「IntelliJ IDEA または Eclipse プロジェクトへの SDK と設定ファイルの追加」を参照してください。

  2. AndroidManifest.xml ファイルを更新して、フルスクリーンアクティビティを宣言し、メッセージ通知ハンドラーを有効にします。

    <activity
    android:name="com.adobe.mobile.MessageFullScreenActivity"
    android:theme="@android:style/Theme.Translucent.NoTitleBar" />
    <receiver android:name="com.adobe.mobile.MessageNotificationHandler" />
    

    モーダルレイアウトを選択した場合は、メッセージに対して次のいずれかのテーマを選択します。

    • Theme.Translucent.NoTitleBar.Fullscreen
    • Theme.Translucent.NoTitleBar
    • Theme.Translucent

    以下に例を示します。

    <activity
    android:name="com.adobe.mobile.MessageFullScreenActivity"
    android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
    android:windowSoftInputMode="adjustUnspecified|stateHidden" />
    <receiver android:name="com.adobe.mobile.MessageNotificationHandler" />
    
  3. ライブラリをインポートします。

    import com.adobe.mobile.*;
    
  4. それぞれの collectLifecycleData 呼び出しで、this を渡して現在のアクティビティへの参照を指定します。

    @Override
    public void onResume() {
        Config.collectLifecycleData(this);
    }
    
  5. アプリ内メッセージに必要な設定が ADBMobileConfig.json ファイルに含まれていることを確認します。

    重要

    messages または remotes が必要です。

    起動時にアプリ内メッセージを動的に更新するには、remotes オブジェクトが存在し、正しく設定されている必要があります。

    "messages": [
        {
            "messageId": "de45c43c-37bf-441f-8cbd-cc3ba3469ebe",
            "template": "fullscreen",
            "showOffline": false,
            "showRule": "always",
            "endDate": 2524730400,
            "startDate": 0,
            "audiences": [],
            "triggers": [],
            "payload": { // contents change depending on template
                "html": "<html>html code goes here</html>"
            },
        },
        …
    ]
    "remotes" : {
        "analytics.poi": "https://assets.adobedtm.com/…/yourfile.json",
        "messages": "https://assets.adobedtm.com/…/yourfile.json"
    }
    

    このオブジェクトが設定されていない場合は、更新された ADBMobileConfig.json ファイルを Adobe Mobile Services からダウンロードしてください。詳しくは、「事前準備」を参照してください。

アプリ内メッセージのトラッキング

Android Mobile SDK は、アプリ内メッセージに関する以下の指標を追跡します。

  • アプリ内メッセージの全画面およびアラートスタイルの場合:

    • インプレッション:ユーザーがアプリ内メッセージをトリガーしたとき。
    • クリックスルー:ユーザーが​クリックスルー​ボタンを押したとき。
    • キャンセル:ユーザーが​キャンセル​を押したとき。
  • カスタムの全画面アプリ内メッセージの場合は、メッセージ内の HTML コンテンツに次のボタンに関する SDK 追跡を通知する正しいコードが含まれている必要があります。

    • クリックスルー(リダイレクト)のトラッキング例:

      adbinapp://confirm/?url=https://www.yoursite.com

    • キャンセル(終了)追跡の例:

      adbinapp://cancel

ローカルフォールバック画像

全画面メッセージを作成する際には、必要に応じてフォールバック画像を指定できます。メッセージが Web から目的の画像を取得できない場合、SDK は、アプリケーションのアセットフォルダーをから同じ名前の画像を読み込もうとします。これにより、ユーザーがオフラインの場合や、事前に定義されている画像にアクセスできない場合でも、メッセージを元の形式で表示できます。

重要

フォールバック画像アセット名は、Adobe Mobile Services でメッセージを設定するときに指定されます。指定されたリソースが使用可能であることを確認する必要があります。

通知アイコンの設定

次のメソッドを使用すると、通知領域に表示される小さいアイコンと大きいアイコンのほか、通知ドロワーに通知が表示されたときに表示される大きいアイコンを設定できます。

  • Config.setSmallIconResourceId(int resourceId)

    SDK で作成される通知で使用する小アイコンを設定します。このアイコンはステータスバーに表示され、ユーザーが通知センターで完全な通知を表示する際に表示されるセカンダリ画像です。

    • このメソッドの構文を次に示します。

      public static void setSmallIconResourceId(final int resourceId);
      
    • このメソッドのコードサンプルを次に示します。

      Config.setSmallIconResourceId(R.drawable.appIcon);
      
  • Config.setLargeIconResourceId(int resourceId)

    SDK で作成される通知に使用される大きいアイコンを設定します。このアイコンは、ユーザーが通知センターで完全な通知を表示する際に表示されるプライマリ画像です。

    • このメソッドの構文を次に示します。

      public static void setLargeIconResourceId(final int resourceId);
      
    • このメソッドのコードサンプルを次に示します。

      Config.setLargeIconResourceId(R.drawable.appIcon);
      

このページ