处理命令响应

某些Web SDK命令可以返回包含对您的组织潜在有用的数据的对象。 如果需要,您可以选择如何处理这些数据。 命令响应对于建议和目标非常有用,因为它们需要Edge Network数据才能有效工作。

命令响应使用JavaScript 承诺,充当创建promise时未知的值的代理。 知道该值后,将使用值“解析”promise。

使用Web SDK标记扩展处理命令响应

创建订阅 发送事件完成 事件。

  1. 登录 experience.adobe.com 使用您的Adobe ID凭据。
  2. 导航到 数据收集 > 标记.
  3. 选择所需的标记属性。
  4. 导航到 规则,然后选择所需的规则。
  5. 下 活动,选择现有事件或创建事件。
  6. 设置 扩展名 下拉字段至 Adobe Experience Platform Web SDK,并设置 事件类型 到 发送事件完成.
  7. 单击 保留更改,然后运行发布工作流程。

然后,您可以包含操作 应用建议应用响应 到这个规则里。

  1. 查看以上创建或编辑的规则时,选择现有操作或创建操作。
  2. 设置 扩展名 下拉字段至 Adobe Experience Platform Web SDK,并设置 操作类型 到 应用建议应用响应,具体取决于所需的行为。
  3. 设置操作的所需字段,然后单击 保留更改.

使用Web SDK JavaScript库处理命令响应

使用 thencatch 用于确定命令何时成功或失败的方法。 您可以忽略以下任一项 thencatch 如果它们的目的对您的实施不重要。

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 对象。 例如,您可以从以下位置获取库信息 result 对象使用 getLibraryInfo 命令:

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