Adobe Experience Platform Launch wurde als eine Suite von Datenerfassungstechnologien in Adobe Experience Platform umbenannt. Infolgedessen wurden in der gesamten Produktdokumentation mehrere terminologische Änderungen eingeführt. Eine konsolidierte Übersicht der terminologischen Änderungen finden Sie im folgenden Dokument.
Für alle Bibliotheksmodule in Edge-Erweiterungen wird beim Ausführen ein context
-Objekt bereitgestellt. Dieses Dokument behandelt die Eigenschaften des context
-Objekts und die Rolle, die sie in Bibliotheksmodulen spielen.
Die Eigenschaft arc
ist ein Objekt, das Informationen über das Ereignis bereitstellt, das die Regel auslöst. Die folgenden Abschnitte behandeln die verschiedenen Untereigenschaften, die in diesem Objekt enthalten sind.
Das event
-Objekt repräsentiert das Ereignis, das die Regel ausgelöst hat und die folgenden Werte enthält:
logger.log(context.arc.event);
Eigenschaft | Beschreibung |
---|---|
xdm |
Das XDM-Objekt des Ereignisses. |
data |
Die benutzerdefinierte Datenschicht. |
request
sollte nicht mit einer Anfrage vom Client-Gerät verwechselt werden. Es ist ein geringfügig modifiziertes Objekt, das vom Adobe Experience Platform Edge Network stammt.
logger.log(context.arc.request)
Das request
-Objekt besitzt zwei Eigenschaften auf der obersten Ebene: body
und head
. Die body
-Eigenschaft enthält Informationen zum Experience-Datenmodell (XDM) und kann im Adobe Experience Platform Debugger eingesehen werden, indem Sie zu Launch navigieren und die Registerkarte Edge Trace auswählen.
ruleStash
ist ein Objekt, das jedes Ergebnis aus Aktionsmodulen erfasst.
logger.log(context.arc.ruleStash);
Jede Erweiterung hat ihren eigenen Namensraum. Wenn Ihre Erweiterung beispielsweise den Namen send-beacon
hat, werden alle Ergebnisse von send-beacon
-Aktionen im ruleStash['send-beacon']
-Namespace gespeichert.
Der Namespace ist für jede Erweiterung eindeutig und beginnt mit dem Wert undefined
.
Der Namespace wird mit dem von jeder Aktion zurückgegebenen Ergebnis überschrieben. Eine Erweiterung transform
enthält beispielsweise zwei Aktionen: generate-fullname
und generate-fulladdress
. Diese beiden Aktionen werden dann einer Regel hinzugefügt.
Wenn das Ergebnis der Aktion generate-fullname
Firstname Lastname
lautet, wird der Regel-Stash nach dem Abschluss der Aktion wie folgt angezeigt:
{
transform: 'Firstname Lastname'
}
Wenn das Ergebnis der Aktion generate-address
3900 Adobe Way
lautet, wird der Regel-Stash nach dem Abschluss der Aktion wie folgt angezeigt:
{
transform: '3900 Adobe Way'
}
Beachten Sie, dass „Vorname Nachname“ nicht mehr im Regel-Stash vorhanden ist, da die generate-address
-Aktion ihn mit einem neuen Wert überschrieben hat.
Wenn ruleStash
die Ergebnisse beider Aktionen im transform
-Namespace speichern soll, kann Ihr Aktionsmodul dem folgenden Beispiel folgen:
module.exports = (context) => {
let transformRuleStash = context.arc.ruleStash.transform;
if (!transformRuleStash) {
transformRuleStash = {};
}
transformRuleStash.fullName = 'Firstname Lastname';
return transformRuleStash;
}
Bei der ersten Ausführung dieser Aktion ist ruleStash
im Zustand undefined
und wird daher als leeres Objekt initialisiert. Bei der nächsten Ausführung der Aktion erhält sie ruleStash
, das beim vorherigen Aufruf der Aktion zurückgegeben wurde. Bei der Verwendung eines Objekts als ruleStash
können Sie neue Daten hinzufügen, ohne zuvor durch andere Aktionen unserer Erweiterung festgelegte Daten zu verlieren.
Achten Sie darauf, bei dieser Methode immer den vollständigen Erweiterungsregel-Stash zurückzugeben. Wenn Sie stattdessen nur einen Wert zurückgeben, werden alle anderen zuvor festgelegten Eigenschaften überschrieben.
Die utils
-Eigenschaft stellt ein Objekt zur Bereitstellung von Dienstprogrammen dar, die spezifisch für die Tag-Laufzeit sind.
Mit dem Dienstprogramm logger
können Sie Meldungen protokollieren, die während Debugging-Sitzungen angezeigt werden, wenn Sie den Adobe Experience Platform Debugger verwenden.
context.utils.logger.error('Error!');
Die Protokollfunktion verfügt über die folgenden Methoden, wobei message
die zu protokollierende Meldung ist:
Methode | Beschreibung |
---|---|
log(message) |
Protokolliert eine Meldung auf der Browser-Konsole. |
info(message) |
Protokolliert eine Informationsmeldung auf der Konsole. |
warn(message) |
Protokolliert eine Warnmeldung auf der Konsole. |
error(message) |
Protokolliert eine Fehlermeldung auf der Konsole. |
debug(message) |
Protokolliert eine Debugging-Meldung auf der Konsole. Nur sichtbar, wenn die verbose -Protokollierung in der Browser-Konsole aktiviert ist. |
Dieses Dienstprogramm implementiert die Fetch-API. Mit dieser Funktion können Sie Anforderungen an Endpunkte von Drittanbietern senden.
context.utils.fetch('http://example.com/movies.json')
.then(response => response.json())
Dieses Dienstprogramm gibt ein Objekt zurück, das Informationen zum Build der aktuellen Tag-Laufzeitbibliothek enthält.
logger.log(context.utils.getBuildInfo().turbineBuildDate);
Das Objekt enthält die folgenden Werte:
Eigenschaft | Beschreibung |
---|---|
turbineVersion |
Die in der aktuellen Bibliothek verwendete Turbine-Version. |
turbineBuildDate |
Das ISO-8601-Datum, an dem die im aktuellen Container verwendete Turbine-Version erstellt wurde. |
buildDate |
Das ISO-8601-Datum, an dem die aktuelle Bibliothek erstellt wurde. |
environment |
Die Umgebung, für die diese Bibliothek erstellt wurde. Zu den möglichen Werten gehören development , staging und production. |
Im Folgenden finden Sie ein Beispiel für ein getBuildInfo
-Objekt, das die zurückgegebenen Werte veranschaulicht:
{
turbineVersion: "1.0.0",
turbineBuildDate: "2016-07-01T18:10:34Z",
buildDate: "2016-03-30T16:27:10Z",
environment: "development"
}
Dieses Dienstprogramm gibt das settings
-Objekt zurück, das zuletzt von der Ansicht der Erweiterungskonfiguration gespeichert wurde.
logger.log(context.utils.getExtensionSettings());
Dieses Dienstprogramm gibt das settings
-Objekt zurück, das zuletzt von der entsprechenden Ansicht des Bibliothekmoduls gespeichert wurde.
logger.log(context.utils.getSettings());
Dieses Dienstprogramm gibt ein Objekt zurück, das Informationen zur Regel enthält, die das Modul auslöst.
logger.log(context.utils.getRule());
Das Objekt enthält die folgenden Werte:
Eigenschaft | Beschreibung |
---|---|
id |
Die Regel-ID. |
name |
Den Regelnamen. |