[Alpha]{class="badge informative"}

Instalación de Server SDK

Server SDK está disponible como paquete @adobe/alloy-node en npm. Instálelo en el proyecto de servidor con npm o con el administrador de paquetes que utiliza el tiempo de ejecución:

npm install @adobe/alloy-node

El paquete se publica como módulos ECMAScript y se ejecuta en cualquier tiempo de ejecución de JavaScript del lado del servidor que cumpla los requisitos. Cargarlo con import:

import { createInstance } from "@adobe/alloy-node";
NOTE
Los ejemplos de esta guía utilizan Node.js. Si utiliza un tiempo de ejecución diferente, reemplace el código específico de Node.js, como process.env y el módulo node:http, por los equivalentes del tiempo de ejecución. Consulte Compatibilidad en tiempo de ejecución.

Creación de una instancia create-instance

La función createInstance devuelve una instancia de SDK que incluye todos los componentes opcionales disponibles (Consentimiento y Personalization). La mayoría de las implementaciones utilizan esta función.

import { createInstance } from "@adobe/alloy-node";

const alloy = createInstance({ name: "alloy" });

La función createInstance acepta un objeto opcional con las siguientes propiedades:

Propiedad
Tipo
Descripción
name
Cadena
Prefijo que SDK agrega a sus mensajes de registro, como [alloy]. El valor predeterminado es "alloy". Establezca un nombre diferente si ejecuta más de una instancia en el mismo proceso y desea separar sus registros.
monitors
Matriz
Matriz de objetos de vínculo de monitorización. Cada objeto puede contener funciones, como onInstanceCreated, onInstanceConfigured y onBeforeCommand, a las que SDK llama mientras se ejecuta. Estos enlaces funcionan de la misma manera que los enlaces de monitoreo de Web SDK.
platformServices
Objeto
Reemplaza uno o más de los servicios integrados que utiliza SDK para la red, el almacenamiento y las cookies. La mayoría de las implementaciones no necesitan esta propiedad. Consulte Servicios de plataforma.

La instancia devuelta expone métodos, como configure, forRequest y sendEvent. A diferencia de Web SDK, llama a los métodos directamente en la instancia, por ejemplo alloy.sendEvent({ ... }), en lugar de pasar el nombre del comando como una cadena.

Crear una instancia personalizada custom-instance

Si no necesita todos los componentes opcionales, use createCustomInstance y pase solamente los componentes que desee. La exportación components contiene cada componente opcional:

Componente
Agrega
components.consent
El método setConsent y la opción de configuración defaultConsent.
components.personalization
Capacidad para solicitar la personalización con la opción personalization de sendEvent.
import { createCustomInstance, components } from "@adobe/alloy-node";

// Includes consent, but not personalization
const alloy = createCustomInstance({
  components: [components.consent]
});

Siempre se incluyen los componentes Contexto, Recopilación de datos, Identidad e Información de biblioteca. Cuando excluye un componente opcional:

  • Los métodos que proporciona el componente siguen existiendo en la instancia, pero se rechazan cuando se llaman. Por ejemplo, setConsent rechaza con un error cuyo mensaje incluye The setConsent command does not exist.
  • configure rechaza las opciones de configuración que proporciona el componente. Por ejemplo, defaultConsent hace que configure rechace con un error Unknown field.
  • Las opciones que el componente lee en otros métodos se omiten. Por ejemplo, sendEvent no solicita personalización aunque establezca la opción personalization.

createCustomInstance acepta las mismas propiedades name, monitors y platformServices que createInstance.

Enviar un evento de prueba test-event

Después de configurar authentication, puede confirmar que la instalación funciona configurando la instancia y enviando un evento. Almacene sus credenciales en variables de entorno en lugar de en el código fuente.

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);

Si el evento se realiza correctamente, la promesa se resuelve. Si falla, la promesa se rechaza con un error que describe el problema, como credenciales no válidas o la falta de una identidad principal. Establezca debugEnabled en true para registrar cada paso en la consola.

IMPORTANT
Esta prueba envía el evento desde la instancia de nivel superior, que mantiene una sola identidad durante la duración del proceso. En su aplicación, llame a los métodos en un identificador forRequest para cada solicitud del visitante. Ver Instancias y solicitudes.

Próximos pasos next-steps

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