[Alpha]{class="badge informative"}
서버 SDK 설치
서버 SDK은 npm에서 @adobe/alloy-node 패키지로 사용할 수 있습니다. npm이나 런타임에서 사용하는 패키지 관리자를 사용하여 서버 프로젝트에 설치합니다.
npm install @adobe/alloy-node
패키지는 ECMAScript 모듈로 게시되고 요구 사항을 충족하는 서버측 JavaScript 런타임에서 실행됩니다. import(으)로 로드:
import { createInstance } from "@adobe/alloy-node";
process.env 및 node:http 모듈과 같은 Node.js 관련 코드를 런타임에 해당하는 코드로 바꾸십시오. 런타임 지원을 참조하십시오.인스턴스 만들기 create-instance
createInstance 함수는 사용 가능한 모든 선택적 구성 요소(동의 및 Personalization)를 포함하는 SDK 인스턴스를 반환합니다. 대부분의 구현에서는 이 함수를 사용합니다.
import { createInstance } from "@adobe/alloy-node";
const alloy = createInstance({ name: "alloy" });
createInstance 함수는 다음 속성을 가진 선택적 개체를 허용합니다.
name[alloy]). 기본값은 "alloy"입니다. 동일한 프로세스에서 두 개 이상의 인스턴스를 실행하고 로그를 구분하려는 경우 다른 이름을 설정하십시오.monitorsonInstanceCreated, onInstanceConfigured 및 onBeforeCommand과(와) 같은 함수가 포함될 수 있습니다. 이러한 후크는 Web SDK 모니터링 후크와 같은 방식으로 작동합니다.platformServices반환된 인스턴스가 configure, forRequest 및 sendEvent과(와) 같은 메서드을(를) 노출합니다. 웹 SDK과 달리 명령 이름을 문자열로 전달하지 않고 인스턴스(예: alloy.sendEvent({ ... }))에서 직접 메서드를 호출합니다.
사용자 지정 인스턴스 만들기 custom-instance
모든 선택적 구성 요소가 필요하지 않은 경우 createCustomInstance을(를) 사용하고 원하는 구성 요소만 전달하십시오. components 내보내기에 각 선택적 구성 요소가 포함되어 있습니다.
components.consentsetConsent 메서드 및 defaultConsent 구성 옵션입니다.components.personalizationsendEvent의 personalization 옵션을 사용하여 개인화를 요청하는 기능입니다.import { createCustomInstance, components } from "@adobe/alloy-node";
// Includes consent, but not personalization
const alloy = createCustomInstance({
components: [components.consent]
});
컨텍스트, 데이터 수집, ID 및 라이브러리 정보 구성 요소는 항상 포함됩니다. 선택적 구성 요소를 제외할 경우:
- 구성 요소가 제공하는 메서드가 여전히 인스턴스에 있지만 를 호출하면 거부됩니다. 예를 들어
setConsent은(는) 메시지에The setConsent command does not exist이(가) 포함된 오류와 함께 거부합니다. configure이(가) 구성 요소에서 제공하는 구성 옵션을 거부합니다. 예를 들어defaultConsent을(를) 사용하면Unknown field오류가 발생하여configure이(가) 거부됩니다.- 구성 요소가 다른 메서드에서 읽는 옵션은 무시됩니다. 예를 들어
sendEvent은(는)personalization옵션을 설정해도 개인화를 요청하지 않습니다.
createCustomInstance이(가) createInstance과(와) 동일한 name, monitors 및 platformServices 속성을 허용합니다.
테스트 이벤트 보내기 test-event
인증을 설정한 후 인스턴스를 구성하고 이벤트를 하나 전송하여 설치가 작동하는지 확인할 수 있습니다. 자격 증명을 소스 코드가 아닌 환경 변수에 저장합니다.
import { createInstance } from "@adobe/alloy-node";
const alloy = createInstance();
await alloy.configure({
datastreamId: "ebebf826-a01f-4458-8cec-ef61de241c93",
orgId: "ADB3LETTERSANDNUMBERS@AdobeOrg",
edgeCredentials: {
clientId: process.env.ADOBE_CLIENT_ID,
clientSecret: process.env.ADOBE_CLIENT_SECRET,
scopes: process.env.ADOBE_SCOPES.split(",")
}
});
const result = await alloy.sendEvent({
xdm: {
eventType: "web.webpagedetails.pageViews",
identityMap: {
Email: [{ id: "test-visitor@example.com", primary: true }]
}
}
});
console.log("Event sent", result);
이벤트가 성공하면 약속이 해결됩니다. 실패할 경우, 잘못된 자격 증명 또는 누락된 기본 ID와 같이 문제를 설명하는 오류와 함께 약속이 거부됩니다. 각 단계를 콘솔에 기록하려면 debugEnabled을(를) true(으)로 설정하십시오.
forRequest 핸들의 메서드를 대신 호출하십시오. 인스턴스 및 요청을 참조하세요.