이 페이지에서는 Server SDK sendEvent 메서드를 설명합니다. 웹 SDK에 대해서는 sendEvent.을(를) 참조하십시오.
sendEvent 메서드는 서버에서 Adobe으로 데이터를 보내는 기본 방법입니다. 그 결과는 개인화된 콘텐츠를 검색하는 방법이기도 합니다. xdm 개체를 사용하여 Adobe Experience Platform 스키마에 매핑되는 데이터를 전송하고 data 개체를 사용하여 다른 데이터를 전송합니다.
configure이(가) 확인된 후 현재 방문자의 forRequest 핸들에서 sendEvent을(를) 호출합니다.
const visitor = alloy.forRequest({ request: req });
const result = await visitor.sendEvent({
type: "commerce.purchases",
xdm: {
identityMap: {
Email: [{ id: "visitor@example.com", primary: true }]
},
commerce: {
purchases: { value: 1 },
order: {
purchaseID: "a8g784hjq1mnp3",
currencyCode: "USD",
priceTotal: 999.98
}
}
},
data: {
loyaltyTier: "gold"
},
personalization: {
decisionScopes: ["order-confirmation-offer"]
},
edgeConfigOverrides: {
com_adobe_analytics: {
reportSuites: ["examplersid1"]
}
}
});
SDK은 server.adobedc.net에서 인증된 Edge Network Server API로 각 이벤트를 보냅니다. 인증을 참조하세요.
요구 사항 requirements
- 기본 ID: 각 이벤트에는
xdm.identityMap의 기본 ID가 포함되어야 합니다. 그렇지 않으면 Edge Network이 이벤트를 거부합니다.xdm을(를) 참조하십시오. - 크기: SDK에서 보내는 요청은 최대 64KB입니다. Edge Network API 설명서의 보호 기능을 참조하십시오.
- 동의: 방문자가 옵트아웃했거나
defaultConsent이(가)"out"이고 방문자가 옵트인하지 않은 경우sendEvent은(는) 아무 것도 보내지 않고 빈 개체로 확인됩니다.
옵션 options
SDK에서 인식하지 못하는 옵션을 전달하면 sendEvent이(가) Unknown field 오류와 함께 거부합니다.
서버에 영향을 주지 않는 옵션 no-effect
서버 SDK은 브라우저 구현과 이벤트 구축 코드를 공유할 수 있도록 다음 웹 SDK 옵션을 허용합니다. 그러나 브라우저에 따라 다르며 서버에는 영향을 주지 않습니다.
renderDecisions: SDK에서 콘텐츠를 렌더링하지 않습니다. 대신 결과에 제안을 반환합니다.personalization.sendDisplayEvent,personalization.includeRenderedPropositions,personalization.defaultPersonalizationEnabled및personalization.decisionContext.advertising.
서버에 documentUnloading을(를) 설정하지 마십시오. 브라우저 외부에서는 적용되지 않습니다. 이미 ID가 있는 방문자의 경우 SDK에서 이벤트를 인증된 서버 API가 아닌 edgeDomain에 인증되지 않은 요청으로 보냅니다. 해당 끝점은 응답을 반환하지 않으므로 sendEvent은(는) 제안을 반환하지 않습니다.
더 이상 사용되지 않는 datasetId 및 mergeId 옵션은 계속 사용할 수 있습니다. edgeConfigOverrides에서 datasetId 대신 com_adobe_experience_platform.datasets.event.datasetId을(를) 사용합니다.
결과 개체 result
sendEvent 메서드가 약속을 반환합니다. 결과 처리를 참조하세요. 약속이 해결되면 결과 오브젝트에 다음 속성이 포함될 수 있습니다.
propositions:personalization에서 요청한 범위 및 표면에 대해 Edge Network에서 반환한 개인화 제안 배열입니다. 이 속성은 개인화를 요청할 때만 표시됩니다. SDK에서는 제안을 렌더링하거나 렌더링된 것으로 표시하지 않습니다.
개인화를 요청하지 않거나 동의 또는 onBeforeEventSend 때문에 이벤트가 전송되지 않는 경우 결과는 빈 개체입니다.
const { propositions = [] } = await visitor.sendEvent({
xdm: {
eventType: "decisioning.propositionFetch",
identityMap: {
Email: [{ id: "visitor@example.com", primary: true }]
}
},
personalization: {
surfaces: ["web://example.com/home"]
}
});
웹 SDK과 달리 결과에 inferences 또는 destinations이(가) 포함되지 않습니다.