[Alpha]{class="badge informative"}
Installare Server SDK
Server SDK disponibile come pacchetto @adobe/alloy-node in npm. Installalo nel progetto server con npm o con Gestione pacchetti utilizzato dal tuo runtime:
npm install @adobe/alloy-node
Il pacchetto viene pubblicato come moduli ECMAScript e viene eseguito in qualsiasi runtime JavaScript lato server che soddisfi i requisiti. Carica con import:
import { createInstance } from "@adobe/alloy-node";
process.env e il modulo node:http, con gli equivalenti del runtime. Consulta Supporto runtime.Creare un’istanza create-instance
La funzione createInstance restituisce un’istanza di SDK che include ogni componente facoltativo disponibile (Consenso e Personalization). La maggior parte delle implementazioni utilizza questa funzione.
import { createInstance } from "@adobe/alloy-node";
const alloy = createInstance({ name: "alloy" });
La funzione createInstance accetta un oggetto facoltativo con le seguenti proprietà:
name[alloy]. Impostazione predefinita: "alloy". Imposta un nome diverso se esegui più istanze nello stesso processo e vuoi distinguerne i registri.monitorsonInstanceCreated, onInstanceConfigured e onBeforeCommand, che SDK chiama durante l’esecuzione. Questi hook funzionano come hook di monitoraggio di Web SDK.platformServicesL’istanza restituita espone metodi, ad esempio configure, forRequest e sendEvent. A differenza del Web SDK, i metodi vengono chiamati direttamente nell’istanza, ad esempio alloy.sendEvent({ ... }), anziché passare il nome del comando come stringa.
Creare un’istanza personalizzata custom-instance
Se non è necessario ogni componente facoltativo, utilizzare createCustomInstance e passare solo i componenti desiderati. L’esportazione components contiene ogni componente facoltativo:
components.consentsetConsent e opzione di configurazione defaultConsent.components.personalizationpersonalization di sendEvent.import { createCustomInstance, components } from "@adobe/alloy-node";
// Includes consent, but not personalization
const alloy = createCustomInstance({
components: [components.consent]
});
I componenti per le informazioni su contesto, raccolta dati, identità e libreria sono sempre inclusi. Quando si omette un componente facoltativo:
- I metodi forniti dal componente esistono ancora nell’istanza, ma vengono rifiutati quando vengono chiamati. Ad esempio,
setConsentrifiuta con un errore il cui messaggio includeThe setConsent command does not exist. - Le opzioni di configurazione fornite dal componente vengono rifiutate da
configure.defaultConsent, ad esempio, causa il rifiuto diconfigurecon un erroreUnknown field. - Le opzioni lette dal componente in altri metodi vengono ignorate. Ad esempio,
sendEventnon richiede la personalizzazione anche se hai impostato l’opzionepersonalization.
createCustomInstance accetta le stesse proprietà name, monitors e platformServices di createInstance.
Inviare un evento di test test-event
Dopo aver configurato l’autenticazione, puoi verificare che l’installazione funzioni configurando l’istanza e inviando un evento. Memorizza le credenziali nelle variabili di ambiente invece che nel codice sorgente.
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 l’evento ha esito positivo, la promessa viene risolta. In caso di esito negativo, la promessa viene rifiutata con un errore che descrive il problema, ad esempio credenziali non valide o identità primaria mancante. Imposta debugEnabled su true per registrare ogni passaggio nella console.
forRequest per la richiesta di ogni visitatore. Consulta Istanze e richieste.