處理命令回應

有些Web SDK命令可能會傳回包含對貴組織可能有用的資料的物件。 如有需要,您可以選擇如何處理該資料。 命令回應對於主張和目的地來說非常重要,因為它們需要Edge Network資料才能有效運作。

命令回應使用JavaScript promise,當作Proxy的值(建立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.");
  });

命令傳回的所有promise都使用 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