处理命令响应
某些Web SDK命令可以返回包含对您的组织潜在有用的数据的对象。 如果需要,您可以选择如何处理这些数据。 命令响应对于建议和目标非常有用,因为它们需要Edge Network数据才能有效工作。
命令响应使用JavaScript promise,充当创建promise时未知的值的代理。 知道该值后,将使用值“解析”promise。
使用Web SDK标记扩展处理命令响应
创建作为规则的一部分订阅 发送事件完成 事件的规则。
- 使用您的Adobe ID凭据登录experience.adobe.com。
- 导航到 数据收集 > 标记。
- 选择所需的标记属性。
- 导航到 规则,然后选择所需的规则。
- 在事件下,选择现有事件或创建事件。
- 将扩展下拉字段设置为 Adobe Experience Platform Web SDK,并将事件类型设置为 发送事件完成。
- 单击 保留更改,然后运行发布工作流程。
然后,您可以包括操作 应用建议 或 将响应 应用到此规则。
- 查看以上创建或编辑的规则时,选择现有操作或创建操作。
- 将扩展下拉字段设置为 Adobe Experience Platform Web SDK,并将操作类型设置为 应用建议 或 应用响应,具体取决于所需的行为。
- 设置操作的所需字段,然后单击 保留更改。
使用Web SDK JavaScript库处理命令响应
使用then
和catch
方法确定命令成功或失败的时间。 您可以忽略then
或catch
(如果它们的目的对您的实施不重要)。
alloy("sendEvent", {
"xdm": {
"commerce": {
"order": {
"purchaseID": "a8g784hjq1mnp3",
"purchaseOrderNumber": "VAU3123",
"currencyCode": "USD",
"priceTotal": 999.98
}
}
}
}).then(function(result) {
console.log("The sendEvent command succeeded.");
})
.catch(function(error) {
console.log("The sendEvent command failed.");
});
从命令返回的所有承诺都使用result
对象。 例如,您可以使用getLibraryInfo
命令从result
对象获取库信息:
alloy("getLibraryInfo")
.then(function(result) {
console.log(result.libraryInfo.version);
console.log(result.libraryInfo.commands);
console.log(result.libraryInfo.configs);
});
此result
对象的内容取决于您使用的命令和用户同意的组合。 如果用户没有针对特定目的给予同意,则响应对象仅包含可以在用户同意的内容上下文中提供的信息。
recommendation-more-help
ad108910-6329-42f1-aa1d-5920a2b13636