Show Menu
トピック×

アプリ内メッセージ

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

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 はアプリケーションの assets フォルダーから同じ名前の画像をロードしようとします。これにより、ユーザーがオフライン状態の場合や、事前設定された画像に到達できない場合でも、元の形式でメッセージを表示することができます。
フォールバック画像アセット名は、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);