[Alpha]{class="badge informative"}

適用於JavaScript的伺服器SDK概覽

適用於JavaScript 的 Adobe Experience Platform Server SDK (或​Server SDK)是在您的伺服器上執行並將資料傳送至Adobe Experience Platform Edge Network的資料庫。 它在Node.js和其他符合其需求的伺服器端JavaScript執行階段中執行。 它以@adobe/alloy-node的身分發佈至npm。 本指南說明其核心概念、安裝、設定和方法。

伺服器SDK與Web SDK共用其核心。 它使用相同的資料串流、相同的XDM資料模型,以及相同的身分和同意Cookie。 由於它是在伺服器上執行,而不是在瀏覽器上執行,因此在您建立執行個體、驗證及處理每個訪客請求的方式上會有所不同。

IMPORTANT
伺服器SDK為Alpha版。 其方法、選項和行為可以在發行版本之間變更,並且只能使用支援的功能中列出的功能。 升級前請先檢閱發行說明。

何時使用伺服器SDK when-to-use

Adobe提供數種將資料傳送至Edge Network的方式。 選擇與程式碼執行位置相符的專案:

方法
使用時機
網頁SDK
您的程式碼會在訪客的瀏覽器中執行。 網頁SDK可以呈現個人化內容、收集連結點按次數,以及自動讀取頁面內容。
伺服器SDK
您的程式碼會在處理訪客請求的JavaScript伺服器上執行。 例如,轉譯頁面的伺服器、API後端或在頁面到達瀏覽器之前擷取個人化的中介軟體。
Edge Network API
您想不使用程式庫,以任何語言直接呼叫Edge Network。 伺服器SDK會為您呼叫此API。

您可以將伺服器SDK和網頁SDK搭配使用。 例如,您的伺服器可以要求個人化內容,而瀏覽器可以轉譯內容。 請參閱混合式個人化。

運作方式 how-it-works

  1. 當您的伺服器啟動​時,您建立一個執行個體,並使用您的資料流、組織和API認證呼叫configure一次。
  2. 針對每個傳入要求,您呼叫forRequest以取得範圍為該訪客的控制代碼。 控制代碼會透過您提供的Cookie服務讀取及寫入訪客的身分和同意,並將訪客的請求標題(例如User-Agent)轉送至Edge Network。
  3. 您在控制代碼​上呼叫方法,例如sendEvent。 SDK會使用它取得並快取的存取權杖將事件傳送至已驗證的Edge Network伺服器API。
  4. SDK會將結果傳回至您的程式碼。 例如,sendEvent會以資料傳回個人化主張。 SDK不會轉譯這些值。 您的應用程式會決定要如何處理這些檔案,例如將它們納入網頁中,以供Web SDK呈現。

如需詳細資訊,請參閱執行個體和要求。

支援的功能 features

下表列出Alpha發行版本支援的內容。 如需詳細比較,請參閱與網頁SDK的差異。

功能
狀態
與sendEvent一起傳送事件
支援
使用getIdentity和appendIdentityToUrl擷取身分
支援
同意setConsent和defaultConsent
支援。 defaultConsent只接受"in"和"out"。
使用personalization要求個人化
支援。 主張會傳回為資料,且不會轉譯。
上下文資料
部分支援。 請參閱內容與轉送的標頭。
使用debugEnabled和setDebug進行偵錯
支援。 記錄檔會寫入主控台。
呈現個人化內容、點選收集、媒體分析、推播通知、Brand Concierge、對象和規則型內容卡
不支援

需求 requirements

在使用伺服器SDK之前,請確定您具備下列條件:

  • 伺服器端JavaScript執行階段,例如Node.js 22或更新版本。 執行階段必須支援ECMAScript模組,因為您載入的封裝有import。 它也必須提供下列Web標準全域: fetch、Headers、URLSearchParams、crypto.getRandomValues、setTimeout、clearTimeout、atob、btoa、TextEncoder、TextDecoder以及console。 請參閱執行階段支援。
  • 資料流。 請參閱設定資料流。 如果您使用getIdentity、appendIdentityToUrl或setConsent,請將資料流的​ 存取型別 ​設定為​混合驗證,因為這些方法會傳送未經驗證的請求。 請參閱驗證。
  • 從Adobe Developer Console OAuth伺服器對伺服器認證。 SDK需要它,並使用它來驗證它傳送的事件。 請參閱驗證。
  • XDM結構描述和資料集 (如果您傳送資料給Adobe Experience Platform)。

執行階段支援 runtime-support

任何符合需求的伺服器端JavaScript執行階段均支援伺服器SDK。 它不依賴Node.js特定的模組。 其預設平台服務僅使用網頁標準API,例如fetch。

這些指南使用Node.js作為主要範例執行階段。 程式碼範例使用Node.js慣例,例如從process.env讀取認證,以及使用node:http模組處理要求。 如果您使用不同的執行階段,請用執行階段的對應零件取代這些零件。 SDK自己的方法在每個支援的執行階段中以相同的方式運作。

Source程式碼和意見反應 source

伺服器SDK是開放原始碼。 其原始碼位於GitHub上adobe/alloy存放庫的packages/node資料夾中。 在該存放庫中報告問題和請求功能。

後續步驟 next-steps

recommendation-more-help
experience-platform-help-collection