Kontext in Edge-Erweiterungsmodulen
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.
Adobe-Anfragekontext (arc)
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.
event
Das event
-Objekt repräsentiert das Ereignis, das die Regel ausgelöst hat und die folgenden Werte enthält:
logger.log(context.arc.event);
xdm
data
request
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 rulestash
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.
Hilfsprogramme
Die utils
-Eigenschaft stellt ein Objekt zur Bereitstellung von Dienstprogrammen dar, die spezifisch für die Tag-Laufzeit sind.
logger
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:
log(message)
info(message)
warn(message)
error(message)
debug(message)
verbose
-Protokollierung in der Browser-Konsole aktiviert ist.fetch
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())
getBuildInfo
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:
turbineVersion
turbineBuildDate
buildDate
environment
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"
}
getExtensionSettings
Dieses Dienstprogramm gibt das settings
-Objekt zurück, das zuletzt von der Ansicht der Erweiterungskonfiguration gespeichert wurde.
logger.log(context.utils.getExtensionSettings());
getSettings
Dieses Dienstprogramm gibt das settings
-Objekt zurück, das zuletzt von der entsprechenden Ansicht des Bibliothekmoduls gespeichert wurde.
logger.log(context.utils.getSettings());
getRule
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:
id
name