[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";
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 :
name[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.monitorsonInstanceCreated, 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.platformServicesL’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 :
components.consentsetConsent et l’option de configuration defaultConsent.components.personalizationpersonalization 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
setConsentprocède à un rejet avec une erreur dont le message contientThe setConsent command does not exist. - Les options de configuration fournies par le composant sont rejetées par
configure. Par exemple, la mentiondefaultConsententraîne le rejet deconfigureavec une erreurUnknown field. - Les options lues par le composant dans d’autres méthodes sont ignorées. Par exemple,
sendEventne demande pas de personnalisation même si vous définissez l’optionpersonalization.
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.
forRequest pour la requête de chaque visiteur. Voir Instances et requêtes .