[Alpha]{class="badge informative"}

Installation du SDK du serveur

Le SDK du serveur est disponible en tant que package @adobe/alloy-node sur npm. Installez-le dans votre projet de serveur avec npm, ou avec le gestionnaire de packages que votre runtime utilise :

npm install @adobe/alloy-node

Le package est publié en tant que modules ECMAScript et s’exécute dans tout environnement d’exécution JavaScript côté serveur qui répond aux ​ exigences ​. Chargez-le avec import :

import { createInstance } from "@adobe/alloy-node";
NOTE
Les exemples de ce guide utilisent Node.js. Si vous utilisez un runtime différent, remplacez le code spécifique à Node.js, tel que process.env et le module node:http, par les équivalents de votre runtime. Voir Prise en charge d’Runtime.

Création d’une instance create-instance

La fonction createInstance renvoie une instance du SDK qui inclut chaque composant facultatif disponible (consentement et Personalization). La plupart des implémentations utilisent cette fonction.

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

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

La fonction createInstance accepte un objet facultatif avec les propriétés suivantes :

Propriété
Type
Description
name
Chaîne
Préfixe que le SDK ajoute à ses messages de journal, tel que [alloy]. La valeur par défaut est "alloy". Définissez un nom différent si vous exécutez plusieurs instances dans le même processus et souhaitez différencier leurs journaux.
monitors
Tableau
Tableau d’objets de hook de surveillance. Chaque objet peut contenir des fonctions, telles que onInstanceCreated, onInstanceConfigured et onBeforeCommand, que le SDK appelle lors de son exécution. Ces hooks fonctionnent de la même manière que les hooks de surveillance Web SDK.
platformServices
Objet
Remplace un ou plusieurs services intégrés que SDK utilise pour la mise en réseau, le stockage et les cookies. La plupart des implémentations n’ont pas besoin de cette propriété. Voir Services Platform.

L’instance renvoyée expose des méthodes, telles que configure, forRequest et sendEvent. Contrairement au SDK Web, vous appelez des méthodes directement sur l’instance, par exemple alloy.sendEvent({ ... }), au lieu de transmettre le nom de la commande sous forme de chaîne.

Créer une instance personnalisée custom-instance

Si vous n’avez pas besoin de tous les composants facultatifs, utilisez createCustomInstance et ne transmettez que les composants de votre choix. L’exportation components contient chaque composant facultatif :

Composant
Ajoute
components.consent
La méthode setConsent et l’option de configuration defaultConsent.
components.personalization
Possibilité de demander une personnalisation avec l’option personalization de sendEvent.
import { createCustomInstance, components } from "@adobe/alloy-node";

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

Les composants Contexte, Collecte de données, Identité et Informations de bibliothèque sont toujours inclus. Lorsque vous omettez un composant facultatif :

  • Les méthodes fournies par le composant existent toujours sur l’instance, mais elles sont rejetées lors de l’appel. Par exemple, la setConsent procède à un rejet avec une erreur dont le message contient The setConsent command does not exist.
  • Les options de configuration fournies par le composant sont rejetées par configure. Par exemple, la mention defaultConsent entraîne le rejet de configure avec une erreur Unknown field.
  • Les options lues par le composant dans d’autres méthodes sont ignorées. Par exemple, sendEvent ne demande pas de personnalisation même si vous définissez l’option personalization.

createCustomInstance accepte les mêmes propriétés name, monitors et platformServices que createInstance.

Envoyer un événement de test test-event

Après avoir configuré l’authentification, vous pouvez confirmer le fonctionnement de votre installation en configurant l’instance et en envoyant un événement. Stockez vos informations d’identification dans des variables d’environnement plutôt que dans le code source.

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 l’événement réussit, la promesse est résolue. En cas d’échec, la promesse est rejetée avec une erreur qui décrit le problème, telle que des informations d’identification non valides ou une identité principale manquante. Définissez debugEnabled sur true pour consigner chaque étape dans la console.

IMPORTANT
Ce test envoie l’événement à partir de l’instance de niveau supérieur, ce qui conserve une identité unique pour la durée de vie du processus. Dans votre application, appelez plutôt des méthodes sur un handle forRequest pour la requête de chaque visiteur. Voir ​ Instances et requêtes ​.

Étapes suivantes next-steps

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