[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";
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:
name[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.monitorsonInstanceCreated, 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.platformServicesLa 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:
components.consentsetConsent y la opción de configuración defaultConsent.components.personalizationpersonalization 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,
setConsentrechaza con un error cuyo mensaje incluyeThe setConsent command does not exist. configurerechaza las opciones de configuración que proporciona el componente. Por ejemplo,defaultConsenthace queconfigurerechace con un errorUnknown field.- Las opciones que el componente lee en otros métodos se omiten. Por ejemplo,
sendEventno solicita personalización aunque establezca la opciónpersonalization.
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.
forRequest para cada solicitud del visitante. Ver Instancias y solicitudes.