Bedingungstypen für Web-Erweiterungen
Im Kontext einer Regel wird eine Bedingung ausgewertet, nachdem ein Ereignis aufgetreten ist. Alle Bedingungen müssen „true“ zurückgeben, damit die Regel weiter verarbeitet wird. Eine Ausnahme besteht, wenn Benutzer Bedingungen explizit in einem „Ausnahme“-Bereich platzieren. In diesem Fall müssen alle Bedingungen innerhalb dieses Bereichs „false“ zurückgeben, damit die Regel weiter verarbeitet werden kann.
Beispielsweise könnte eine Erweiterung einen Bedinungstyp „Viewport enthält“ bereitstellen, bei dem der Benutzer einen CSS-Selektor angeben kann. Wenn diese Bedingung auf der Website des Kunden ausgewertet wird, kann die Erweiterung nach Elementen suchen, die mit der CSS-Auswahl übereinstimmen, und die Information zurückgeben, ob sich eines davon im Ansichtsfenster des Benutzers befindet.
In diesem Dokument wird beschrieben, wie Sie Bedingungstypen für eine Web-Erweiterung in Adobe Experience Platform definieren.
Bedingungstypen bestehen in der Regel aus Folgendem:
- Eine Ansicht die in der Experience Platform-Benutzeroberfläche und der Datenerfassungs-Benutzeroberfläche angezeigt wird und es Benutzern ermöglicht, die Einstellungen für die Bedingung zu ändern.
- Ein Bibliotheksmodul, das in der Tag-Laufzeitbibliothek ausgegeben wird, um die Einstellungen zu interpretieren und eine Bedingung auszuwerten.
Ein Bibliotheksmodul vom Bedingungstyp dient einem einzigen Ziel: auswerten, ob etwas wahr oder falsch ist. Was es auswertet, legen Sie fest.
Wenn Sie z. B. auswerten möchten, ob sich der Benutzer auf dem Host example.com
befindet, könnte Ihr Modul wie folgt aussehen:
module.exports = function(settings) {
return document.location.hostname === 'example.com';
};
Betrachten Sie nun eine Situation, in der Sie dem Adobe Experience Platform-Benutzer das Konfigurieren des Host-Namens erlauben möchten. Sie können dem Benutzer erlauben, einen Hostnamen einzugeben, und dann den Hostnamen im Einstellungsobjekt speichern. Das Objekt könnte etwa so aussehen:
{
"hostname": "example.com"
}
Um mit dem benutzerdefinierten Hostnamen arbeiten zu können, muss das Modul wie folgt geändert werden:
module.exports = function(settings) {
return document.location.hostname === settings.hostname;
};
Kontextbezogene Ereignisdaten
Ein zweites Argument wird an Ihr Modul übergeben, das Kontextinformationen zum Ereignis enthält, das die Regel ausgelöst hat. Das kann in bestimmten Fällen von Vorteil sein. Auf dieses Argument wird wie folgt zugegriffen:
module.exports = function(settings, event) {
// event contains information regarding the event that fired the rule
};
Das event
-Objekt muss die folgenden Eigenschaften enthalten:
$type
youtube.play
.$rule
Ein Objekt, das Informationen zu der Regel enthält, die derzeit ausgeführt wird. Das Objekt muss die folgenden Untereigenschaften enthalten:
id
: Die ID der derzeit ausgeführten Regel.name
: Der Name der derzeit ausgeführten Regel.
Die Erweiterung, die den Ereignistyp bereitstellt, der die Regel ausgelöst hat, kann optional weitere nützliche Informationen zu diesem event
-Objekt hinzufügen.