应用程序内消息传送

您可以发送从任何 Analytics 数据或事件触发的应用程序内消息。实施后,消息将动态传送到应用程序,无需代码更新。

新的 Adobe Experience Cloud SDK 版本

正在寻找与 Adobe Experience Platform Mobile SDK 相关的信息和文档?请单击此处获取我们的最新文档。

重要

在 2018 年 9 月,我们发布了一个新的 SDK 主要版本。这些新的 Adobe Experience Platform Mobile SDK 可通过 Experience Platform Launch 进行配置。

重要

如果您要在 Adobe Launch 中使用 Adobe Experience Platform Mobile SDK,则还​必须​安装 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 文件。有关更多信息,请参阅开始之前

跟踪应用程序内消息

Adobe 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); 
      

On this page

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now