Esta página descreve onBeforeEventSend no método configure do SDK do Servidor. Para o Web SDK, consulte onBeforeEventSend.
O retorno de chamada onBeforeEventSend permite registrar uma função que é executada antes que o SDK do servidor envie cada evento. Use-a para adicionar, alterar ou remover dados em cada evento em um local ou para cancelar eventos que você não deseja enviar, como tráfego de bots conhecidos.
O SDK chama a função com um objeto content que contém as seguintes propriedades:
xdm: os dados XDM do evento. Ela já inclui os dados que o SDK adiciona automaticamente, comoimplementationDetailse a URL da página retirada do cabeçalhoReferer. Consulte Contexto e cabeçalhos encaminhados.data: Os dados não XDM do evento, da opçãodatadesendEvent.
Altere o objeto content diretamente. Retorne false para cancelar o evento. Ao cancelar um evento, sendEvent é resolvido com um objeto vazio e a SDK não contata a Adobe.
sendEvent será rejeitado com um erro que inclui a mensagem da sua função.Exemplo de código
Registre o retorno de chamada onBeforeEventSend ao chamar configure. O SDK chama a mesma função para cada evento da instância e de cada identificador forRequest, portanto, a função não deve depender dos dados de uma única solicitação. Em vez disso, use o 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];
}
}
});