创建和发送应用程序内消息
了解如何使用Experience Platform Mobile SDK和Journey Optimizer为移动应用程序创建应用程序内消息。
Journey Optimizer允许您创建营销活动,以将应用程序内消息发送给目标受众。 Journey Optimizer中的营销活动用于通过各种渠道向特定受众投放一次性内容。 借助营销策划,可同时执行各种操作,可以立即执行,也可以根据指定的计划执行。 使用历程时(请参阅Journey Optimizer推送通知课程),操作将按顺序执行。
在使用Journey Optimizer发送应用程序内消息之前,必须确保进行适当的配置和集成。 要了解Journey Optimizer中的应用程序内消息传送数据流,请参阅文档。
先决条件
- 在安装和配置SDK的情况下成功构建和运行应用程序。
- 为Adobe Experience Platform设置应用程序。
- 访问Journey Optimizer和推送通知的足够权限。 此外,您需要具有足够的权限才能使用以下Journey Optimizer功能。
- 管理营销活动。
- 用于测试的物理iOS设备或模拟器。
学习目标
在本课程中,您将执行以下操作
- 在Journey Optimizer中创建渠道配置。
- 安装和配置Journey Optimizer标记扩展。
- 更新您的应用程序以注册Journey Optimizer标记扩展。
- 验证Assurance中的设置。
- 在Journey Optimizer中定义您自己的营销活动和应用程序内消息体验。
- 在应用程序中发送您自己的应用程序内消息。
设置
创建渠道配置
要开始,您必须创建渠道配置,以便能够从Journey Optimizer发送应用程序消息通知。
-
在Journey Optimizer界面中,打开 渠道 > 常规设置 > 渠道配置 菜单,然后选择 创建渠道配置。
-
输入配置的名称和说明(可选)。 例如,
LumaInAppMessaging
和Channel for in-app messaging
。note note NOTE 名称必须以字母(A-Z)开头。 它只能包含字母数字字符。 您还可以使用下划线 _
、点.
和连字符-
符号。 -
要为配置分配自定义或核心数据使用标签,您可以选择 管理访问权限。 了解有关对象级访问控制(OLAC)的更多信息。
-
选择 应用程序内消息传送 渠道。
-
选择 营销操作 以使用此配置将同意策略与消息关联。 所有与营销活动相关的同意政策都可以用来尊重客户的偏好。 了解有关营销操作的更多信息。 例如:推送定位。
-
选择要为其定义设置的平台。 通过此设置,您可以为每个平台指定目标应用程序,并确保跨多个平台的一致内容交付。
note note NOTE 对于iOS和Android平台,交付仅基于应用程序ID。 如果两个应用共享相同的应用程序ID,则无论在 渠道配置 中选择了什么平台,都会将内容交付给两者。 -
输入要支持的平台的应用程序ID。
-
选择 提交 以保存更改。
更新数据流配置
要确保将从您的移动应用程序发送到Edge Network的数据转发到Journey Optimizer,请更新您的Experience Edge配置。
-
在数据收集UI中,选择 数据流,然后选择您的数据流,例如 Luma Mobile App。
-
为
-
在 数据流 >
-
要保存数据流配置,请选择 保存。
安装Journey Optimizer标记扩展
要使您的应用程序能够与Journey Optimizer配合使用,必须更新标记属性。
- 导航到 标记 > 扩展 > 目录。
- 打开您的属性,例如 Luma Mobile App Tutorial。
- 选择 目录。
- 搜索 Adobe Journey Optimizer 扩展。
- 安装扩展。
当 仅 在您的应用程序中使用应用程序内消息时,在 安装扩展 或 配置扩展 中,您无需配置任何内容。 如果您已按照本教程中的推送通知课程进行操作,则会发现对于 开发 环境,已从 事件数据集 列表中选择 AJO推送跟踪体验事件数据集 数据集。
在应用程序中实施Journey Optimizer
如前面的课程中所述,安装移动标记扩展仅提供配置。 接下来,您必须安装并注册消息传送SDK。 如果未清除这些步骤,请查看安装SDK部分。
-
在Xcode项目导航器中导航到 Luma > Luma > AppDelegate。
-
确保
AEPMessaging
是导入列表的一部分。import AEPMessaging
-
请确保
Messaging.self
是正在注册的扩展数组的一部分。code language-swift let extensions = [ AEPIdentity.Identity.self, Lifecycle.self, Signal.self, Edge.self, AEPEdgeIdentity.Identity.self, Consent.self, UserProfile.self, Places.self, Messaging.self, Optimize.self, Assurance.self ]
-
在Android Studio中,确保aepsdk-messaging-android是 Android ChevronDown >
-
在Android Studio项目导航器中导航到 Android
-
确保
com.adobe.marketing.mobile.Messaging
是导入列表的一部分。import import com.adobe.marketing.mobile.Messaging
-
请确保
Messaging.EXTENSION
是正在注册的扩展数组的一部分。code language-kotlin val extensions = listOf( Identity.EXTENSION, Lifecycle.EXTENSION, Signal.EXTENSION, Edge.EXTENSION, Consent.EXTENSION, UserProfile.EXTENSION, Places.EXTENSION, Messaging.EXTENSION, Optimize.EXTENSION, Assurance.EXTENSION )
使用Assurance验证设置
-
查看设置说明部分以将模拟器或设备连接到Assurance。
-
在Assurance用户界面中,选择 配置。
-
选择
-
选择 保存。
-
从左侧导航中选择 应用程序内消息传送。
-
选择 验证 选项卡。 确认您没有收到任何错误。
创建您自己的应用程序内消息
要创建您自己的应用程序内消息,您必须在Journey Optimizer中定义一个促销活动,以根据发生的事件触发应用程序内消息。 这些事件可以是:
- 数据发送到Adobe Experience Platform,
- 通过Mobile Core通用API的核心跟踪事件(如操作)或PII数据的状态或集合,
- 应用程序生命周期事件,例如启动、安装、升级、关闭或崩溃,
- 地理位置事件,例如进入或退出目标点。
在本教程中,您将使用Mobile Core通用API和与扩展无关的API(请参阅Mobile Core通用API)来促进对用户屏幕、操作和PII数据的事件跟踪。 这些API生成的事件将发布到SDK事件中心,可供扩展使用。 SDK事件中心提供了与所有Mobile Platform SDK扩展绑定的核心数据结构。 事件中心维护已注册的扩展和内部模块的列表、已注册的事件侦听器的列表以及共享状态数据库。
SDK事件中心发布和接收来自已注册的扩展的事件数据,以简化与Adobe和第三方解决方案的集成。 例如,安装优化扩展后,事件中心会通过Journey Optimizer — 决策管理选件引擎处理所有请求和交互。
-
在Journey Optimizer UI中,从左边栏中选择 促销活动。
-
选择 创建营销活动。
-
在 创建营销活动 对话框中,选择
-
在 Campaign - YYYY-MM-DD HHSS UTC+XX:XX 屏幕中:
-
在 属性 选项卡中:
- 输入促销活动的名称,例如,
Luma Mobile In-App Campaign
。 - (可选)添加描述。
- 输入促销活动的名称,例如,
-
选择 操作 选项卡。
-
在 显示消息if 下,选择
-
从 应用程序内消息配置 下拉菜单中,选择您的配置。 例如,LumaInAppMessaging。
-
选择
-
在 应用程序内消息触发器 对话框中:
-
选择 应用程序启动项,然后从下拉菜单中选择 跟踪操作。
-
选择
-
从下拉菜单中选择 操作 和 等于。
-
输入
in-app
。 -
选择
-
从下拉菜单中选择 上下文数据,然后输入
showMessage
。 -
从下拉菜单中选择 equals,然后输入
true
。 -
选择 完成。
-
-
-
返回主营销活动定义屏幕,选择 Content 选项卡。
-
启用 高级格式化。
-
选择 模式 作为 消息传递布局。 在 切换布局 对话框中,选择 更改布局。
-
在 Content 选项卡中。
- 为
https://luma.enablementadobe.com/content/dam/luma/en/logos/Luma_Logo.png
媒体URL 输入。 - 输入 标头,例如
Welcome to this Luma In-App Message
,并输入 正文,例如Triggered by pushing that button in the app...
。
- 为
-
选择 设置 选项卡。
- 在 消息 中选择 自定义大小。
- 禁用 适合内容。
- 将 高度 设置为 75%。
-
-
-
选择 查看以激活。 要选择性地编辑 Content、Properties、Actions 或更高版本的任何配置,请选择
-
在 查看以激活(促销活动名称) 屏幕中,选择 激活。
-
一段时间后,您会在 营销活动 列表中看到状态为 实时 的 营销活动名称。
触发应用程序内消息
您已具备发送应用程序内消息的所有条件。 剩下的是如何在应用程序中触发此应用程序内消息的。
-
在Xcode项目导航器中,转到 Luma > Luma > Utils > MobileSDK。 查找
func sendTrackAction(action: String, data: [String: Any]?)
函数,并根据参数MobileCore.track
和添加以下代码以调用action
data
函数。code language-swift // Send trackAction event MobileCore.track(action: action, data: data)
-
转到Xcode项目导航器中的 Luma > Luma > Views > General > ConfigView。 查找应用程序内消息按钮的代码并添加以下代码:
code language-swift // Setting parameters and calling function to send in-app message Task { MobileSDK.shared.sendTrackAction(action: "in-app", data: ["showMessage": "true"]) }
-
在Android Studio导航器中,转到 Android
fun sendTrackAction(action: String, data: Map<String, String>?)
函数,并根据参数MobileCore.track
和添加以下代码以调用action
data
函数。code language-kotlin // Send trackAction event MobileCore.track(action, data)
-
在Android Studio导航器中,转到 Android
onInAppMessageClick
处理程序按钮的代码并添加以下代码:code language-kotlin // Setting parameters and calling function to send in-app message MobileSDK.shared.sendTrackAction( "in-app", mapOf("showMessage" to "true") )
使用应用程序进行验证
您可以在应用程序本身中验证应用程序内消息。
-
使用
-
转到 设置 选项卡。
-
点按 应用程序内消息。 您会在应用程序中看到应用程序内消息。
-
使用
-
转到 设置 选项卡。
-
点按 应用程序内消息。 您会在应用程序中看到应用程序内消息。
验证Assurance中的实施
您可以在Assurance UI中验证应用程序内消息。
-
查看设置说明部分以将模拟器或设备连接到Assurance。
-
选择 应用程序内消息传送。
-
选择 事件列表。
-
选择 显示消息 条目。
-
检查原始事件,特别是
html
,其中包含应用程序内消息的完整布局和内容。
后续步骤
现在,您应该拥有所有相关和适用的所有工具,以便开始添加应用程序内消息。 例如,根据您在应用程序中跟踪的特定交互来促销产品。
下一步: 创建和显示选件