Edge 扩展的操作类型

NOTE
Adobe Experience Platform Launch已更名为Adobe Experience Platform中的一套数据收集技术。 因此,产品文档中的术语有一些改动。 有关术语更改的综合参考,请参阅以下文档

在标记规则中,操作是在规则条件通过评估后执行的操作。 操作类型由扩展提供,其效果完全由扩展作者定义。

例如,扩展可以提供“显示支持聊天”操作类型,该操作类型可以显示支持聊天对话框,以帮助在注销时可能遇到困难的用户。

本文档介绍如何在Adobe Experience Platform中为Edge扩展定义操作类型。

IMPORTANT
如果您正在开发 Web 扩展,请另外参阅关于 Web 扩展的操作类型的指南。
此外,本文档假设您熟悉库模块以及库模块在Edge扩展中的集成方式。 如果您需要查看简介,请在返回本指南之前参阅关于库模块格式的概述。

操作类型通常包含以下内容:

  1. Experience PlatformUI和数据收集UI中显示的视图,允许用户修改操作的设置。
  2. 在标记运行时库中发出的库模块,用于解释设置并执行操作。

例如,将某些数据转发到第三方端点的模块可能如下所示。

module.exports = (context) {
  const { arc, utils } = context;
  const { fetch } = utils;
  const { event: { xdm } } = arc;
  return fetch('http://someendpoint.com', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(xdm)
  })
};

如果要让用户能够配置端点,并允许端点输入和持久保留到模块中的设置对象,则对象将类似于此。

{
  "endpoint": "http://someendpoint.com"
}

要对用户定义的端点执行操作,您的模块需要更改为以下示例。

module.exports = (context) {
  const { arc, utils } = context;
  const { fetch } = utils;
  const { event: { xdm } } = arc;
  const  { endpoint } = settings;
  return fetch(endpoint, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(xdm)
  })
};

操作结果

操作模块返回的结果可以是任何内容。如果该操作需要执行异步任务,您可以返回一个 promise,该 promise 在得到解析后会返回您所需的结果。

操作结果存储在 ruleStash 键中,所有模块均可通过 context 参数 (context.arc.ruleStash) 使用该键。您可以在此处了解关于 ruleStash 的更多信息。

recommendation-more-help
12b4e4a9-5028-4d88-8ce6-64a580811743