Esta página describe onBeforeEventSend en el método Server SDK configure. Para Web SDK, consulte onBeforeEventSend.
La llamada de retorno onBeforeEventSend le permite registrar una función que se ejecuta justo antes de que Server SDK envíe cada evento. Utilícelo para agregar, cambiar o quitar datos en cada evento en un solo lugar, o para cancelar eventos que no desee enviar, como el tráfico de bots conocidos.
SDK llama a la función con un objeto content que contiene las siguientes propiedades:
xdm: los datos XDM del evento. Ya incluye los datos que SDK agrega automáticamente, comoimplementationDetailsy la dirección URL de la página tomada del encabezadoReferer. Ver Contexto y encabezados reenviados.data: los datos no XDM del evento, de la opcióndatadesendEvent.
Cambie directamente el objeto content. Devuelva false para cancelar el evento. Al cancelar un evento, sendEvent se resuelve con un objeto vacío y SDK no se pone en contacto con Adobe.
sendEvent lo rechaza con un error que incluye el mensaje de la función.Ejemplo de código
Registre la llamada de retorno onBeforeEventSend cuando llame a configure. SDK llama a la misma función para cada evento desde la instancia y desde cada identificador de forRequest, por lo que la función no debe depender de los datos de una única solicitud. En su lugar, use el objeto content.
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(",")
},
onBeforeEventSend: (content) => {
// Cancel events that your application marked as bot traffic
if (content.data?.isBot) {
return false;
}
// Add a value to every event
content.xdm.application ??= {};
content.xdm.application.name = "Example storefront";
// Remove the query string from the page URL
const pageUrl = content.xdm.web?.webPageDetails?.URL;
if (pageUrl) {
content.xdm.web.webPageDetails.URL = pageUrl.split("?")[0];
}
}
});