[Alpha]{class="badge informative"}
forRequest(서버 SDK)
forRequest 메서드가 들어오는 단일 요청에 범위가 지정된 핸들을 반환합니다. 서버가 처리하는 각 요청에 대해 한 번씩 호출한 다음 핸들에서 sendEvent과(와) 같은 메서드를 호출합니다. 각 브라우저 페이지가 이미 단일 방문자를 제공하므로 이 메서드는 웹 SDK에 없습니다.
핸들은 configure에 전달한 옵션과 동일한 옵션으로 구성된 자체 SDK 인스턴스에서 지원됩니다. 이렇게 하면 한 방문자의 ID와 동의가 다른 방문자의 요청으로 절대 유출되지 않습니다. 각 핸들이 최상위 인스턴스와 공유하는 내용에 대한 설명은 인스턴스 및 요청을 참조하십시오.
const visitor = alloy.forRequest({
request: req
});
await visitor.sendEvent({
xdm: {
eventType: "web.webpagedetails.pageViews",
identityMap: {
Email: [{ id: "visitor@example.com", primary: true }]
}
}
});
옵션 options
forRequest 메서드는 다음 속성을 갖는 선택적 개체를 허용합니다.
requestIncomingMessage, Express 요청 또는 Fetch API Request과(와) 같이 headers 속성이 있는 모든 개체가 작동합니다. SDK은 방문자 헤더 중 일부를 Edge Network으로 전달하고 Referer 헤더를 읽습니다. 컨텍스트 및 전달된 헤더를 참조하십시오.cookienetwork, runtime, legacy, globalscreateInstance에 전달한 서비스에 대한 대체 요소이며 이 핸들에 대해서만 사용됩니다. network은(는) 네트워크 서비스를 반환하는 함수로 전달하고, 나머지는 개체로 전달합니다. 플랫폼 서비스를 참조하세요.createInstance에 전달한 cookie 또는 storage 서비스에 방문자 데이터가 있기 때문에 핸들은 해당 서비스를 다시 사용하지 않습니다. 대신 각 요청에 대해 forRequest에게 전달하십시오.
반환 값 return
다른 메서드와 달리 forRequest은(는) 약속을 반환하지 않습니다. 핸들이 바로 반환됩니다. 핸들에는 최상위 인스턴스에서와 동일한 방식으로 작동하는 다음 메서드가 있습니다.
핸들이 이미 구성되어 있으므로 핸들에 configure 또는 forRequest 메서드가 없습니다.
각 요청에 대한 새 핸들을 만듭니다. 여러 요청에 핸들을 재사용하거나 방문자 간에 공유하지 마십시오.
오류 errors
configure이(가) 확인되기 전에 forRequest에서 호출하는 경우 또는 configure이(가) 거부되는 경우 오류가 발생합니다.
forRequest() can only be called after configure() has resolved.
이 오류를 방지하려면 서버가 요청을 수락하기 시작할 때까지 configure이(가) 해결될 때까지 기다리십시오.