存取回應Token
Adobe Target傳回的個人化內容包括 回應Token,此為活動、選件、體驗、使用者設定檔、地理資訊等的詳細資訊。 這些詳細資料可與協力廠商工具共用或用於偵錯。 回應Token可在Adobe Target使用者介面中設定。
若要存取任何個人化內容,請在傳送事件時提供回呼函式。 SDK收到來自伺服器的成功回應後,就會呼叫此回呼。 系統會為您的回撥提供 result
物件,其中可能包含 propositions
包含任何傳回的個人化內容的屬性。 以下是提供回呼函式的範例。
alloy("sendEvent", {
renderDecisions: true,
xdm: {}
}).then(function(result) {
if (result.propositions) {
// Manually render propositions
}
});
在此範例中, result.propositions
,如果存在的話,是包含與事件相關之個人化主張的陣列。 請參閱 呈現個人化內容 以取得有關以下專案的內容的詳細資訊: result.propositions
.
假設您想從Web SDK自動轉譯的所有主張中收集所有活動名稱,並將其推入單一陣列中。 然後,您可以將單一陣列傳送給第三方。 在此案例中:
- 從擷取主張
result
物件。 - 在每個主張中重複執行。
- 判斷SDK是否轉譯了主張。
- 若是如此,會重複檢查主張中的每個專案。
- 從擷取活動名稱
meta
屬性,包含回應Token的物件。 - 將活動名稱推送至陣列。
- 將活動名稱傳送給第三方。
您的程式碼如下所示:
alloy("sendEvent", {
renderDecisions: true,
xdm: {}
}).then(function(result) {
var activityNames = [];
propositions.forEach(function(proposition) {
if (proposition.renderAttempted) {
proposition.items.forEach(function(item) {
if (item.meta) {
// item.meta contains the response tokens.
var activityName = item.meta["activity.name"];
// Ignore duplicates
if (activityNames.indexOf(activityName) === -1) {
activityNames.push(activityName);
}
}
});
}
});
// Now that activity names are in an array,
// you can send them to a third party or use
// them in some other way.
});
recommendation-more-help
ad108910-6329-42f1-aa1d-5920a2b13636