[Alpha]{class="badge informative"}

JavaScript용 서버 SDK 개요

JavaScript용 Adobe Experience Platform Server SDK 또는 Server SDK​은(는) 서버에서 실행되고 Adobe Experience Platform Edge Network으로 데이터를 전송하는 라이브러리입니다. 요구 사항을 충족하는 Node.js 및 다른 서버측 JavaScript 런타임에서 실행됩니다. npm에 @adobe/alloy-node​(으)로 게시되었습니다. 이 안내서에서는 핵심 개념, 설치, 구성 및 방법을 다룹니다.

Server SDK은 해당 코어를 Web SDK와(과) 공유합니다. 동일한 데이터스트림, 동일한 XDM 데이터 모델, 동일한 ID 및 동의 쿠키를 사용합니다. 브라우저 대신 서버에서 실행되기 때문에 인스턴스를 만들고, 인증하고, 각 방문자의 요청을 처리하는 방법이 다릅니다.

IMPORTANT
Server SDK이 alpha에 있습니다. 릴리스 간에 메서드, 옵션 및 동작이 변경될 수 있으며 지원되는 기능에 나열된 기능만 사용할 수 있습니다. 업그레이드하기 전에 릴리스 정보를 검토하십시오.

서버 SDK 사용 시기 when-to-use

Adobe은 Edge Network에 데이터를 전송하는 여러 가지 방법을 제공합니다. 코드가 실행되는 위치와 일치하는 항목을 선택합니다.

접근 방식
다음의 경우에 사용
웹 SDK
코드가 방문자의 브라우저에서 실행됩니다. 웹 SDK은 개인화된 콘텐츠를 렌더링하고, 링크 클릭을 수집하고, 페이지 컨텍스트를 자동으로 읽을 수 있습니다.
서버 SDK
코드는 방문자의 요청을 처리하는 JavaScript 서버에서 실행됩니다. 예를 들어 페이지를 렌더링하는 서버, API 백엔드 또는 페이지가 브라우저에 도달하기 전에 개인화를 가져오는 미들웨어입니다.
Edge Network API
라이브러리 없이 모든 언어에서 Edge Network을 직접 호출하려고 합니다. Server SDK에서 이 API를 호출합니다.

서버 SDK과 웹 SDK을 함께 사용할 수 있습니다. 예를 들어 서버가 개인화된 콘텐츠를 요청하고 브라우저가 이를 렌더링할 수 있습니다. 하이브리드 개인화를 참조하세요.

작동 방식 how-it-works

  1. 서버가 시작되면 인스턴스를 만들고 데이터스트림, 조직 및 API 자격 증명을 사용하여 configure을(를) 한 번 호출합니다.
  2. 들어오는 각 요청에 대해​을(를) 사용하려면 forRequest을(를) 호출하여 해당 방문자의 범위를 지정합니다. 핸들은 사용자가 제공하는 쿠키 서비스를 통해 방문자의 ID와 동의를 읽고 쓰고, 방문자의 요청 헤더(예: User-Agent)를 Edge Network에 전달합니다.
  3. 핸들에서 메서드를 호출합니다(예: sendEvent). SDK이 자동으로 가져오고 캐시하는 액세스 토큰을 사용하여 인증된 Edge Network Server API에 이벤트를 보냅니다.
  4. SDK이 결과를 코드로 반환합니다. 예를 들어 sendEvent은(는) 개인화 제안을 데이터로 반환합니다. SDK은 렌더링하지 않습니다. 응용 프로그램은 웹 SDK을 렌더링할 페이지에 포함할 수 있도록 할 작업을 결정합니다.

자세한 내용은 인스턴스 및 요청을 참조하세요.

지원되는 기능 features

다음 표에는 알파 릴리스가 지원하는 항목이 나열되어 있습니다. 자세한 비교는 웹 SDK과 차이점을 참조하세요.

기능
상태
sendEvent(으)로 이벤트 보내기
지원됨
getIdentity 및 appendIdentityToUrl(으)로 ID 검색
지원됨
setConsent 및 defaultConsent(으)로 동의
지원됨. defaultConsent은(는) "in"과(와) "out"만 허용합니다.
personalization(으)로 개인화 요청
지원됨. 제안은 데이터로 반환되고 렌더링되지 않습니다.
컨텍스트 데이터
부분적으로 지원됨. 컨텍스트 및 전달된 헤더를 참조하십시오.
debugEnabled 및 setDebug(으)로 디버깅
지원됨. 콘솔에 로그가 기록됩니다.
개인화된 콘텐츠를 렌더링하고 컬렉션, 미디어 분석, 푸시 알림, Brand Concierge, 대상 및 규칙 기반 콘텐츠 카드를 만들 수 있습니다
지원되지 않음

요구 사항 requirements

서버 SDK을 사용하기 전에 다음을 확인하십시오.

  • 서버측 JavaScript 런타임(예: Node.js 22 이상). import이(가) 있는 패키지를 로드하므로 런타임에서 ECMAScript 모듈을 지원해야 합니다. 또한 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

Server SDK은 요구 사항을 충족하는 모든 서버측 JavaScript 런타임에서 지원됩니다. Node.js 특정 모듈에 따라 달라지지 않습니다. 기본 플랫폼 서비스에서는 fetch과(와) 같은 웹 표준 API만 사용합니다.

이러한 안내서에서는 Node.js를 기본 예제 런타임으로 사용합니다. 코드 예제에서는 process.env에서 자격 증명을 읽고 node:http 모듈로 요청을 처리하는 것과 같은 Node.js 규칙을 사용합니다. 다른 런타임을 사용하는 경우 이러한 부품을 런타임에 해당하는 부품으로 교체합니다. SDK의 자체 메서드는 지원되는 모든 런타임에서 동일한 방식으로 작동합니다.

Source 코드 및 피드백 source

Server SDK은 오픈 소스입니다. 소스 코드는 GitHub의 adobe/alloy 리포지토리의 packages/node 폴더에 있습니다. 해당 저장소의 문제 및 요청 기능 보고

다음 단계 next-steps

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