[Alpha]{class="badge informative"}
上下文和轉送的標題
在瀏覽器中,Web SDK會從頁面讀取頁面URL、熒幕大小、時區和其他詳細資訊,並將其新增至每個事件。 伺服器沒有頁面可供讀取,因此伺服器SDK會新增一組較小的內容資料。 它會轉送訪客請求的詳細資料,以便Edge Network能夠使用。
實作詳細資料 implementation-details
SDK將xdm.implementationDetails物件新增至每個事件。 此物件會識別傳送事件的程式庫:
{
"implementationDetails": {
"name": "https://ns.adobe.com/experience/alloy-node",
"version": "0.2.1",
"environment": "server"
}
}
version值與已安裝的@adobe/alloy-node封裝版本相符。 您無法關閉此資料。
傳遞傳入的請求 request
若要新增訪客的相關內容,請將傳入的請求傳遞給forRequest,做為request屬性:
const visitor = alloy.forRequest({ request: req });
request值可以是任何具有headers屬性的物件,包括:
- 來自
node:http模組的Node.jsIncomingMessage。 - 來自
node:http上建置之架構(例如Express或Fastify)的要求物件。 - 擷取API
Request,其中許多伺服器端JavaScript執行階段和架構會傳遞至要求處理常式。 其headers屬性是Headers物件。
如果您自行建立純物件,請使用小寫標頭名稱,例如{ headers: { "user-agent": "..." } }。
轉送的標題 forwarded-headers
當您傳遞request時,SDK會將下列標題複製至其傳送至Edge Network的每個請求。 如果沒有這些標頭,Edge Network會將您的伺服器視為訪客,而其裝置和位置查詢將會說明您的伺服器而非訪客。
User-AgentAccept-LanguageSec-CH-UA, Sec-CH-UA-Mobile, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version, Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Model, Sec-CH-UA-WoW64X-Forwarded-For, Forwarded, X-Real-IPSDK只會轉送此表格中的標題。 它不會轉寄訪客的Cookie、Authorization或Referer標頭。
在您的資料流中啟用地理位置和裝置查詢等功能時,Edge Network會使用這些標頭。 如果您的伺服器在Proxy或負載平衡器之後執行,請確定它將X-Forwarded-For或Forwarded設定為訪客的實際IP位址。
瀏覽器預設只會傳送一些低平均資訊量使用者端提示。 若要接收其他專案,您的伺服器必須使用Accept-CH回應標頭向瀏覽器詢問這些專案。
來自Referer標頭的頁面URL page-url
如果內送要求有Referer標頭,SDK會使用它的值做為xdm.web.webPageDetails.URL。 Referer標頭包含提出要求的頁面位址,因此只有在部分情況下才會準確:
- 瀏覽器從頁面呼叫您的伺服器,例如
fetch:Referer包含該頁面的URL,這通常是您想要的值。 - 瀏覽器會導覽至您的伺服器轉譯的頁面:
Referer包含 previous 頁面,而非訪客正在檢視的頁面。 請自行設定頁面URL。 - 要求跨越來源:瀏覽器通常會根據頁面的
Referrer-Policy,將Referer修剪為來源,例如https://www.example.com/。
您在xdm物件中設定的值優先於Referer值。 若要明確設定頁面URL:
await visitor.sendEvent({
xdm: {
eventType: "web.webpagedetails.pageViews",
web: {
webPageDetails: {
URL: `https://www.example.com${req.url}`
}
},
identityMap: {
Email: [{ id: "visitor@example.com", primary: true }]
}
}
});
SDK未收集的資料 not-collected
下列可供Web SDK在瀏覽器中收集的資料在伺服器上沒有可靠的來源,因此伺服器SDK不會將其新增:
- 頁面標題、反向連結頁面和熒幕方向
- 熒幕大小、檢視區大小和捲動位置
- 當地時間和時區
- 高平均資訊量使用者代理使用者端提示瀏覽器沒有在請求中傳送
如果您的應用程式知道這些值(例如,因為瀏覽器已將它們傳送至您的伺服器),請自行將它們新增至xdm物件。