在此页面上:实施将您的应用程序连接到Adobe Journey Optimizer的SDK、事件流、自定义操作端点和API,以使您的旅程能够在实时数据上运行。
作为开发人员,您负责将Adobe Journey Optimizer实施并集成到您的应用和系统中。 系统管理员和数据工程师为您授予访问权限并准备好环境后,您就可以开始使用 Adobe Journey Optimizer。
您在 Journey Optimizer 生态系统中的角色
当其他团队成员通过用户界面配置 Journey Optimizer 时,您将专注于以下方面:
- 在移动端和 web 应用中实现 SDK
- 从您的应用程序 发送事件 以触发历程
- 构建 API 端点供 Journey Optimizer 通过自定义操作调用
- 将 Journey Optimizer 与您现有的系统和基础设施集成
- 测试和调试您的实现内容
您的数据工程师将处理数据架构、事件配置和数据源。 您的管理员将设置权限和渠道配置。 营销人员将设计使用您所实现的历程与内容。
本指南涵盖必要的技术实施步骤,助您开始使用 Journey Optimizer。 无论您是构建移动应用程序、web 体验还是 API 集成,请按照以下部分设置您的实施内容。
先决条件 prerequisites
在开始实施之前,请确保您具备以下条件:
* 了解 RESTful API 和 JSON
* 熟悉异步编程和事件驱动型架构
* 了解您所在组织的应用架构
理解技术基础 technical-foundation
在深入实施之前,请先熟悉以下核心技术概念:
-
Adobe Experience Platform 集成:Journey Optimizer 原生构建于 Adobe Experience Platform 之上。 理解其底层架构将帮助您构建更高效的实施方案。 进一步了解 Journey Optimizer 的工作原理。
-
XDM 数据模型:Journey Optimizer 使用体验数据模型 (XDM) 来构建事件和轮廓数据的结构。 作为开发人员,您需要了解如何发送符合数据工程师配置的数据架构的数据。 了解 XDM 架构。
-
身份验证和安全性:所有实施都需要进行适当的认证。 了解如何为 SDK 和 API 设置身份验证。 了解 API 身份验证。
设置移动应用集成 mobile-integration
配置 Adobe Experience Platform Mobile SDK
Mobile SDK是您直接在iOS或Android应用程序中嵌入的库集合。 它充当应用程序与Adobe Experience Platform之间的通信层:用于从Journey Optimizer中标识用户、收集行为事件并提供说明,包括推送通知、应用程序内消息和个性化内容。 如果没有这些信息,Journey Optimizer将无法看到您的应用程序用户在做什么,并且也无法联系他们。
-
安装和配置 Mobile SDK:按照Adobe Experience Platform Mobile SDK 文档操作,开始进行 SDK 集成。
-
创建移动属性:在 Adobe Experience Platform Data Collection 中设置移动属性。 了解如何创建和配置移动属性。
-
配置推送通知:
-
测试您的移动端集成:使用移动端快速启动工作流来高效配置和测试您的移动端设置。
此页面提供了配置推送通知的详细步骤。
实施基于代码的体验 (Mobile SDK)
通过基于代码的体验,您可以向本机移动设备应用程序中的任何表面交付个性化内容 — 从入门培训屏幕和产品详细信息页面,到应用程序内横幅和功能标记 — 而无需发布新的应用程序。 使用Mobile SDK在运行时获取和呈现个性化内容,让您的团队可以完全控制版面和演示:
实施 web 体验 web-implementation
设置 Adobe Experience Platform Web SDK
Web SDK (alloy.js)是单个JavaScript库,它取代了您的网站可能需要的单独Adobe标记的补丁工作。 它会收集行为数据,通过您配置的数据流将其流式传输到Adobe Experience Platform,并接收返回的个性化指令 — 所有这些都在一个网络中来回传输。 设置完毕后,Journey Optimizer即可识别访客、从其操作触发旅程,并立即向您的页面交付定制的内容。
-
安装 Web SDK:按照 Web SDK 实施指南在您的网站上设置 SDK。
-
配置数据流:在 Adobe Experience Platform Data Collection 中创建并配置启用了 Journey Optimizer 的数据流。 有关更多信息,请参阅数据流文档。
-
启用 Web 推送通知(可选): Web 推送通知现已正式发布。 在 Web SDK 配置中配置 pushNotifications 属性,并使用 sendPushSubscription 命令注册推送订阅。 了解 Web 推送配置。
实施基于代码的体验 (Web SDK)
与营销人员完全控制布局的可视化渠道不同,基于代码的体验可让您完全掌控页面上个性化内容的呈现方式。 Journey Optimizer会返回包含个性化数据的JSON有效负载;您的代码可决定要在何处以及如何显示该有效负载。 此模型适用于任何Web表面(主页横幅、推荐轮播、搜索结果排名、A/B测试变体),而无需可视化编辑器或页面发布工作流程。
浏览 🔗GitHub 上的实施示例,了解实际应用中的基于代码的体验。
进一步了解基于代码的体验快速入门。
实施事件流 event-streaming
发送事件以触发历程
历程在事件上运行 — 用户登录,将项目添加到购物车,完成购买,放弃表单。 你的工作是适时地从你的应用程序中发出这些事件。 每个事件都是发送到Experience Platform流摄取API的XDM结构化JSON有效负载;Journey Optimizer在毫秒内选取它,并将配置文件路由到任何匹配的旅程。 事件架构和有效负载结构由您的数据工程师定义 — 在开始编码之前与它们协调。
-
了解事件负载:与您的数据工程师协作,获取事件架构及所需的负载结构。 负载必须符合其配置的 XDM 架构。 了解事件架构要求。
-
实施事件流:使用流式数据摄取 API 将事件发送至 Adobe Experience Platform。 了解发送事件的步骤。
-
处理事件类型:
- 单一事件:针对特定用户的操作(例如按钮点击、购买完成)实现事件发送
- 业务事件:发送业务相关事件(例如库存更新、价格变更)
-
测试事件传递:验证事件是否被正确接收并按预期触发客户历程。 了解事件故障排除。
通过 API 发送事件的实施示例:
POST https://{DATACOLLECTION_ENDPOINT}/collection/{DATASTREAM_ID}
Content-Type: application/json
{
"header": {
"datasetId": "{DATASET_ID}",
"imsOrgId": "{ORG_ID}",
"source": {
"name": "Web SDK"
}
},
"body": {
"xdmMeta": {
"schemaRef": {
"id": "{SCHEMA_ID}"
}
},
"xdmEntity": {
"_id": "unique-event-id",
"eventType": "purchase",
"timestamp": "2024-01-01T12:00:00Z",
// ... your event data
}
}
}
进一步了解处理历程事件。
开发自定义操作端点 custom-actions
当历程达到自定义操作步骤时,Journey Optimizer会对您提供的URL(您的后端、CRM、忠诚度平台、任何REST端点)进行出站HTTP调用。 您的工作是构建和公开该端点:定义请求合同(有效负荷形状、身份验证方法、响应格式),实施其背后的业务逻辑,并确保它可以处理Journey Optimizer将生成的调用量。 然后,您的管理员会在Journey Optimizer中注册该端点,以便营销人员可以将其用作其历程中的步骤。
-
构建您的 API 端点:创建 RESTful API 端点,供 Journey Optimizer 在历程执行期间调用。 您的端点应:
- 接受 JSON 负载
- 身份验证请求(OAuth、API 密钥或 JWT)
- 在适当的超时限制内处理请求
- 以预期格式返回响应
-
了解自定义操作功能:自定义操作可以连接到第三方系统,如 Epsilon、Slack、Firebase 或您自己的服务。 详细了解自定义操作。
-
使用操作配置:您的管理员或数据工程师将在 Journey Optimizer 中配置自定义操作,定义 API 端点 URL、身份验证方法和参数。 您将向他们提供您的 API 规范。 了解自定义操作配置。 您可以在超时/错误分支中定义可选的错误响应负载,以实现更丰富的回退逻辑。
-
返回可操作数据:设计您的 API 以返回可在后续历程步骤中使用的数据。 了解操作响应。
-
监视自定义操作运行状况:使用自定义操作监视仪表板跟踪成功的调用、错误、吞吐量、响应时间和队列等待时间。 了解自定义操作报告。
-
实现速率限制:确保您的端点能够处理预期的请求量。 Journey Optimizer 设有 5000 次/秒的调用限制,但您的系统应具备一定弹性。 了解上限和限制。
示例用例:使用自定义操作将历程事件写入 Experience Platform。
使用 Journey Optimizer API apis
并非所有事情都需要通过Journey Optimizer UI发生。 有时,您需要从自己的后端触发营销活动、在隐私请求后禁止显示电子邮件地址,或从外部CMS同步内容模板。 Journey Optimizer的REST API允许您以编程方式访问平台的核心功能。 所有调用都使用OAuth服务器到服务器身份验证 — 弃用旧的JWT方法。
-
了解 API 功能: Journey Optimizer API 允许您以编程方式创建、读取、更新和删除各种资源。 了解 Journey Optimizer API。
-
身份验证:按照本教程,使用 Adobe Developer Console 设置 API 身份验证。
-
浏览 API 参考文档:浏览完整的 API 文档,并直接在 Adobe Journey Optimizer API 参考中尝试 API 调用。
-
API 触发的营销活动:通过 API 触发的营销活动构建交易型消息。 针对高流量场景(最高可达 5000 TPS),可探索使用高吞吐量模式(需要附加许可证)。
-
决策管理 API:使用专门的 API 进行产品建议管理和决策。 在决策管理 API 指南中了解更多信息。
-
Decisioning 迁移 API:以编程方式将决策管理实体迁移到 Decisioning,它具有灵活的迁移范围、自动验证和回滚支持。 在 Decisioning 迁移 API 指南中了解详情。
-
短信 Webhook:配置入站 Webhook 以捕获传入消息,并配置反馈 Webhook 以接收投放回执和状态更新。 了解详情。
测试与调试 testing
在实施上线之前,您需要确信事件会在正确的时间触发,历程会按预期触发,自定义操作会在实际负载下运行,并且个性化内容会正确呈现。 本节介绍用于及早发现问题的工具和技术,从低级别的SDK日志记录到使用真实用户档案进行的端到端旅程测试运行。
-
调试SDK实施:使用Adobe Experience Platform Assurance检查SDK事件,验证数据收集,并在集成问题发生时对其进行故障诊断。 进一步了解 Assurance。
-
测试事件传递:验证您应用程序发出的事件是否被 Adobe Experience Platform 正确接收并按预期触发历程。 监控事件摄取过程并验证有效负载结构。
-
验证 API 集成:测试您的自定义操作端点,以确保其能正确处理 Journey Optimizer 请求、在超时限制内响应,并返回预期的数据格式。
-
对测试轮廓使用测试模式:与数据工程师协作获取对测试轮廓的访问权限,然后使用历程测试模式验证您的实施。 了解如何测试历程。
-
监控 SDK 日志:在您的 SDK 实现中启用调试日志记录,以便在开发期间排查问题:
- Mobile SDK:启用日志记录以查看 SDK 事件和 API 调用
- Web SDK:使用浏览器控制台监控 SDK 活动
-
验证数据流配置:确保您的数据流已正确配置,可将数据发送至 Journey Optimizer。 检查事件是否通过数据流传递至正确的目标位置。
-
查询历程数据以供分析:在数据湖上使用 SQL 查询来分析历程步骤事件、调试问题并监控自定义操作性能。 探索用于历程分析的查询示例,包括:
- 轮廓进入/退出追踪和丢弃原因分析
- 自定义操作性能指标(延迟、吞吐量、错误率)
- 事件交付和错误模式
- 历程实例状态
高级开发人员主题 advanced-topics
一旦您的核心SDK、事件和API准备就绪,这些主题将帮助您走得更远:在运行时扩充历程数据而不扩充配置文件,处理同意信号以使选择退出在整个集成中传播,以及针对生产规模所需的吞吐量和可靠性调整您的实施。
处理上下文数据和扩充
历程通常需要的数据多于触发事件中提供的数据 — 产品名称、忠诚度等级和订单行项目列表。 上下文扩充允许您的旅程在运行时从AEP数据集查找它或从自定义操作响应中将其转发,而不是将所有这些预先加载到每个配置文件中。 然后,您的消息和分支条件可以引用该数据,而无需将其永久存储在用户档案中。
处理同意与治理
Journey Optimizer在平台级别实施数据治理和同意策略,但您的集成也需要尊重它们。 当客户选择退出营销通信或数据使用标签限制字段的使用方式时,这些规则需要在自定义操作和数据集查找中传播 — 而不仅仅是UI中的阻止操作。
优化与最佳实践
生产Journey Optimizer实施每秒会定期处理数百万个事件和数千次旅程执行。 这些资源可帮助您针对该规模调整集成 — 在点击速率限制之前了解这些限制,避免静默丢弃用户档案的常见旅程设计隐患,以及构建可正常降低而不是不透明地失败的错误处理。
调用Journey Optimizer REST API rest-apis
除了实施SDK和事件流之外,您还可以以编程方式从您自己的系统中驱动Journey Optimizer。 完整的API引用、OpenAPI规格和代码示例位于Journey Optimizer开发人员门户上。
执行API触发的营销活动 api-triggered
使用交互式消息执行REST API触发来自外部系统的事务性或营销消息。 在调用端点之前:
- 在终结点接受调用之前,营销活动必须是激活的。
- 调用的超时为60秒;内部重试处理意外超时。
- 如果配置了促销活动开始/结束日期,则超出这些日期的API调用将失败。
- 要构建有效负载,请在Journey Optimizer UI中从实时营销活动的 cURL请求 部分中检索生成的示例cURL请求 — 其中包括该营销活动的所有个性化变量。
- 标准和高吞吐量营销活动使用不同的端点。
API引用 · 代码示例 · 使用API触发的营销活动
外部端点的上限和限制 capping-throttling
当历程通过自定义操作或数据源调用外部系统时,上限和限制API会保护这些系统免受过载。 设置上限可拒绝超出配置限制的调用;限制可使调用排队长达6小时(仅限生产沙盒、自定义操作)。
更多REST API more-rest-apis
除了消息传递和封顶之外,Journey Optimizer还会公开REST端点,以用于禁止管理、内容模板、活动检索、验证和编排的活动执行。 当您需要自动执行操作时,请使用这些选项,否则UI中需要手动步骤,例如,拉取数据后批量隐藏地址,或从外部内容管道同步模板。
其他资源 additional-resources
- Developer Console:访问 Adobe Developer Console 以创建集成并管理 API 凭据。
- 示例代码:浏览 GitHub 上的实施示例。
- 视频教程:通过 Experience League 上的实践教程进行学习。
- 开发人员社区:与其他开发人员联系,并在 Adobe 社区论坛中获取支持。
跨角色协作 next-steps
您的实施工作与其他团队成员相互关联:
与数据工程师协作处理数据和事件配置。 对用户行为做出反应的每个历程都取决于您发送的事件 — 数据工程师定义架构,您实施生成这些架构的代码。
- 获取需要实施的XDM架构和事件结构
- 了解您需要发送哪些事件及其所需的有效负载格式 — 请参阅处理历程事件
- 确认每个事件有效负载中的哪些字段是必填字段还是可选字段,以及当预期字段缺失或格式错误时,旅程中会发生什么情况 — 请参阅架构要求
- 使用Adobe Experience Platform Assurance一起测试事件投放和数据摄取
与管理员在访问和渠道配置上进行协作。 历程只能通过管理员设置的渠道联系用户 — 尽早协调,以便您的SDK工作及其配置保持同步。
- 为将在Journey Optimizer中配置的自定义操作提供API规范
- 通过Adobe Developer Console请求必要的权限和API凭据
- 协调渠道配置要求 — iOS和Android的推送证书、Web推送设置、SMS webhook端点
- 在运行历程测试模式之前,根据沙盒策略和测试环境进行调整
与营销人员协作进行历程设计和测试。 营销人员构建旅程和内容完全取决于您发送的事件和公开的外观 — 您对齐得越近,旅程上线的速度就越快。
- 一起查看Journey Optimizer中的历程设计,了解哪些用户交互必须触发事件以及哪些表面需要个性化
- 实施跟踪,以便营销人员可以衡量内容绩效和用户参与度
- 使用测试配置文件一起运行历程测试模式以端到端地验证完整流程
- 邮件传递、个性化呈现或自定义操作响应问题疑难解答
开始实施
准备好开始构建了吗? 从以上部分中选择您的首个实施领域:
- 移动应用程序? 从 Mobile SDK 集成开始
- 网站? 从 Web SDK 设置开始
- API 集成? 跳转到使用 API
- 自定义系统? 查看自定义操作
每个部分都包含指向详细技术文档、代码示例和教程的链接,以指导您的实施工作。