在此页面上:实施 SDK、事件流、自定义操作端点及 API,将您的应用程序连接到 Adobe Journey Optimizer,从而使您的历程能够基于实时数据运行。
作为开发人员,您负责将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测试变体),而无需可视化编辑器或页面发布工作流程。
浏览 ](https://github.com/adobe/alloy-samples/tree/main/ajo){target=“_blank”}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 推送设置、短信 Webhook 端点
- 在运行历程测试模式之前,根据沙盒策略和测试环境进行调整
与营销人员就历程设计和测试进行协作。营销人员构建历程和内容完全取决于您发送的事件和公开的界面 — 您对齐得越近,历程上线的速度就越快。
- 一起查看Journey Optimizer中的历程设计,了解哪些用户交互必须触发事件以及哪些界面需要个性化
- 实施跟踪机制,以便营销人员衡量内容表现与用户参与度
- 使用测试轮廓一起运行历程测试模式,以便端到端地验证完整流程
- 排查消息投放、个性化呈现或自定义操作响应相关的问题
开始实施
准备好开始构建了吗? 从以上部分中选择您的首个实施领域:
- 移动应用程序? 从 Mobile SDK 集成开始
- 网站? 从 Web SDK 设置开始
- API 集成? 跳转到使用 API
- 自定义系统? 查看自定义操作
每个部分都包含指向详细技术文档、代码示例和教程的链接,以指导您的实施工作。