[Alpha]{class="badge informative"}
Instalar o SDK do servidor
O Server SDK está disponível como o pacote @adobe/alloy-node em npm. Instale-o no projeto do servidor com npm ou com o gerenciador de pacotes que seu tempo de execução usa:
npm install @adobe/alloy-node
O pacote é publicado como módulos ECMAScript e executado em qualquer tempo de execução do JavaScript do lado do servidor que atenda aos requisitos. Carregar com import:
import { createInstance } from "@adobe/alloy-node";
process.env e o módulo node:http, pelos equivalentes do tempo de execução. Consulte Suporte de tempo de execução.Criar uma instância create-instance
A função createInstance retorna uma instância da SDK que inclui todos os componentes opcionais disponíveis (Consentimento e Personalization). A maioria das implementações usa essa função.
import { createInstance } from "@adobe/alloy-node";
const alloy = createInstance({ name: "alloy" });
A função createInstance aceita um objeto opcional com as seguintes propriedades:
name[alloy]. O padrão é "alloy". Defina um nome diferente se você executar mais de uma instância no mesmo processo e quiser diferenciar os logs.monitorsonInstanceCreated, onInstanceConfigured e onBeforeCommand, que o SDK chama conforme é executado. Esses ganchos funcionam da mesma forma que os ganchos de monitoramento do Web SDK.platformServicesA instância retornada expõe métodos, como configure, forRequest e sendEvent. Ao contrário do Web SDK, você chama métodos diretamente na instância, por exemplo alloy.sendEvent({ ... }), em vez de passar o nome do comando como uma cadeia de caracteres.
Criar uma instância personalizada custom-instance
Se você não precisar de todos os componentes opcionais, use o createCustomInstance e transmita apenas os componentes desejados. A exportação components contém cada componente opcional:
components.consentsetConsent e a opção de configuração defaultConsent.components.personalizationpersonalization de sendEvent.import { createCustomInstance, components } from "@adobe/alloy-node";
// Includes consent, but not personalization
const alloy = createCustomInstance({
components: [components.consent]
});
Os componentes de informações de contexto, coleção de dados, identidade e biblioteca são sempre incluídos. Quando um componente opcional é omitido:
- Os métodos fornecidos pelo componente ainda existem na instância, mas são rejeitados quando chamados. Por exemplo,
setConsenté rejeitado com um erro cuja mensagem incluiThe setConsent command does not exist. - As opções de configuração que o componente fornece são rejeitadas por
configure. Por exemplo,defaultConsentfaz com queconfigureseja rejeitado com um erroUnknown field. - As opções que o componente lê em outros métodos são ignoradas. Por exemplo,
sendEventnão solicita personalização mesmo se você definir a opçãopersonalization.
createCustomInstance aceita as mesmas propriedades name, monitors e platformServices que createInstance.
Enviar um evento de teste test-event
Depois de configurar a autenticação, você pode confirmar que a instalação funciona configurando a instância e enviando um evento. Armazene suas credenciais em variáveis de ambiente em vez de no código-fonte.
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);
Se o evento for bem-sucedido, a promessa será resolvida. Se falhar, a promessa será rejeitada com um erro que descreve o problema, como credenciais inválidas ou uma identidade principal ausente. Defina debugEnabled como true para registrar cada etapa no console.
forRequest para cada solicitação do visitante. Consulte Instâncias e solicitações.