[Alpha]{class="badge informative"}
Installieren der Server-SDK
Die Server-SDK ist als @adobe/alloy-node Paket auf npm verfügbar. Installieren Sie sie in Ihrem Serverprojekt mit npm oder mit dem Package Manager, den Ihre Laufzeit verwendet:
npm install @adobe/alloy-node
Das Paket wird als ECMAScript-Module veröffentlicht und in jeder Server-seitigen JavaScript-Laufzeit ausgeführt, die die erfüllt. Laden Sie sie mit import:
import { createInstance } from "@adobe/alloy-node";
process.env und das node:http-Modul durch die Entsprechungen Ihrer Laufzeit. Siehe Laufzeitunterstützung.Instanz erstellen create-instance
Die createInstance gibt eine Instanz der SDK zurück, die alle verfügbaren optionalen Komponenten (Einverständnis und Personalization) enthält. Die meisten Implementierungen verwenden diese Funktion.
import { createInstance } from "@adobe/alloy-node";
const alloy = createInstance({ name: "alloy" });
Die createInstance-Funktion akzeptiert ein optionales Objekt mit den folgenden Eigenschaften:
name[alloy]. Die Standardeinstellung ist "alloy". Legen Sie einen anderen Namen fest, wenn Sie mehr als eine Instanz im selben Prozess ausführen und ihre Protokolle auseinanderhalten möchten.monitorsonInstanceCreated, onInstanceConfigured und onBeforeCommand, die von SDK bei der Ausführung aufgerufen werden. Diese Erweiterungspunkte funktionieren genauso wie Überwachungs-Hooks für Web SDK.platformServicesDie zurückgegebene Instanz macht Methoden wie configure, forRequest und sendEvent verfügbar. Im Gegensatz zur Web-SDK rufen Sie Methoden direkt auf der -Instanz auf, z. B. alloy.sendEvent({ ... }), anstatt den Befehlsnamen als Zeichenfolge zu übergeben.
Erstellen einer benutzerdefinierten Instanz custom-instance
Wenn Sie nicht jede optionale Komponente benötigen, verwenden Sie createCustomInstance und übergeben Sie nur die gewünschten Komponenten. Der components-Export enthält jede optionale Komponente:
components.consentsetConsent Methode und die defaultConsent.components.personalizationpersonalization Option sendEvent anzufordern.import { createCustomInstance, components } from "@adobe/alloy-node";
// Includes consent, but not personalization
const alloy = createCustomInstance({
components: [components.consent]
});
Die Komponenten Kontext, Datenerfassung, Identität und Bibliotheksinformationen sind immer enthalten. Wenn Sie eine optionale Komponente auslassen:
- Methoden, die die Komponente bereitstellt, sind weiterhin in der Instanz vorhanden, werden jedoch beim Aufruf zurückgewiesen. Beispielsweise lehnt
setConsentmit einem Fehler ab, dessen NachrichtThe setConsent command does not existenthält. - Von der Komponente bereitgestellte Konfigurationsoptionen werden von
configureabgelehnt. Beispielsweise bewirktdefaultConsent, dassconfiguremit einemUnknown fieldFehler zurückgewiesen wird. - Optionen, die die Komponente bei anderen Methoden liest, werden ignoriert. Beispielsweise fordert
sendEventkeine Personalisierung an, selbst wenn Sie die Option “personalization” festlegen.
createCustomInstance akzeptiert dieselben name-, monitors- und platformServices wie createInstance.
Senden eines Testereignisses test-event
Nachdem Sie die Authentifizierung eingerichtet haben, können Sie überprüfen, ob Ihre Installation funktioniert, indem Sie die Instanz konfigurieren und ein Ereignis senden. Speichern Sie Ihre Anmeldeinformationen in Umgebungsvariablen und nicht im Quell-Code.
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);
Wenn das Ereignis erfolgreich ist, wird die Zusage aufgelöst. Wenn dies fehlschlägt, wird die Zusage mit einem Fehler zurückgewiesen, der das Problem beschreibt, z. B. ungültige Anmeldeinformationen oder eine fehlende primäre Identität. Legen Sie debugEnabled auf true fest, um jeden Schritt in der Konsole zu protokollieren.
forRequest-Handle auf. Siehe Instanzen und Anfragen.