Adobe Experience Platform Launch已更名为Adobe Experience Platform中的一套数据收集技术。 因此,产品文档中的术语有一些改动。有关术语更改的综合参考,请参阅以下文档。
在标记规则中,操作是在规则条件通过评估后执行的操作。 操作类型由扩展提供,其效果完全由扩展作者定义。
例如,扩展可以提供“显示支持聊天”操作类型,该操作类型可以显示支持聊天对话框,以帮助在注销时可能遇到困难的用户。
本文档介绍如何在Adobe Experience Platform中定义Edge扩展的操作类型。
如果您正在开发 Web 扩展,请另外参阅关于 Web 扩展的操作类型的指南。
本文档还假设您熟悉库模块以及库模块在Edge扩展中的集成方式。 如果您需要查看简介,请在返回本指南之前参阅关于库模块格式的概述。
操作类型通常包含以下内容:
例如,将某些数据转发到第三方端点的模块可能如下所示。
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
的更多信息。