应用程序内消息传送

您可以发送从任何 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); 
      

在此页面上

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free