處理命令回應
有些Web SDK命令可能會傳回包含對貴組織可能有用的資料的物件。 如有需要,您可以選擇如何處理該資料。 命令回應對於主張和目的地來說非常重要,因為它們需要Edge Network資料才能有效運作。
命令回應使用JavaScript promise,做為建立promise時未知之值的Proxy。 知道值後,就會使用值「解析」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.");
});
命令傳回的所有promise都使用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