[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";
NOTE
Gli esempi in questa guida utilizzano Node.js. Se utilizzi un runtime diverso, sostituisci il codice specifico di Node.js, ad esempio 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à:

Proprietà
Tipo
Descrizione
name
Stringa
Il prefisso che SDK aggiunge ai messaggi del registro, ad esempio [alloy]. Impostazione predefinita: "alloy". Imposta un nome diverso se esegui più istanze nello stesso processo e vuoi distinguerne i registri.
monitors
Array
Matrice di oggetti hook di monitoraggio. Ogni oggetto può contenere funzioni, ad esempio onInstanceCreated, onInstanceConfigured e onBeforeCommand, che SDK chiama durante l’esecuzione. Questi hook funzionano come hook di monitoraggio di Web SDK.
platformServices
Oggetto
Sostituisce uno o più servizi incorporati utilizzati da SDK per il networking, l’archiviazione e i cookie. La maggior parte delle implementazioni non richiede questa proprietà. Consulta Servizi Platform.

L’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:

Componente
Aggiunte
components.consent
Metodo setConsent e opzione di configurazione defaultConsent.
components.personalization
Possibilità di richiedere la personalizzazione con l’opzione personalization 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, setConsent rifiuta con un errore il cui messaggio include The setConsent command does not exist.
  • Le opzioni di configurazione fornite dal componente vengono rifiutate da configure. defaultConsent, ad esempio, causa il rifiuto di configure con un errore Unknown field.
  • Le opzioni lette dal componente in altri metodi vengono ignorate. Ad esempio, sendEvent non richiede la personalizzazione anche se hai impostato l’opzione personalization.

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.

IMPORTANT
Questo test invia l’evento dall’istanza di livello superiore, che mantiene una singola identità per la durata del processo. Nell'applicazione, chiamare i metodi su un handle forRequest per la richiesta di ogni visitatore. Consulta Istanze e richieste.

Passaggi successivi next-steps

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