[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";
NOTE
Os exemplos neste guia usam Node.js. Se você usar um tempo de execução diferente, substitua o código específico do Node.js, como 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:

Propriedade
Tipo
Descrição
name
String
O prefixo que o SDK adiciona às suas mensagens de log, como [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.
monitors
Matriz
Uma matriz de objetos de gancho de monitoramento. Cada objeto pode conter funções, como onInstanceCreated, onInstanceConfigured e onBeforeCommand, que o SDK chama conforme é executado. Esses ganchos funcionam da mesma forma que os ganchos de monitoramento do Web SDK.
platformServices
Objeto
Substitui um ou mais dos serviços integrados que o SDK usa para rede, armazenamento e cookies. A maioria das implementações não precisa dessa propriedade. Consulte Serviços da plataforma.

A 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:

Componente
Adiciona
components.consent
O método setConsent e a opção de configuração defaultConsent.
components.personalization
A capacidade de solicitar personalização com a opção personalization 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 inclui The setConsent command does not exist.
  • As opções de configuração que o componente fornece são rejeitadas por configure. Por exemplo, defaultConsent faz com que configure seja rejeitado com um erro Unknown field.
  • As opções que o componente lê em outros métodos são ignoradas. Por exemplo, sendEvent não solicita personalização mesmo se você definir a opção personalization.

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.

IMPORTANT
Esse teste envia o evento da instância de nível superior, que mantém uma única identidade durante a vida útil do processo. No seu aplicativo, chame os métodos em um identificador forRequest para cada solicitação do visitante. Consulte Instâncias e solicitações.

Próximas etapas next-steps

recommendation-more-help
experience-platform-help-collection