bufferRequests

bufferRequests()方法可讓您在目前頁面上快取影像要求,而非傳送給Adobe。 在瀏覽器不支援navigator.sendBeacon()或頁面解除安裝時取消影像要求的情況下,觸發此方法相當實用。 許多版本的WebKit瀏覽器(例如Safari)通常會在按一下連結時顯示停止影像要求的行為。 bufferRequests()方法適用於AppMeasurementv2.25.0或更新版本的所有版本。

當您在相同瀏覽器工作階段的後續頁面上呼叫t()tl(),且尚未在該頁面上呼叫bufferRequests()時,除了該頁面的影像要求之外,還會傳送所有緩衝要求。 緩衝要求會以正確順序傳送,而目前頁面的影像要求會於最後傳送。

TIP
緩衝要求的時間戳記會與傳送資料的頁面共用。 如果您想要在記錄緩衝要求的確切秒數內達到更高的精確度,您可以在緩衝要求之前設定timestamp頁面變數。 如果您使用此變數,請確定已啟用可選時間戳記 — 如果未啟用,所有時間戳記點選都會永久遺失!

限制

呼叫bufferRequests()方法時,請記住下列限制。 由於此方法使用Window.sessionStorage,因此適用許多相同的限制:

  • 目的地連結必須位於相同的網域和子網域上。 即使兩者具有相同的Adobe Analytics實施,緩衝的請求也不會跨網域或子網域運作。 此限制也表示您無法使用緩衝的請求來追蹤退出連結。
  • 目的地連結必須使用與目前頁面相同的通訊協定。 您無法在HTTP與HTTPS之間傳送緩衝要求。
  • 儲存緩衝的要求,直到您呼叫t()tl()而未先呼叫bufferRequests()為止,或直到瀏覽器或索引標籤關閉為止。 如果瀏覽器工作階段在您傳送該資料給Adobe之前結束,未傳送的緩衝要求會永久遺失。
  • 如果瀏覽器不支援網頁儲存APIJSON API,則會輸出警告至瀏覽器主控台,且AppMeasurement會嘗試使用t()方法立即傳送影像要求。

Web SDK中的緩衝請求

Web SDK目前不提供緩衝要求的功能。

使用Adobe Analytics擴充功能的緩衝請求

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

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

呼叫bufferRequests()方法,然後再呼叫t()tl()。 呼叫bufferRequests()時,後續追蹤呼叫會寫入工作階段存放區,而非傳送至Adobe資料收集伺服器。

// Instantiate the tracking object
var s = s_gi("examplersid");

// Flag the request to be buffered
s.bufferRequests();

// The t() or tl() method then writes the data to session storage instead of sending it to Adobe
s.tl(true,"o","Example link click");

// On a subsequent page, the tracking call sends both the above link tracking call and the page view call
s.t();
recommendation-more-help
b4f6d761-4a8b-4322-b801-c85b9e3be690