存取回應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自動轉譯的所有主張中收集所有活動名稱,並將其推入單一陣列中。 然後,您可以將單一陣列傳送給第三方。 在此案例中:

  1. 從擷取主張 result 物件。
  2. 在每個主張中重複執行。
  3. 判斷SDK是否轉譯了主張。
  4. 若是如此,會重複檢查主張中的每個專案。
  5. 從擷取活動名稱 meta 屬性,包含回應Token的物件。
  6. 將活動名稱推送至陣列。
  7. 將活動名稱傳送給第三方。

您的程式碼如下所示:

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