應用程式內傳訊

您可以傳遞因任何分析資料或事件觸發的應用程式內訊息。實施後,訊息會動態傳遞至應用程式,不須更新程式碼。

新版 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 Mobile Services 功能。如需詳細資訊,請參閱 Adobe Analytics - Mobile Services。如需如何將推送訊息及應用程式內訊息與 Experience Cloud SDK 搭配使用的詳細資訊,請參閱設定推送傳訊設定應用程式內傳訊

重要

若要使用應用程式內傳訊,您​必須​有 SDK 4.2 版或更新版本。

您可以建立訊息,以及定義訊息顯示時間的 Adobe Mobile Services 規則。如需詳細資訊,請參閱建立應用程式內訊息。若要顯示應用程式內訊息,必須更新 SDK。即使您尚未定義任何訊息,也可以完成這些步驟。在您定義訊息後,訊息會動態傳遞至您的應用程式,且顯示時不含應用程式商店更新。

啟用應用程式內傳訊

  1. 新增資料庫至您的專案與實施生命週期。

    如需詳細資訊,請參閱核心實施與生命週期中的​新增 SDK 和設定檔案至您的 IntelliJ IDEA 或 Eclipse 專案

  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 檔案包含應用程式內傳訊必需的設定。

    重要

    messagesremotes 為必要項目。

    若要在啟動時動態更新應用程式內訊息,必須有 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” 
    }
    

    如果未設定此物件,請從 Adobe Mobile Services 下載更新的 ADBMobileConfig.json 檔案。如需詳細資訊,請參閱開始之前

追蹤應用程式內訊息

Android Mobile SDK 會追蹤您應用程式內訊息的下列量度:

  • 全螢幕和警報式應用程式內訊息:

    • 曝光次數:使用者觸發應用程式內訊息時。
    • 點進次數: 使用者按下​點進​時。
    • 取消: 使用者按下​取消​時。
  • 如果是自訂的全螢幕應用程式內訊息,訊息中的 HTML 內容必須包含正確的程式碼,才能通知 SDK 追蹤以下的按鈕:

    • 點進 (重新導向) 追蹤範例:

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

    • 取消 (關閉) 追蹤範例:

      adbinapp://cancel

本機後援影像

建立全螢幕訊息時,您可以選擇指定後援影像。如果您的訊息無法從網路擷取預定影像,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); 
      

本頁內容