registerPreTrackCallback

registerPreTrackCallback 變數可讓您的組織在影像要求 URL 編譯完成但尚未傳送時,連結 JavaScript 函數。您可以使用此變數將 AppMeasurement 收集的資料傳送至合作夥伴或內部基礎架構。

WARNING
請勿進行任何追蹤呼叫,例如 t()tl() 內部 registerPreTrackCallback 變數中。 在此變數中設定追蹤呼叫會造成影像要求無限回圈!

每次呼叫 registerPreTrackCallback 變數時,您都可以連結該函數,以便在影像要求編譯完成時執行。請避免在同一個頁面載入中多次註冊相同的函數。

NOTE
對於在 registerPreTrackCallbackregisterPostTrackCallback 之間引發的函數,我們不能保證引發的時間和順序。 請避免這兩個函數之間有相依性。

使用Web SDK擴充功能預先追蹤回呼

Web SDK無法在資料編譯後但在將其傳送到Adobe之前連結函式。 不過,您可以使用 onBeforeEventSend 註冊函式以在資料傳送前執行。

  1. 登入 Adobe Experience Platform資料彙集 UI使用您的AdobeID認證。
  2. 按一下所需的標籤屬性。
  3. 前往 擴充功能 標籤,然後按一下 設定 按鈕在 Adobe Experience Platform Web SDK.
  4. 在 資料彙集,按一下 在事件傳送回呼代碼前編輯 按鈕。
  5. 將所需的程式碼放入編輯器中。

手動實作Web SDK的預先追蹤回呼

Web SDK無法在資料編譯後但在將其傳送到Adobe之前連結函式。 不過,您可以使用 onBeforeEventSend 若要在資料傳送前註冊要執行的函式,請類似 doPlugins. 另請參閱 全域修改事件 詳細資訊,請參閱Web SDK檔案。

// Set the trackingCode XDM field to "New value"
alloy("configure", {
  "onBeforeEventSend": function(content) {
    content.xdm.marketing.trackingCode = "New value";
  }
})

使用Adobe Analytics擴充功能預先追蹤回呼

Adobe Analytics 擴充功能中沒有專用欄位可使用這個變數。請依照 AppMeasurement 語法使用自訂程式碼編輯器。

AppMeasurement和Analytics擴充功能自訂程式碼編輯器中的s.registerPreTrackCallback

s.registerPreTrackCallback 是能將函數當作唯一引數的函數。巢狀函數會在影像要求傳送之前執行。

s.registerPreTrackCallback(function(){/* Desired code */});

如果您想在程式碼中使用影像要求 URL,請在巢狀函數內參考 requestUrl 字串引數。您可以解析 requestUrl 變數來滿足所需用途;調整此變數不會影響資料彙集。

s.registerPreTrackCallback(function(requestUrl){
  console.log(requestUrl); // Outputs the full image request URL
});

您可以在 s.registerPreTrackCallback 函數中加入其他引數,這些引數可用於巢狀函數:

s.registerPreTrackCallback(function(requestUrl,a,b,c) {
    console.log(requestUrl); // Full image request URL
    console.log(a); // param1
    console.log(b); // param2
    console.log(c); // param3
}, "param1", "param2", "param3");
NOTE
設定頁面變數或變更此函數中的 requestUrl 字串​ 不會 ​影響此函數呼叫後不久傳送的影像要求。 請改用 doPlugins() 變數。
recommendation-more-help
b4f6d761-4a8b-4322-b801-c85b9e3be690