您可以发送从任何 Analytics 数据或事件触发的应用程序内消息。实施后,消息将动态传送到应用程序,无需代码更新。
正在寻找与 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 进行更新。即使尚未定义任何消息,您也可以完成这些步骤。在定义消息后,这些消息将被动态发送到您的应用程序,并且无需应用商店更新即可显示出来。
将库添加到您的项目并实施生命周期。
有关更多信息,请参阅核心实施和生命周期中的“将 SDK 和配置文件添加到您的 IntelliJ IDEA 或 Eclipse 项目”**。
更新 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" />
导入库:
import com.adobe.mobile.*;
在每个 collectLifecycleData
调用中,传递 this
以提供对当前活动的引用:
@Override
public void onResume() {
Config.collectLifecycleData(this);
}
确认 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
文件。有关更多信息,请参阅开始之前。
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);