[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";
NOTE
In den Beispielen in diesem Handbuch wird Node.js verwendet. Wenn Sie eine andere Laufzeit verwenden, ersetzen Sie Node.js-spezifischen Code, z. B. 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:

Eigenschaft
Typ
Beschreibung
name
Zeichenfolge
Das Präfix, das SDK seinen Protokollmeldungen hinzufügt, z. B. [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.
monitors
Array
Ein Array von Hook-Überwachungsobjekten. Jedes Objekt kann Funktionen enthalten, z. B. onInstanceCreated, onInstanceConfigured und onBeforeCommand, die von SDK bei der Ausführung aufgerufen werden. Diese Erweiterungspunkte funktionieren genauso wie Überwachungs-Hooks für Web SDK.
platformServices
Objekt
Ersetzt einen oder mehrere der integrierten Services, die SDK für die Vernetzung, Speicherung und Cookies verwendet. Die meisten Implementierungen benötigen diese Eigenschaft nicht. Siehe Platform-.

Die 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:

Komponente
fügt hinzu
components.consent
Die setConsent Methode und die defaultConsent.
components.personalization
Die Möglichkeit, eine Personalisierung mit der personalization 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 setConsent mit einem Fehler ab, dessen Nachricht The setConsent command does not exist enthält.
  • Von der Komponente bereitgestellte Konfigurationsoptionen werden von configure abgelehnt. Beispielsweise bewirkt defaultConsent, dass configure mit einem Unknown field Fehler zurückgewiesen wird.
  • Optionen, die die Komponente bei anderen Methoden liest, werden ignoriert. Beispielsweise fordert sendEvent keine 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.

IMPORTANT
Dieser Test sendet das Ereignis von der Instanz der obersten Ebene, die über die gesamte Lebensdauer des Prozesses eine einzige Identität behält. Rufen Sie in Ihrer Anwendung stattdessen für jede Besucheranforderung Methoden in einem forRequest-Handle auf. Siehe Instanzen und Anfragen.

Nächste Schritte next-steps

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