Kern-APIs
Diese APIs arbeiten mit JavaScript in einer Sandbox, um benutzerdefinierte Vorlagen in Google Tag Manager zu erstellen. Jede API wird mit einer require()
-Anweisung hinzugefügt. Beispiel:
const myAPI = require('myAPI');
addConsentListener
Registriert eine Listener-Funktion, die ausgeführt werden soll, wenn sich der Status der angegebenen Einwilligungsart ändert.
Der angegebene Listener wird jedes Mal aufgerufen, wenn sich der Status für den angegebenen Einwilligungstyp von „verweigert“ zu „gewährt“ oder von „zugewiesen“ zu „verweigert“ ändert. Ein Einwilligungstyp ohne Status gilt als gewährt. Daher wird der Listener nicht aufgerufen, wenn eine nicht festgelegte Einwilligung in „Erteilt“ geändert wird. Listenerfunktionen sind dafür verantwortlich, dass ihr Code die richtige Anzahl von Ausführungen korrekt ausführt.
Example:
const isConsentGranted = require('isConsentGranted');
const addConsentListener = require('addConsentListener');
if (!isConsentGranted('ad_storage')) {
let wasCalled = false;
addConsentListener('ad_storage', (consentType, granted) => {
if (wasCalled) return;
wasCalled = true;
const cookies = getMyCookies();
sendFullPixel(cookies);
});
}
Syntax
addConsentListener(consentType, listener)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
consentType |
String | Die Einwilligungsart, bei der auf Statusänderungen gewartet werden soll. |
listener |
Funktion | Funktion, die ausgeführt werden soll, wenn sich der Status der angegebenen Einwilligungsart ändert. |
Wenn ein Listener aufgerufen wird, werden die zu ändernde Einwilligungsart und der neue Wert dieses Einwilligungstyps übergeben:
Parameter | Typ | Beschreibung |
---|---|---|
consentType |
String | Die Einwilligungsart, die geändert wird. |
granted |
boolean | Ein boolescher Wert, der „wahr“ ist, wenn die angegebene Einwilligungsart in „erteilt“ geändert wird. |
Verknüpfte Berechtigungen
Berechtigung access_consent
mit Lesezugriff für die Einwilligungsart.
addEventCallback
Mit der addEventCallback
API können Sie eine Callback-Funktion registrieren, die am Ende eines Ereignisses aufgerufen wird. Der Callback wird aufgerufen, wenn alle Tags für das Ereignis ausgeführt wurden oder wenn das Zeitlimit für ein In-Page-Ereignis erreicht wurde.
An den Callback werden zwei Werte übergeben: die ID des Containers, der die Funktion aufruft, und ein Objekt, das Informationen über das Ereignis enthält.
Syntax
addEventCallback(callback)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
callback |
Funktion | Die Funktion, die am Ende des Ereignisses aufgerufen werden soll. |
Das Objekt eventData
enthält die folgenden Daten:
Schlüsselname | Typ | Beschreibung |
---|---|---|
tags |
Array | Ein Array von Tag-Datenobjekten. Jedes Tag, das während des Ereignisses ausgelöst wurde, hat einen Eintrag in diesem Array. Das Tag-Datenobjekt enthält die ID des Tags (id ), seinen Ausführungsstatus (status ) und die Ausführungszeit (executionTime ). Die Tag-Daten enthalten auch zusätzliche Tag-Metadaten, die für das Tag konfiguriert wurden. |
Beispiel
addEventCallback(function(ctid, eventData) {
logToConsole('Tag count for container ' + ctid + ': ' + eventData['tags'].length);
});
Verknüpfte Berechtigungen
aliasInWindow
Mit der aliasInWindow
API können Sie einen Alias (z.B. window.foo =
window.bar
) erstellen, um bestimmte Tags zu unterstützen, für die Aliasing erforderlich ist. Weist den Wert im window
-Objekt unter fromPath
dem Schlüssel im window
-Objekt beim toPath
zu. Gibt bei Erfolg true
zurück, andernfalls false
.
Syntax
aliasInWindow(toPath, fromPath)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
toPath |
String | Ein durch Punkte getrennter Pfad zum window -Objekt, in den ein Wert kopiert werden soll. Alle Komponenten im Pfad bis zur letzten Komponente müssen bereits im Objekt window vorhanden sein. |
fromPath |
String | Ein durch Punkte getrennter Pfad in window zum Wert, der kopiert werden soll. Wenn der Wert nicht vorhanden ist, schlägt der Vorgang fehl. |
Beispiel
aliasInWindow('foo.bar', 'baz.qux')
Verknüpfte Berechtigungen
access_globals
ist sowohl für toPath
als auch für fromPath
erforderlich. toPath
benötigt Schreibzugriff, fromPath
benötigt Lesezugriff.
callInWindow
Ermöglicht Ihnen, Funktionen über einen Pfad außerhalb des window
-Objekts auf richtliniengesteuerte Weise aufzurufen. Ruft die Funktion unter dem angegebenen Pfad in window
mit den angegebenen Argumenten auf und gibt den Wert zurück. Wenn der Rückgabetyp nicht direkt einem Typ zugeordnet werden kann, der in JavaScript in der Sandbox unterstützt wird, wird undefined
zurückgegeben. Die acht Typen, die in JavaScript in einer Sandbox unterstützt werden, sind null
, undefined
, boolean
, number
, string
, Array
, Object
und function
. Wenn der angegebene Pfad nicht vorhanden ist oder nicht auf eine Funktion verweist, wird undefined
zurückgegeben.
Syntax
callInWindow(pathToFunction, argument [, argument2,... argumentN])
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
pathToFunction |
String | Ein durch Punkte getrennter Pfad zur aufzurufenden Funktion in window . |
args |
* | Argumente, die an die Funktion übergeben werden sollen. |
Verknüpfte Berechtigungen
access_globals
mit aktivierter Berechtigung execute
.
callLater
Plant einen Aufruf einer Funktion so, dass er asynchron erfolgt. Die Funktion wird aufgerufen, nachdem der aktuelle Code zurückgegeben wurde. Dies entspricht setTimeout(<function>, 0)
.
Syntax
callLater(function)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
function |
Funktion | Die aufzurufende Funktion. |
copyFromDataLayer
Gibt den Wert zurück, der derzeit dem angegebenen Schlüssel in der Datenschicht zugewiesen ist: den Wert, der für den angegebenen Schlüssel gefunden wurde, wenn es ein primitiver Typ, eine Funktion oder ein Objektliteral ist, andernfalls undefined
.
Syntax
copyFromDataLayer(key[, dataLayerVersion])
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
key |
String | Der Schlüssel im Format „a.b.c“. |
dataLayerVersion |
number | Die optionale Datenschichtversion. Der Standardwert liegt bei 2. Es wird dringend davon abgeraten, den Wert 1 zu verwenden. |
Verknüpfte Berechtigungen
copyFromWindow
Kopiert eine Variable aus dem window
-Objekt. Wenn der Wert in window
nicht direkt einem Typ zugeordnet werden kann, der in JavaScript in einer Sandbox unterstützt wird, wird undefined
zurückgegeben. Die acht Typen, die in JavaScript in einer Sandbox unterstützt werden, sind null
, undefined
, boolean
, number
, string
, Array
, Object
und function
.
Gibt den abgerufenen (und erzwungenen) Wert zurück.
Syntax
copyFromWindow(key)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
key |
String | Der Schlüssel im window , dessen Wert kopiert werden soll. |
Verknüpfte Berechtigungen
createArgumentsQueue
Erstellt eine Warteschlange mit Argumentobjekten zur Unterstützung von Tag-Lösungen, die diese erfordern.
Erstellt mit dem Argument fnKey
(gleiche Semantik wie createQueue
) eine Funktion im globalen Bereich (d.h. window
). Nachdem die Funktion erstellt wurde, erstellt diese API mit dem Argument arrayKey
ein Array in window
(falls noch nicht vorhanden).
Beim Aufrufen der unter fnKey
erstellten Funktion wird das Objekt mit Argumenten in das Array übertragen, das unter arrayKey
erstellt wurde. Der Rückgabewert der API ist die Funktion, die unter fnKey
erstellt wurde.
Für diese Funktion ist die Lese- und Schreibeinstellung für fnKey
und arrayKey
in der Berechtigung access_globals
erforderlich.
Example:
const gtag = createArgumentsQueue('gtag', 'dataLayer');
gtag('set', {'currency': 'USD'});
Syntax
createArgumentsQueue(fnKey, arrayKey)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
fnKey |
String | Der Pfad in window , in dem die Funktion festgelegt ist, falls sie noch nicht vorhanden ist. Dieses Argument unterstützt die Standardnotation. Wenn der Pfad des Schlüssels nicht vorhanden ist, wird eine Ausnahme ausgelöst. Das heißt, wenn fnKey den Wert 'one.two' hat, wird eine Ausnahme ausgelöst. |
arrayKey |
String | Der Pfad in window , in dem das Array festgelegt ist, falls es noch nicht vorhanden ist. Dieses Argument unterstützt die Standardnotation. Wenn der Pfad des Schlüssels nicht vorhanden ist, wird eine Ausnahme ausgelöst. Das heißt, wenn arrayKey den Wert 'one.two' hat und kein globales Objekt mit dem Namen 'one' vorhanden ist, wird eine Ausnahme ausgelöst. |
Verknüpfte Berechtigungen
createQueue
Erstellt ein Array in window
(falls es noch nicht vorhanden ist) und gibt eine Funktion zurück, die Werte in dieses Array überträgt.
Diese Funktion erfordert die Lese- und Schreibeinstellung für arrayKey
in der Berechtigung access_globals
.
Example:
const dataLayerPush = createQueue('dataLayer');
dataLayerPush({'currency': 'USD'}, {'event': 'myConversion'});
Syntax
createQueue(arrayKey)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
arrayKey |
String | Der Schlüssel in window , für den das Array festgelegt ist, falls noch nicht vorhanden. Dieses Argument unterstützt die Standardnotation. Wenn der Pfad des Schlüssels nicht vorhanden ist, wird eine Ausnahme ausgelöst. Wenn arrayKey beispielsweise 'one.two' ist und es kein globales Objekt mit dem Namen 'one' gibt, wird eine Ausnahme ausgelöst. |
Verknüpfte Berechtigungen
decodeUri
Decodiert alle codierten Zeichen im angegebenen URI. Gibt einen String zurück, der den decodierten URI darstellt. Gibt undefined
zurück, wenn eine ungültige Eingabe angegeben wurde.
Example:
const decode = require('decodeUri');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
Syntax
decodeUri(encoded_uri)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
encoded_uri |
String | Ein URI, der mit encodeUri() oder auf andere Weise codiert wurde. |
Verknüpfte Berechtigungen
Keine.
decodeUriComponent
Decodiert alle codierten Zeichen in der angegebenen URI-Komponente. Gibt einen String zurück, der die decodierte URI-Komponente darstellt. Gibt undefined
zurück, wenn eine ungültige Eingabe vorliegt.
Example:
const decode = require('decodeUriComponent');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
Syntax
decodeUriComponent(encoded_uri_component)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
encoded_uri_component |
String | Eine URI-Komponente, die mit encodeUriComponent() oder auf andere Weise codiert wurde. |
Verknüpfte Berechtigungen
Keine.
encodeUri
Gibt einen codierten Uniform Resource Identifier (URI) zurück, indem Sonderzeichen umgeschrieben werden. Gibt einen string zurück, der den als URI codierten String darstellt. Gibt undefined
zurück, wenn eine ungültige Eingabe (ein einzelner Ersatzwert) vorhanden ist.
Example:
sendPixel('https://www.example.com/' + encodeUri(pathInput));
Syntax
encodeUri(uri)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
uri |
String | Ein vollständiger URI. |
Verknüpfte Berechtigungen
Keine.
encodeUriComponent
Gibt einen codierten Uniform Resource Identifier (URI) zurück, indem Sonderzeichen umgeschrieben werden. Gibt einen string zurück, der den als URI codierten String darstellt. Gibt undefined
zurück, wenn eine ungültige Eingabe (ein einzelner Ersatzwert) vorhanden ist.
Example:
sendPixel('https://www.example.com/?' + encodeUriComponent(queryInput));
Syntax
encodeUriComponent(str)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
str |
String | Komponente eines URI. |
Verknüpfte Berechtigungen
Keine.
fromBase64
Mit der fromBase64
API können Sie Strings aus ihrer Base64-Darstellung decodieren. Gibt undefined
zurück, wenn eine ungültige Eingabe vorliegt.
Syntax
fromBase64(base64EncodedString)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
base64EncodedString |
String | Base64-codierter String. |
Beispiel
const fromBase64 = require('fromBase64');
const greeting = fromBase64('aGVsbG8=');
if (greeting === 'hello') {
// ...
}
Verknüpfte Berechtigungen
Keine
generateRandom
Gibt eine zufällige Zahl (Ganzzahl) im angegebenen Bereich zurück.
Syntax
generateRandom(min, max)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
min |
number | Möglicher Mindestwert der zurückgegebenen Ganzzahl. |
max |
number | Möglicher Höchstwert der zurückgegebenen Ganzzahl. |
Verknüpfte Berechtigungen
Keine.
getContainerVersion
Gibt ein Objekt zurück, das Daten zum aktuellen Container enthält. Das zurückgegebene Objekt hat die folgenden Felder:
{
containerId: string,
debugMode: boolean,
environmentName: string,
environmentMode: boolean,
previewMode: boolean,
version: string,
}
Beispiel
const getContainerVersion = require('getContainerVersion');
const sendPixel = require('sendPixel');
if (query('read_container_data')) {
const cv = getContainerVersion();
const pixelUrl = 'https://pixel.com/' +
'?version=' + cv.version +
'&envName=' + cv.environmentName +
'&ctid=' + cv.containerId +
'&debugMode=' + cv.debugMode +
'&previewMode=' + cv.previewMode;
if (query('send_pixel', pixelUrl)) {
sendPixel(pixelUrl);
}
}
Syntax
getContainerVersion();
Verknüpfte Berechtigungen
getCookieValues
Gibt die Werte aller Cookies mit dem angegebenen Namen zurück.
Syntax
getCookieValues(name[, decode])
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
name |
String | Name des Cookies. |
decode |
boolean | Legt fest, ob die Cookiewerte mit dem
decodeURIComponent() von JavaScript decodiert werden sollen. Die Standardeinstellung ist true . |
Verknüpfte Berechtigungen
getQueryParameters
Gibt den ersten oder alle Parameter für den queryKey
der aktuellen URL zurück.
Gibt den ersten Wert aus queryKey
oder ein Array von Werten aus queryKey
zurück.
Syntax
getQueryParameters(queryKey[, retrieveAll])
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
queryKey |
String | Der Schlüssel, der aus den Abfrageparametern gelesen werden soll. |
retrieveAll |
boolean | Gibt an, ob alle Werte abgerufen werden sollen. |
Wenn die aktuelle URL beispielsweise https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
lautet, dann:
getQueryParameters('var') == 'foo'
getQueryParameters('var', false) == 'foo'
getQueryParameters('var', null) == 'foo'
getQueryParameters('var', true) == ['foo', 'foo2', 'foo']
Verknüpfte Berechtigungen
get_url
muss die Komponente query
zulassen und queryKey
in den zulässigen Abfrageschlüsseln angeben (oder einen beliebigen Abfrageschlüssel zulassen).
getReferrerQueryParameters
Die getReferrerQueryParameters
API verhält sich genauso wie getQueryParameters
, nur dass sie sich auf die Referrer-URL und nicht auf die aktuelle URL auswirkt. Gibt den ersten oder alle Parameter für den queryKey
der angegebenen Referrer-URL zurück. Gibt den ersten Wert aus queryKey
oder ein Array von Werten aus queryKey
zurück.
Syntax
getReferrerQueryParameters(queryKey[, retrieveAll])
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
queryKey |
String | Der Schlüssel, der aus den Abfrageparametern gelesen werden soll. |
retrieveAll |
boolean | Gibt an, ob alle Werte abgerufen werden sollen. |
Wenn die Verweis-URL beispielsweise https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
lautet, dann:
getReferrerQueryParameters('var') == 'foo'
getReferrerQueryParameters('var', false) == 'foo'
getReferrerQueryParameters('var', null) == 'foo'
getReferrerQueryParameters('var', true) == ['foo', 'foo2', 'foo']
Verknüpfte Berechtigungen
get_referrer
muss die Komponente query
zulassen und queryKey
in den zulässigen Abfrageschlüsseln angeben (oder einen beliebigen Abfrageschlüssel zulassen).
getReferrerUrl
Bei einem Komponententyp liest die API das Dokumentobjekt für die Referrer-URL und gibt einen String zurück, der einen Teil der Referrer-URL darstellt. Wenn keine Komponente angegeben ist, wird die vollständige Verweis-URL zurückgegeben.
Syntax
getReferrerUrl([component])
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
component |
String | Die Komponente, die von der URL zurückgegeben werden soll. Mögliche Werte sind: protocol , host , port , path , query , extension . Wenn component den Wert undefined oder null hat oder keiner dieser Komponenten entspricht, wird die gesamte URL zurückgegeben. |
Verknüpfte Berechtigungen
get_referrer
muss die Komponente query
zulassen und queryKey
in den zulässigen Abfrageschlüsseln angeben (oder einen beliebigen Abfrageschlüssel zulassen).
getTimestamp
Veraltet. Bevorzugen Sie getTimestampMillis.
Gibt eine Zahl zurück, die die aktuelle Zeit in Millisekunden seit der Unix-Epoche angibt, wie von Date.now()
zurückgegeben.
Syntax
getTimestamp();
Verknüpfte Berechtigungen
Keine.
getTimestampMillis
Gibt eine Zahl zurück, die die aktuelle Zeit in Millisekunden seit der Unix-Epoche angibt, wie von Date.now()
zurückgegeben.
Syntax
getTimestampMillis();
Verknüpfte Berechtigungen
Keine.
getType
Gibt einen string zurück, der den Typ des angegebenen Werts beschreibt. Im Gegensatz zu typeof
unterscheidet getType
zwischen array
und object
.
Syntax
getType(data.someField)
Notes
In der folgenden Tabelle sind die für jeden Eingabewert zurückgegebenen Strings aufgeführt.
Eingabewert | Ergebnis |
---|---|
undefined |
'Nicht definiert' |
null |
'null' |
true |
'boolean' |
12 |
'number' |
'string' |
'string' |
{ a: 3 } |
„object“ |
[ 1, 3 ] |
"array" |
(x) => x + 1 |
„function“ |
Verknüpfte Berechtigungen
Keine.
getUrl
Gibt einen String zurück, der die gesamte URL oder einen Teil der aktuellen URL für einen Komponententyp und einige Konfigurationsparameter darstellt.
Syntax
getUrl(component)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
component |
String | Die Komponente, die von der URL zurückgegeben werden soll. Hier muss entweder protocol , host , port , path , query , extension oder fragment angegeben werden. Wenn die Komponente undefined oder null ist oder keiner dieser Komponenten entspricht, wird der gesamte Wert href zurückgegeben. |
Verknüpfte Berechtigungen
gtagSet
Überträgt einen gtag-Befehl an die Datenschicht, der so schnell wie möglich verarbeitet wird, nachdem das aktuelle Ereignis und alle von ihm ausgelösten Tags die Verarbeitung abgeschlossen haben (oder das Zeitlimit für die Tag-Verarbeitung erreicht wurde). Die Aktualisierung wird in diesem Container garantiert vor allen Elementen in der Datenschicht-Warteschlange verarbeitet.
Wenn der Aufruf beispielsweise über ein Tag erfolgt, das bei der Initialisierung der Einwilligung ausgelöst wurde, wird die Aktualisierung angewendet, bevor das Initialisierungsereignis verarbeitet wird. Beispiele: ads_data_redaction
wird auf true
oder false
gesetzt oder url_passthrough
auf true
oder false
.
Beispiele:
const gtagSet = require('gtagSet');
gtagSet({
'ads_data_redaction': true,
'url_passthrough': true,
});
Syntax
gtagSet(object)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
Object |
Gegenstand | Ein Objekt, bei dem der globale Status für die zugehörigen Eigenschaften aktualisiert wird. |
Verknüpfte Berechtigungen
write_data_layer
prüft die Schreibberechtigung für dataLayer
für alle angegebenen Schlüssel. Wenn die Eingabe in gtagSet
ein einfaches Objekt ist, prüft die API für alle aufgeschlüsselten Schlüssel im Objekt eine Schreibberechtigung. Für gtagSet({foo: {bar: 'baz'}})
prüft die API beispielsweise, ob die API Schreibberechtigung für foo.bar
hat.
Wenn die Eingabe für gtagSet
ein Schlüssel und ein nicht einfacher Objektwert ist, prüft die API die Schreibberechtigung für diesen Schlüssel (z.B. für gtagSet('abc', true)
), die API prüft die Schreibberechtigung für 'abc'
.
Wenn das Eingabeobjekt einen Zyklus enthält, werden nur Schlüssel geprüft, die vor demselben Objekt liegen.
injectHiddenIframe
Fügt der Seite einen unsichtbaren iFrame hinzu.
Callbacks werden als Funktionsinstanzen angegeben und sind in JavaScript-Funktionen verpackt, die sie aufrufen.
Syntax
injectHiddenIframe(url, onSuccess)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
url |
String | Die URL, die als Wert für das Attribut src des iFrames verwendet werden soll. |
onSuccess |
Funktion | Wird aufgerufen, wenn der Frame erfolgreich geladen wurde. |
Verknüpfte Berechtigungen
injectScript
Fügt der Seite ein Skript-Tag hinzu, um die angegebene URL asynchron zu laden. Die Callbacks werden als Funktionsinstanzen angegeben und in JavaScript-Funktionen eingebunden, die an sie weiterleiten.
Syntax
injectScript(url, onSuccess, onFailure[, cacheToken])
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
url |
String | Die Adresse des Skripts, das eingeschleust werden soll. |
onSuccess |
Funktion | Wird aufgerufen, wenn das Skript erfolgreich geladen wurde. |
onFailure |
Funktion | Wird aufgerufen, wenn das Laden des Skripts fehlschlägt. |
cacheToken |
String | Optionaler String, mit dem die angegebene URL angegeben wird, im Cache gespeichert werden soll. Wenn dieser Wert angegeben ist, wird nur ein Skriptelement erstellt, um das JavaScript anzufordern. Alle weiteren Ladeversuche führen dazu, dass die angegebenen Methoden onSuccess und onFailure in die Warteschlange gestellt werden, bis das Skript geladen wird. |
Verknüpfte Berechtigungen
isConsentGranted
Gibt „true“ zurück, wenn die angegebene Einwilligungsart gewährt wird.
Die Einwilligung für eine bestimmte Einwilligungsart gilt als erteilt, wenn die Einwilligungsart auf „Erteilt“ oder nicht festgelegt wurde. Wenn die Einwilligungsart auf einen anderen Wert festgelegt ist, gilt sie als nicht erteilt.
Auf der Benutzeroberfläche von Tag Manager für die Tag-Einstellungen kann festgelegt werden, dass das Creative immer ausgelöst wird. Wenn ein Tag, bei dem „Immer auslösen“ aktiviert ist, diese API verwendet, gilt die Einwilligung als erteilt und true
wird unabhängig vom tatsächlichen Status der Einwilligung zurückgegeben.
Example:
const isConsentGranted = require('isConsentGranted');
if (isConsentGranted('ad_storage')) {
sendFullPixel();
} else {
sendPixelWithoutCookies();
}
Syntax
isConsentGranted(consentType)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
consentType |
String | Die Einwilligungsart, deren Status geprüft werden soll. |
Verknüpfte Berechtigungen
Berechtigung access_consent
mit Lesezugriff für die Einwilligungsart.
JSON
Gibt ein Objekt zurück, das JSON-Funktionen bereitstellt.
Die Funktion parse()
parst einen JSON-String, um den durch den String beschriebenen Wert oder das Objekt zu erstellen. Wenn der Wert nicht geparst werden kann (z.B. bei fehlerhaftem JSON-Format), gibt die Funktion undefined
zurück. Wenn der Eingabewert kein String ist, wird die Eingabe in einen String umgewandelt.
Die Funktion stringify()
konvertiert die Eingabe in einen JSON-String. Wenn der Wert nicht geparst werden kann (z.B. wenn das Objekt einen Zyklus hat), gibt die Methode undefined
zurück.
Syntax
JSON.parse(stringInput)
JSON.stringify(value);
Parameter
JSON.parse
Parameter | Typ | Beschreibung |
---|---|---|
stringInput | Beliebig | Wert, der konvertiert werden soll. Wenn der Wert kein String ist, wird die Eingabe in einen String umgewandelt. |
JSON.stringify
Parameter | Typ | Beschreibung |
---|---|---|
value | Beliebig | Wert, der konvertiert werden soll. |
Beispiel
const JSON = require('JSON');
// The JSON input string is converted to an object.
const object = JSON.parse('{"foo":"bar"}');
// The input object is converted to a JSON string.
const str = JSON.stringify({foo: 'bar'});
localStorage
Gibt ein Objekt mit Methoden für den Zugriff auf den lokalen Speicher zurück.
Syntax
const localStorage = require('localStorage');
// Requires read access for the key. Returns null if the key does not exist.
localStorage.getItem(key);
// Requires write access for the key. Returns true if successful.
localStorage.setItem(key, value);
// Requires write access for the key.
localStorage.removeItem(key);
Verknüpfte Berechtigungen
Beispiel
const localStorage = require('localStorage');
if (localStorage) {
const value = localStorage.getItem('my_key');
if (value) {
const success = localStorage.setItem('my_key', 'new_value');
if (success) {
localStorage.removeItem('my_key');
}
}
}
logToConsole
Protokolliert Argumente in der Browserkonsole.
Syntax
logToConsole(obj1 [, obj2,... objN])
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
obj1 [, obj2,... objN] |
Beliebig | Argumente |
Verknüpfte Berechtigungen
makeInteger
Wandelt den angegebenen Wert in eine Zahl (Ganzzahl) um.
Syntax
makeInteger(value)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
value |
Beliebig | Wert, der konvertiert werden soll. |
Verknüpfte Berechtigungen
Keine.
makeNumber
Wandelt den angegebenen Wert in eine Zahl um.
Syntax
makeNumber(value)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
value |
Beliebig | Wert, der konvertiert werden soll. |
Verknüpfte Berechtigungen
Keine.
makeString
Gibt den angegebenen Wert als string zurück.
Syntax
makeString(value)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
value |
Beliebig | Wert, der konvertiert werden soll. |
Verknüpfte Berechtigungen
Keine.
makeTableMap
Konvertiert ein einfaches Tabellenobjekt mit zwei Spalten in ein Map
-Objekt. Dadurch wird ein SIMPLE_TABLE
-Vorlagenfeld mit zwei Spalten in ein überschaubares Format geändert.
Diese Funktion könnte beispielsweise ein Tabellenobjekt konvertieren:
[
{'key': 'k1', 'value': 'v1'},
{'key': 'k2', 'value': 'v2'}
]
in eine Karte umwandeln:
{
'k1': 'v1',
'k2': 'v2'
}
Gibt ein Objekt zurück: das konvertierte Map
, wenn Schlüssel/Wert-Paare hinzugefügt wurden, andernfalls null
.
Syntax
makeTableMap(tableObj, keyColumnName, valueColumnName)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
tableObj |
Liste | Das Tabellenobjekt, das konvertiert werden soll. Es ist eine Liste von Karten, wobei jeder Map eine Zeile in der Tabelle darstellt. Jeder Eigenschaftsname in einem Zeilenobjekt ist der Spaltenname, und der Eigenschaftswert ist der Spaltenwert in der Zeile. |
keyColumnName |
String | Name der Spalte, deren Werte im konvertierten Map zu Schlüsseln werden. |
valueColumnName |
String | Name der Spalte, deren Werte im konvertierten Map zu Werten werden. |
Verknüpfte Berechtigungen
Keine.
Math
Ein Objekt, das Math
-Funktionen bereitstellt.
Syntax
const Math = require('Math');
// Retrieve the absolute value.
const absolute = Math.abs(-3);
// Round the input down to the nearest integer.
const roundedDown = Math.floor(3.6);
// Round the input up to the nearest integer.
const roundedUp = Math.ceil(2.2);
// Round the input to the nearest integer.
const rounded = Math.round(3.1);
// Return the largest argument.
const biggest = Math.max(1, 3);
// Return the smallest argument.
const smallest = Math.min(3, 5);
// Return the first argument raised to the power of the second argument.
const powerful = Math.pow(3, 1);
// Return the square root of the argument.
const unsquared = Math.sqrt(9);
Parameter
Parameter für mathematische Funktionen werden in Zahlen umgewandelt.
Verknüpfte Berechtigungen
Keine.
Object
Gibt ein Objekt zurück, das Object
-Methoden bereitstellt.
Die Methode keys()
bietet das Standardbibliotheksverhalten Object.keys(). Sie gibt ein Array der Namen der aufzählbaren Eigenschaften eines bestimmten Objekts in derselben Reihenfolge zurück wie bei einer for...in...
-Schleife. Wenn der Eingabewert kein Objekt ist, wird er in ein Objekt umgewandelt.
Die Methode values()
bietet das Standardbibliotheksverhalten Object.values(). Sie gibt ein Array mit den eigenen aufzählbaren Attributwerten eines bestimmten Objekts in derselben Reihenfolge zurück wie bei einer for...in...
-Schleife. Wenn der Eingabewert kein Objekt ist, wird er in ein Objekt umgewandelt.
Die Methode entries()
bietet das Verhalten der Standardbibliothek Object.entries(). Sie gibt ein Array mit den [key, value]
-Paaren für Attribute mit Aufzählungszeichen eines bestimmten Objekts in derselben Reihenfolge zurück wie bei einer for...in...
-Schleife. Wenn der Eingabewert kein Objekt ist, wird er in ein Objekt umgewandelt.
Die Methode freeze()
bietet das Verhalten der Standardbibliothek Object.freeze(). Ein fixiertes Objekt kann nicht mehr geändert werden. Wenn Sie es einfrieren, können ihm keine neuen Eigenschaften hinzugefügt, vorhandene Eigenschaften entfernt und Werte vorhandener Eigenschaften nicht mehr geändert werden. freeze()
gibt dasselbe Objekt zurück, das übergeben wurde. Ein primitives Argument oder ein Nullargument wird wie ein fixiertes Objekt behandelt und zurückgegeben.
Die Methode delete()
bietet das Verhalten des Löschoperators der Standardbibliothek. Sie entfernt den angegebenen Schlüssel aus dem Objekt, sofern das Objekt nicht eingefroren ist.
Wie der Löschoperator der Standardbibliothek wird true
zurückgegeben, wenn der erste Eingabewert (objectInput
) ein Objekt ist, das nicht eingefroren ist, auch wenn der zweite Eingabewert (keyToDelete
) einen nicht vorhandenen Schlüssel angibt. In allen anderen Fällen wird false
zurückgegeben. Er unterscheidet sich jedoch in den folgenden Punkten vom Löschoperator der Standardbibliothek:
keyToDelete
darf kein String sein, der durch Punkte getrennt ist und einen verschachtelten Schlüssel angibt.delete()
kann nicht verwendet werden, um Elemente aus einem Array zu entfernen.- Mit
delete()
können keine Attribute aus dem globalen Geltungsbereich entfernt werden.
Syntax
Object.keys(objectInput)
Object.values(objectInput)
Object.entries(objectInput)
Object.freeze(objectInput)
Object.delete(objectInput, keyToDelete)
Parameter
Object.keys
Parameter | Typ | Beschreibung |
---|---|---|
objectInput | Beliebig | Objekt, dessen Schlüssel aufgezählt werden sollen. Wenn die Eingabe kein Objekt ist, wird sie in ein Objekt umgewandelt. |
Object.values
Parameter | Typ | Beschreibung |
---|---|---|
objectInput | Beliebig | Objekt, dessen Werte aufgezählt werden sollen. Wenn die Eingabe kein Objekt ist, wird sie in ein Objekt umgewandelt. |
Object.entries
Parameter | Typ | Beschreibung |
---|---|---|
objectInput | Beliebig | Objekt, dessen Schlüssel/Wert-Paare aufgelistet werden sollen. Wenn die Eingabe kein Objekt ist, wird sie in ein Objekt umgewandelt. |
Object.freeze
Parameter | Typ | Beschreibung |
---|---|---|
objectInput | Beliebig | Das zu fixierende Objekt. Wenn die Eingabe kein Objekt ist, wird sie als fixiertes Objekt behandelt. |
Object.delete
Parameter | Typ | Beschreibung |
---|---|---|
objectInput | Beliebig | Das Objekt, dessen Schlüssel gelöscht werden soll. |
keyToDelete | String | Der Schlüssel der obersten Ebene, der gelöscht werden soll. |
Beispiel
const Object = require('Object');
// The keys of an object are enumerated in an array.
const keys = Object.keys({foo: 'bar'});
// The values of an object are enumerated in an array.
const values = Object.values({foo: 'bar'});
// The key/value pairs of an object are enumerated in an array.
const entries = Object.entries({foo: 'bar'});
// The input object is frozen.
const frozen = Object.freeze({foo: 'bar'});
// The key is removed from the input object.
const obj1 = {deleteme: 'value'};
Object.delete(obj1, 'deleteme');
// Only a top-level key can be specified as the key to delete.
const obj2 = {nested: {key: 'value'}};
Object.delete(obj2, 'nested.key'); // This has no effect.
Object.delete(obj2.nested, 'key'); // This deletes the nested key.
parseUrl
Gibt ein Objekt zurück, das ähnlich wie das URL
-Objekt alle Komponenten einer bestimmten URL enthält.
Diese API gibt undefined
für jede fehlerhafte URL zurück. Bei richtig formatierten URLs haben Felder, die nicht im URL-String vorhanden sind, einen leeren String oder im Fall von searchParams
ein leeres Objekt.
Das zurückgegebene Objekt hat die folgenden Felder:
{
href: string,
origin: string,
protocol: string,
username: string,
password: string,
host: string,
hostname: string,
port: string,
pathname: string,
search: string,
searchParams: Object<string, (string|Array)>,
hash: string,
}
Beispiel
const parseUrl = require('parseUrl');
const urlObject = parseUrl('https://abc:xyz@example.com:8080/foo?param=val%2Cue#bar');
Syntax
parseUrl(url);
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
url |
String | Die vollständige URL, die geparst wird. |
Verknüpfte Berechtigungen
Keine.
queryPermission
Fragen Sie die zulässigen und eingeschränkten Berechtigungen ab. Gibt einen boolean Wert zurück: true
, wenn eine Berechtigung gewährt wird, andernfalls false
.
Syntax
queryPermission(permission, functionArgs*)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
permission |
String | Name der Berechtigung. |
functionArgs |
Beliebig | Die Funktionsargumente variieren je nach abgefragter Berechtigung. Siehe Funktionsargumente weiter unten. |
Funktionsargumente
sendPixel
, injectScript
, injectHiddenIframe
: Der zweite Parameter sollte ein URL-String sein.
writeGlobals
, readGlobals
: Der zweite Parameter sollte der Schlüssel sein, der geschrieben oder gelesen wird.
readUrl
: Es sind keine zusätzlichen Argumente erforderlich, um abzufragen, ob die gesamte URL gelesen werden kann. Übergeben Sie den Komponentennamen als zweites Argument, um abzufragen, ob eine bestimmte Komponente gelesen werden kann:
if (queryPermission('readUrl','port')) {
// read the port
}
Wenn Sie prüfen möchten, ob ein bestimmter Abfrageschlüssel lesbar ist, übergeben Sie den Abfrageschlüssel als dritten Parameter:
if (queryPermission('readUrl','query','key')) {
getUrlComponent(...);
}
Verknüpfte Berechtigungen
Keine.
readCharacterSet
Gibt den Wert von document.characterSet
zurück.
Syntax
readCharacterSet()
Parameter
Keine.
Verknüpfte Berechtigungen
readTitle
Gibt den Wert von document.title
zurück.
Syntax
readTitle()
Parameter
Keine.
Verknüpfte Berechtigungen
require
Importiert eine integrierte Funktion anhand ihres Namens. Gibt eine Funktion oder ein Objekt zurück, das von Ihrem Programm aus aufgerufen werden kann. Gibt undefined zurück, wenn der Browser die integrierte Funktion nicht unterstützt.
Syntax
require(name)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
name |
String | Der Name der zu importierenden Funktion. |
Beispiel
const getUrl = require('getUrl');
const url = getUrl();
Verknüpfte Berechtigungen
Keine.
sendPixel
Sendet eine GET-Anfrage an einen angegebenen URL-Endpunkt.
Syntax
sendPixel(url, onSuccess, onFailure)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
url |
String | Wohin das Pixel gesendet werden soll |
onSuccess |
Funktion | Wird aufgerufen, wenn das Pixel erfolgreich geladen wurde. Hinweis: Auch wenn die Anfrage erfolgreich gesendet wird, benötigen Browser möglicherweise eine gültige Bildantwort, um onSuccess auszuführen. |
onFailure |
Funktion | Wird aufgerufen, wenn das Pixel nicht geladen werden kann. Hinweis: Auch wenn die Anfrage erfolgreich gesendet wurde, wird onFailure möglicherweise ausgeführt, wenn der Server keine gültige Bildantwort zurückgibt. |
Verknüpfte Berechtigungen
setCookie
Legt das Cookie mit dem angegebenen Namen, Wert und den angegebenen Optionen fest oder löscht das Cookie.
Syntax
setCookie(name, value[, options, encode])
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
name |
String | Name des Cookies. |
value |
String | Wert des Cookies. |
options |
Gegenstand | Gibt die Attribute Domain, Path, Expiration, Max-Age, Secure und SameSite an. Weitere Informationen finden Sie unten im Abschnitt Optionen. |
encode |
boolean | Legt fest, ob der Cookiewert mit dem encodeURIComponent() von JavaScript codiert werden soll.
Die Standardeinstellung ist true . |
- Domain: wird von der
options['domain']
-Property festgelegt, falls vorhanden. Legen Sie für diesen Wert'auto'
fest, um zu versuchen, das Cookie mit der größtmöglichen Domain (je nach Speicherort des Dokuments) zu schreiben. Wenn das nicht funktioniert, werden immer weiter engere Subdomains verwendet. Wenn all dies fehlschlagen, wird versucht, das Cookie ohne Domain zu schreiben. Wenn kein Wert festgelegt ist, wird versucht, das Cookie ohne Angabe einer Domain zu schreiben. Hinweis: Wenn ein Cookie ohne angegebene Domain indocument.cookie
geschrieben wird, verwendet der User-Agent standardmäßig die Domain des Cookies auf den Host des aktuellen Speicherorts des Dokuments. - Pfad: von
options['path']
festgelegt, falls vorhanden. Wird ein Cookie ohne angegebenen Pfad indocument.cookie
geschrieben, verwendet der User-Agent den Pfad des Cookies standardmäßig auf den Pfad des aktuellen Speicherorts des Dokuments. - Max-Age: Wird von
options['max-age']
festgelegt, falls vorhanden. - Läuft ab: Wird von
options['expires']
festgelegt, falls vorhanden. Falls vorhanden, muss dies ein Datumsstring im UTC-Format sein. MitDate.toUTCString()
kann einDate
für diesen Parameter formatiert werden. - Sicher:Wird von
options['secure']
festgelegt, falls vorhanden. - SameSite:Wird von
options['samesite']
festgelegt, falls vorhanden.
Verknüpfte Berechtigungen
setDefaultConsentState
Sendet eine standardmäßige Aktualisierung der Einwilligung an die Datenschicht, die so schnell wie möglich verarbeitet wird, nachdem das aktuelle Ereignis und alle von ihm ausgelösten Tags die Verarbeitung abgeschlossen haben (oder das Zeitlimit für die Tag-Verarbeitung erreicht wurde). Die Aktualisierung wird garantiert in diesem Container vor allen Elementen in der Datenschicht verarbeitet, die in der Warteschlange stehen. Weitere Informationen zur Einwilligung
Example:
const setDefaultConsentState = require('setDefaultConsentState');
setDefaultConsentState({
'ad_storage': 'denied',
'analytics_storage': 'granted',
'third_party_storage': 'denied',
'region': ['US-CA'],
'wait_for_update': 500
});
Syntax
setDefaultConsentState(consentSettings)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
consentSettings |
Gegenstand | Ein Objekt, das den Standardstatus für die angegebenen Einwilligungsarten definiert. |
Das Objekt consentSettings
ist eine Zuordnung beliebiger Strings der Einwilligungsart zu 'granted'
oder 'denied'
. Folgende Werte werden unterstützt:
Schlüsselname | Typ | Beschreibung |
---|---|---|
consentType |
String | Der Wert für jeden Einwilligungstyp kann auf „gewährt“ oder „abgelehnt“ festgelegt werden. Alle Werte außer „gewährt“ werden als „Abgelehnt“ behandelt. Wenn Sie den Wert auf „Nicht definiert“ festlegen, hat das keine Auswirkungen auf den vorherigen Wert. |
region |
Array | Ein optionales Array mit Regionscodes, die angeben, für welche Region die Einwilligungseinstellungen gelten. Regionscodes werden mithilfe des Landes und/oder der Untergruppen im Format ISO 3166-2 angegeben. |
wait_for_update |
number | Gibt einen Millisekundenwert an, um zu steuern, wie lange auf das Senden von Daten gewartet werden soll. Wird bei Einwilligungstools verwendet, die asynchron geladen werden. |
Verknüpfte Berechtigungen
Berechtigung access_consent
mit Schreibzugriff für alle Einwilligungsarten im „consentSettings“-Objekt.
setInWindow
Legt den angegebenen Wert in window
beim angegebenen Schlüssel fest. Wenn bereits ein Wert vorhanden ist, wird bei dieser Methode der Wert in window
standardmäßig nicht festgelegt. Legen Sie overrideExisting
auf true
fest, um den Wert in der window
unabhängig davon festzulegen, ob ein vorhandener Wert vorhanden ist. Gibt einen boolean Wert zurück: true
, wenn der Wert erfolgreich festgelegt wurde, andernfalls false
.
Syntax
setInWindow(key, value, overrideExisting)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
key |
String | Der Schlüssel in window , in dem der Wert platziert werden soll. |
value |
* | Der in window festzulegende Wert. |
overrideExisting |
boolean | Das Flag, das angibt, dass der Wert in window festgelegt werden soll, unabhängig davon, ob dort ein Wert vorhanden ist oder nicht. |
Verknüpfte Berechtigungen
sha256
Berechnet den SHA-256-Digest der Eingabe und ruft einen Callback mit dem in base64 codierten Digest auf, es sei denn, das options
-Objekt gibt eine andere Ausgabecodierung an.
Example:
sha256('inputString', (digest) => {
sendPixel('https://example.com/collect?id=' + digest);
data.gtmOnSuccess();
}, data.gtmOnFailure);
sha256('inputString', (digest) => {
sendPixel('https://example.com/collect?id=' + digest);
data.gtmOnSuccess();
}, data.gtmOnFailure, {outputEncoding: 'hex'});
Syntax
sha256(input, onSuccess, onFailure = undefined, options = undefined)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
input |
String | Der String, für den der Hashwert berechnet wird. |
onSuccess |
Funktion | Wird mit dem resultierenden Digest aufgerufen, in base64 codiert, es sei denn, das options -Objekt gibt eine andere Ausgabecodierung an. |
onFailure |
Funktion | Wird aufgerufen, wenn beim Berechnen des Digests ein Fehler auftritt oder wenn der Browser keine native Unterstützung für sha256 hat. Der Callback wird mit einem Objekt aufgerufen, das den Namen des Fehlers und die Meldung enthält. |
options |
Gegenstand | Optional, um die Ausgabecodierung anzugeben. Wenn angegeben, sollte das Objekt den Schlüssel outputEncoding mit dem Wert base64 oder hex enthalten. |
Verknüpfte Berechtigungen
Keine.
templateStorage
Gibt ein Objekt mit Methoden für den Zugriff auf den Vorlagenspeicher zurück. Durch das Speichern von Vorlagen können Daten für verschiedene Ausführungen einer einzelnen Vorlage freigegeben werden. Im Vorlagenspeicher gespeicherte Daten bleiben für die Lebensdauer der Seite bestehen.
Syntax
const templateStorage = require('templateStorage');
templateStorage.getItem(key);
templateStorage.setItem(key, value);
templateStorage.removeItem(key);
// Deletes all stored values for the template.
templateStorage.clear();
Verknüpfte Berechtigungen
Beispiel
const templateStorage = require('templateStorage');
const sendPixel = require('sendPixel');
// Ensure sendPixel is called only once per page.
if (templateStorage.getItem('alreadyRan')) {
data.gtmOnSuccess();
return;
}
templateStorage.setItem('alreadyRan', true);
sendPixel(
data.oncePerPagePixelUrl,
data.gtmOnSuccess,
() => {
templateStorage.setItem('alreadyRan', false);
data.gtmOnFailure();
});
toBase64
Mit der toBase64
API können Sie einen String in eine base64-Darstellung codieren.
Syntax
toBase64(input)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
input |
String | Zu codierender String. |
Beispiel
const toBase64 = require('toBase64');
const base64Hello = toBase64('hello');
Verknüpfte Berechtigungen
Keine
updateConsentState
Sendet eine Einwilligungsaktualisierung an die Datenschicht, die so schnell wie möglich verarbeitet wird, nachdem das aktuelle Ereignis und alle durch es ausgelösten Tags verarbeitet wurden oder das Zeitlimit für die Tag-Verarbeitung erreicht wurde. Das Update wird in diesem Container garantiert vor den Elementen in der Datenschicht verarbeitet, die sich in der Warteschlange befinden. Weitere Informationen zur Einwilligung
Example:
const updateConsentState = require('updateConsentState');
updateConsentState({
'ad_storage': 'granted',
'analytics_storage': 'denied',
'third_party_storage': 'granted',
});
Syntax
updateConsentState(consentSettings)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
consentSettings |
Gegenstand | Ein Objekt, das den Status für die angegebenen Einwilligungsarten aktualisiert. |
Das Objekt consentSettings
ist eine Zuordnung beliebiger Strings der Einwilligungsart zu 'granted'
oder 'denied'
. Folgende Werte werden unterstützt:
Schlüsselname | Typ | Beschreibung |
---|---|---|
consentType |
String | Der Wert für jede Einwilligungsart kann auf „Gewährt“ oder „Abgelehnt“ festgelegt werden. Jeder andere Wert als „gewährt“ wird als „abgelehnt“ behandelt. Wenn Sie den Wert auf „nicht definiert“ festlegen, hat das keine Auswirkungen auf den vorherigen Wert. |
Verknüpfte Berechtigungen
Berechtigung access_consent
mit Schreibzugriff für alle Einwilligungsarten im „consentSettings“-Objekt.
APIs testen
Diese APIs arbeiten mit JavaScript-Tests in einer Sandbox zusammen, um Tests für benutzerdefinierte Vorlagen in Google Tag Manager zu erstellen. Für diese Test-APIs ist keine require()
-Anweisung erforderlich. Weitere Informationen zu Tests mit benutzerdefinierten Vorlagen
assertApi
Gibt ein Matcher-Objekt zurück, mit dem flüssige Aussagen über die angegebene API getroffen werden können.
Syntax
assertApi(apiName)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
apiName |
String | Der Name der zu prüfenden API; der gleiche String, der an require() übergeben wurde.
|
Matcher
Subject.wasCalled()
Subject.wasNotCalled()
Subject.wasCalledWith(...expected)
Subject.wasNotCalledWith(...expected)
Beispiele
assertApi('sendPixel').wasCalled();
assertApi('getUrl').wasNotCalled();
assertApi('makeNumber').wasCalledWith('8');
assertApi('setInWindow').wasNotCalledWith('myVar', 'theWrongValue');
assertThat
Die assertThat
API ist der [Truth]-Bibliothek von Google nachempfunden. Sie gibt ein Objekt zurück, mit dem fließend Aussagen über den Wert eines Subjekts gemacht werden können. Ein assertionsfehler beendet den Test sofort und markiert ihn als fehlgeschlagen. Ein Fehler in einem Test hat jedoch keine Auswirkungen auf andere Testläufe.
Syntax
assertThat(actual, opt_message)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
actual |
Beliebig | Der bei den Prüfungen zu verwendende Wert. |
opt_message |
String | Optionale Nachricht, die ausgegeben wird, wenn die Assertion fehlschlägt. |
Matcher
Matcher | Beschreibung |
---|---|
isUndefined() |
Bestätigt, dass das Subjekt undefined ist. |
isDefined() |
Erklärt, dass das Thema nicht undefined ist. |
isNull() |
Bestätigt, dass das Subjekt null ist. |
isNotNull() |
Erklärt, dass das Thema nicht null ist. |
isFalse() |
Bestätigt, dass das Subjekt false ist. |
isTrue() |
Bestätigt, dass das Subjekt true ist. |
isFalsy() |
Behauptung, dass das Subjekt falsch ist Falsche Werte sind undefined , null , false , NaN , 0 und' (leerer String). |
isTruthy() |
Behauptung, das Subjekt ist wahrheitsgemäß. Falsche Werte sind undefined , null , false , NaN , 0 und' (leerer String). |
isNaN() |
Bestätigt, dass das Subjekt der Wert NaN ist. |
isNotNaN() |
Bestätigt, dass das Subjekt ein beliebiger Wert außer NaN ist. |
isInfinity() |
Behauptet, dass das Subjekt positiv oder negativ unendlich ist. |
isNotInfinity() |
Gibt an, dass das Subjekt ein beliebiger Wert außer positivem oder negativem unendlich ist. |
isEqualTo(expected) |
Unternimmt, dass das Subjekt dem angegebenen Wert entspricht. Dies ist ein Wertvergleich, kein Referenzvergleich. Die Inhalte von Objekten und Arrays werden rekursiv verglichen. |
isNotEqualTo(expected) |
Unternimmt, dass das Subjekt nicht dem angegebenen Wert entspricht. Dies ist ein Wertvergleich, kein Referenzvergleich. Der Inhalt von Objekten und Arrays wird rekursiv verglichen. |
isAnyOf(...expected) |
Unternimmt, dass das Subjekt einem der angegebenen Werte entspricht. Dies ist ein Wertvergleich, kein Referenzvergleich. Der Inhalt von Objekten und Arrays wird rekursiv verglichen. |
isNoneOf(...expected) |
Liefert, dass das Subjekt keinem der angegebenen Werte entspricht. Dies ist ein Wertvergleich, kein Referenzvergleich. Die Inhalte von Objekten und Arrays werden rekursiv verglichen. |
isStrictlyEqualTo(expected) |
Stellt fest, dass das Subjekt genau mit dem angegebenen Wert gleich (=== ) ist. |
isNotStrictlyEqualTo(expected) |
Gibt an, dass das Subjekt nicht genau mit dem angegebenen Wert gleich (!== ) ist. |
isGreaterThan(expected) |
Bestätigt, dass das Subjekt in einem geordneten Vergleich größer als (> ) ist. |
isGreaterThanOrEqualTo(expected) |
Gibt an, dass das Subjekt in einem geordneten Vergleich größer oder gleich (>= ) ist. |
isLessThan(expected) |
Bestätigt, dass das Subjekt in einem geordneten Vergleich kleiner als (< ) ist. |
isLessThanOrEqualTo(expected) |
Stellt fest, dass das Subjekt in einem geordneten Vergleich kleiner oder gleich (<= ) ist. |
contains(...expected) |
Stellt fest, dass das Subjekt ein Array oder ein String ist, das alle angegebenen Werte in beliebiger Reihenfolge enthält. Dies ist ein Wertvergleich, kein Referenzvergleich. Die Inhalte von Objekten und Arrays werden rekursiv verglichen. |
doesNotContain(...expected) |
Bestätigt, dass das Thema ein Array oder ein String ist, der bzw. der keinen der angegebenen Werte enthält. Dies ist ein Wertvergleich, kein Referenzvergleich. Die Inhalte von Objekten und Arrays werden rekursiv verglichen. |
containsExactly(...expected) |
Stellt fest, dass das Subjekt ein Array ist, das alle angegebenen Werte in beliebiger Reihenfolge enthält. Dies ist ein Wertvergleich, kein Referenzvergleich. Die Inhalte von Objekten und Arrays werden rekursiv verglichen. |
doesNotContainExactly(...expected) |
Stellt fest, dass das Subjekt ein Array ist, das einen anderen Satz von Werten als die angegebenen Werte in beliebiger Reihenfolge enthält. Dies ist ein Wertvergleich, kein Referenzvergleich. Die Inhalte von Objekten und Arrays werden rekursiv verglichen. |
hasLength(expected) |
Bestätigt, dass das Thema ein Array oder ein String mit der angegebenen Länge ist. Die Assertion schlägt immer fehl, wenn der Wert kein Array oder String ist. |
isEmpty() |
Bestätigt, dass das Thema ein leeres Array oder String ist (Länge = 0). Die Assertion schlägt immer fehl, wenn der Wert kein Array oder String ist. |
isNotEmpty() |
Bestätigt, dass das Thema ein Array oder ein String ist, das bzw. der nicht leer ist (Länge > 0). Die Assertion schlägt immer fehl, wenn der Wert kein Array oder String ist. |
isArray() |
Bestätigt, dass der Typ des Themas ein Array ist. |
isBoolean() |
Bestätigt, dass der Typ des Subjekts ein boolescher Wert ist. |
isFunction() |
Bestätigt, dass der Typ des Subjekts eine Funktion ist. |
isNumber() |
Bestätigt, dass der Typ des Themas eine Zahl ist. |
isObject() |
Bestätigt, dass der Typ des Themas ein Objekt ist. |
isString() |
Bestätigt, dass der Typ des Themas ein String ist. |
Beispiele
assertThat(undefined).isUndefined();
assertThat(id, 'ID must be defined').isDefined();
assertThat(null).isNull();
assertThat(undefined).isNotNull();
assertThat(true).isTrue();
assertThat(false).isFalse();
assertThat(1).isTruthy();
assertThat('').isFalsy();
assertThat(1/0).isInfinity();
assertThat(0).isNotInfinity();
assertThat(-'foo').isNaN();
assertThat(100).isNotNaN();
assertThat(sentUrl).isEqualTo('https://endpoint.example.com/?account=12345');
assertThat(category).isNotEqualTo('premium');
assertThat(5).isAnyOf(1, 2, 3, 4, 5);
assertThat(42).isNoneOf('the question', undefined, 41.9);
assertThat('value').isStrictlyEqualTo('value');
assertThat('4').isNotStrictlyEqualTo(4);
assertThat(['a', 'b', 'c']).contains('a', 'c');
assertThat(['x', 'y', 'z']).doesNotContain('f');
assertThat(['1', '2', '3']).containsExactly('3', '2', '1');
assertThat(['4', '5']).doesNotContainExactly('4');
assertThat('a string').hasLength(8);
assertThat([]).isEmpty();
assertThat('another string').isNotEmpty();
fail
Schlägt den aktuellen Test sofort fehl und gibt die angegebene Nachricht aus, sofern angegeben.
Syntax
fail(opt_message);
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
opt_message |
String | Optionaler Text der Fehlermeldung. |
Beispiel
fail('This test has failed.');
mock
Mit der mock
API können Sie das Verhalten von in der Sandbox ausgeführten APIs überschreiben. Die Mock API kann in Vorlagencode sicher verwendet werden, funktioniert jedoch nicht, wenn sie sich nicht im Testmodus befindet. Die Simulationen werden vor jedem Test zurückgesetzt.
Syntax
mock(apiName, returnValue);
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
apiName |
String | Der Name der zu simulierenden API; derselbe String, der an require() übergeben wird |
returnValue |
Beliebig | Der Wert, der für die API oder eine Funktion zurückgegeben werden soll, die anstelle der API aufgerufen wird. Wenn returnValue eine Funktion ist, wird diese Funktion anstelle der Sandboxed API aufgerufen. Wenn returnValue etwas anderes als eine Funktion ist, wird dieser Wert anstelle der Sandboxed API zurückgegeben. |
Beispiele
mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
onSuccess();
});
runCode
Führt den Code für die Vorlage, d.h. den Inhalt des Tabs Code in der aktuellen Testumgebung mit einem bestimmten Eingabedatenobjekt aus.
Syntax
runCode(data)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
data |
Gegenstand | Datenobjekt, das im Test verwendet werden soll. |
Rückgabewert
Gibt den Wert einer Variablen für Variablenvorlagen zurück. Für alle anderen Vorlagentypen wird undefined
zurückgegeben.
Beispiel
runCode({field1: 123, field2: 'value'});