Edge 扩展的操作类型

注意

Adobe Experience Platform Launch正在Experience Platform中被重新命名为一套数据收集技术。 因此,在产品文档中推出了一些术语更改。 有关术语更改的统一参考,请参阅以下文档

操作类型库模块设计为执行预定义操作。 此操作的效果完全由作者定义。 可以将模块创建为信标,甚至转换事件中的某些数据。

重要

本文档介绍了 Edge 扩展的操作类型。如果您正在开发 Web 扩展,请另外参阅关于 Web 扩展的操作类型的指南。

本文档还假定您熟悉库模块以及它们在标记扩展中的集成方式。 如果您需要查看简介,请在返回本指南之前参阅关于库模块格式的概述。

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

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 的更多信息。

在此页面上