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 Mobile Services 功能。如需詳細資訊,請參閱 Adobe Analytics - Mobile Services 。如需如何將推送訊息及應用程式內訊息與 Experience Cloud SDK 搭配使用的詳細資訊,請參閱 設定推送傳訊 設定應用程式內傳訊
To use in-app messaging, you must have SDK version 4.2 or later.
您可以在Adobe Mobile Services中建立訊息和規則,以定義訊息的顯示時間。 For more information, see Create an in-app message . 若要顯示應用程式內訊息,必須對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 檔案包含應用程式內傳訊必需的設定。
    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” 
    }
    
    
    如果未設定此物件,請從 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);