Kern-APIs
Diese APIs arbeiten mit JavaScript in einer Sandbox zusammen, um benutzerdefinierte Vorlagen in Google zu erstellen.
Tag Manager. Jede API wird mit einer require()
-Anweisung hinzugefügt. Beispiel:
const myAPI = require('myAPI');
addConsentListener
Registriert eine Listener-Funktion, die ausgeführt wird, wenn der Status der angegebenen Einwilligung vorliegt Typänderungen.
Der angegebene Listener wird jedes Mal aufgerufen, wenn der Status für die angegebene Die Einwilligungsart wird von „Abgelehnt“ zu „Gewährt“ oder von „Gewährt“ zu „Abgelehnt“ geändert. Eine Einwilligung Typ ohne Status gilt als gewährt. Daher wird der Listener nicht aufgerufen, wenn ein nicht festgelegten Einwilligungstyp wird in „Erteilt“ geändert. Listener-Funktionen übernehmen dafür sorgen, dass der Code ordnungsgemäß ausgeführt wird.
Beispiel:
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, für die auf Statusänderungen gewartet werden soll. |
listener |
Funktion | Die Funktion, die ausgeführt werden soll, wenn der Status der angegebenen Einwilligungsart vorliegt Änderungen. |
Wenn ein Listener aufgerufen wird, wird ihm die Einwilligungsart übergeben, und der neue Wert dieser Einwilligungsart:
Parameter | Typ | Beschreibung |
---|---|---|
consentType |
String | Die Einwilligungsart, die geändert wird. |
granted |
Boolescher Wert | Ein boolescher Wert, der „true“ ist, wenn die angegebene Einwilligungsart geändert wird zu gewähren. |
Zugehörige Berechtigungen
Berechtigung „access_consent
“ mit Lesezugriff für die Einwilligungsart.
addEventCallback
Mit der addEventCallback
API kannst du eine Callback-Funktion registrieren,
am Ende eines Ereignisses aufgerufen werden. Der Callback wird aufgerufen, wenn alle
Tags für das Ereignis ausgeführt wurden oder wenn eine Zeitüberschreitung für In-Page-Ereignisse erreicht wurde.
An den Callback werden zwei Werte übergeben: die ID des Containers, der den Aufruf
und ein Objekt, das Informationen über das Ereignis enthält.
Syntax
addEventCallback(callback)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
callback |
Funktion | Die am Ende des Ereignisses aufzurufende Funktion. |
Das eventData
-Objekt 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
Tag-ID (id ), sein Ausführungsstatus
(status ) und die Ausführungszeit
(executionTime ). Die Tag-Daten enthalten außerdem 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);
});
Zugehörige 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. Zuweisungs
Wert im window
-Objekt unter fromPath
zum Schlüssel im
window
-Objekt bei toPath
. Gibt bei Erfolg true
zurück, false
sonst.
Syntax
aliasInWindow(toPath, fromPath)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
toPath |
String | Ein durch Punkte getrennter Pfad zum window -Objekt, wobei ein Wert
in die kopiert werden soll. Alle Komponenten im Pfad bis zur letzten Komponente
muss bereits im Objekt window vorhanden sein. |
fromPath |
String | Ein durch Punkte getrennter Pfad in window zum zu kopierenden Wert. Wenn
wenn der Wert nicht vorhanden ist, schlägt der Vorgang fehl. |
Beispiel
aliasInWindow('foo.bar', 'baz.qux')
Zugehörige Berechtigungen
access_globals
ist sowohl für toPath
als auch für fromPath
erforderlich. toPath
erfordert Schreibzugriff, fromPath
erfordert Lesezugriff.
callInWindow
Ermöglicht Ihnen, Funktionen über einen Pfad außerhalb des window
-Objekts in einem richtlinienbasierten
kontrolliert werden kann. Ruft die Funktion unter dem angegebenen Pfad in window
mit dem angegebenen
und gibt den Wert zurück. Wenn der Rückgabetyp nicht direkt
ein Typ, der in JavaScript in einer Sandbox unterstützt wird, wird undefined
zurückgegeben. Die
In JavaScript werden acht Typen unterstützt: null
, undefined
,
boolean
, number
, string
, Array
, Object
und function
. Wenn die angegebene
Pfad nicht vorhanden ist oder nicht auf eine Funktion verweist, wird undefined
als
zurückgegeben.
Syntax
callInWindow(pathToFunction, argument [, argument2,... argumentN])
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
pathToFunction |
String | Ein durch Punkte getrennter Pfad zur Funktion in window ,
aufrufen. |
args |
* | Argumente, die an die Funktion übergeben werden sollen. |
Zugehörige Berechtigungen
access_globals
mit aktivierter Berechtigung execute
.
callLater
Plant einen asynchronen Aufruf einer Funktion. Die Funktion ist
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 aktuell dem entsprechenden Schlüssel in der Datenschicht zugewiesen ist:
Wert, der am angegebenen Schlüssel gefunden wurde, wenn es sich um einen primitiven Typ, eine Funktion oder ein Objekt handelt
Literal oder undefined
.
Syntax
copyFromDataLayer(key[, dataLayerVersion])
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
key |
String | Der Schlüssel im Format „a.b.c“. |
dataLayerVersion |
number | Die optionalen Daten Ebenenversion. Der Standardwert liegt bei 2. Wir raten dringend davon ab, verwenden Sie den Wert 1. |
Zugehörige Berechtigungen
copyFromWindow
Kopiert eine Variable aus dem window
-Objekt. Wenn der Wert in window
nicht
direkt einem Typ zugeordnet ist, 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. |
Zugehörige Berechtigungen
createArgumentsQueue
Erstellt eine Warteschlange mit Argumentobjekten zur Unterstützung von Tags die sie erfordern.
Erstellt eine globale Funktion (d. h. window
) mit dem Argument fnKey
.
(dieselbe Semantik wie createQueue
). Nachdem die Funktion erstellt wurde,
Erstellt ein Array in window
(falls noch nicht vorhanden) mithilfe der arrayKey
.
Wenn die unter fnKey
erstellte Funktion aufgerufen wird, überträgt sie ihre Argumente.
-Objekt in das Array, das unter arrayKey
erstellt wurde. Der Rückgabewert der API ist der
unter fnKey
erstellt.
Für diese Funktion sind die Lese- und Schreibeinstellungen für fnKey
und arrayKey
erforderlich
access_globals
.
Beispiel:
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 dies der Fall ist
noch nicht vorhanden sind. Dieses Argument unterstützt die Standardschreibweise mit Punkten. Wenn die
nicht vorhanden ist, wird eine Ausnahme ausgelöst. Das heißt, wenn
fnKey gleich 'one.two' ist, wird Folgendes ausgegeben:
Ausnahme. |
arrayKey |
String | Der Pfad in window , in dem das Array festgelegt ist, falls dies nicht der Fall ist
bereits vorhanden sind. Dieses Argument unterstützt die Standardschreibweise mit Punkten. Wenn die
nicht vorhanden ist, wird eine Ausnahme ausgelöst. Das heißt, wenn
arrayKey ist 'one.two' und es gibt keine
mit dem Namen 'one' , wird eine Fehlermeldung
Ausnahme. |
Zugehörige Berechtigungen
createQueue
Erstellt ein Array in window
(falls es noch nicht vorhanden ist) und gibt einen
-Funktion, die Werte in dieses Array überträgt.
Für diese Funktion ist die Lese- und Schreibeinstellung für arrayKey
auf der
Berechtigung „access_globals
“.
Beispiel:
const dataLayerPush = createQueue('dataLayer');
dataLayerPush({'currency': 'USD'}, {'event': 'myConversion'});
Syntax
createQueue(arrayKey)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
arrayKey |
String | Den Schlüssel in window , in dem das Array festgelegt ist, falls dies nicht der Fall ist
bereits vorhanden sind. Dieses Argument unterstützt die Standardschreibweise mit Punkten. Wenn die
nicht vorhanden ist, wird eine Ausnahme ausgelöst. Beispiel:
arrayKey ist 'one.two' und es gibt keine
mit dem Namen 'one' , wird eine Fehlermeldung
Ausnahme. |
Zugehörige Berechtigungen
decodeUri
Decodiert alle codierten Zeichen im bereitgestellten URI. Gibt einen string zurück, der
steht für den decodierten URI. Gibt undefined
zurück, wenn ein ungültiger Wert angegeben wurde
Eingabe.
Beispiel:
const decode = require('decodeUri');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
Syntax
decodeUri(encoded_uri)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
encoded_uri |
String | Einen URI, der von
encodeUri()
oder auf andere Weise nutzen. |
Zugehörige Berechtigungen
Keine.
decodeUriComponent
Decodiert alle codierten Zeichen in der bereitgestellten URI-Komponente. Gibt Folgendes zurück:
string für die decodierte URI-Komponente Gibt undefined
zurück, wenn
mit ungültiger Eingabe.
Beispiel:
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 durch
encodeUriComponent()
oder auf andere Weise nutzen. |
Zugehörige Berechtigungen
Keine.
encodeUri
Gibt einen codierten URI (Uniform Resource Identifier) zurück, indem spezielle
Zeichen. Gibt einen string zurück, der den bereitgestellten String darstellt.
URI. Gibt undefined
zurück, wenn eine ungültige Eingabe vorliegt (ein einziger Ersatzwert).
Beispiel:
sendPixel('https://www.example.com/' + encodeUri(pathInput));
Syntax
encodeUri(uri)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
uri |
String | Einen vollständigen URI. |
Zugehörige Berechtigungen
Keine.
encodeUriComponent
Gibt einen codierten URI (Uniform Resource Identifier) zurück, indem spezielle
Zeichen. Gibt einen string zurück, der den bereitgestellten String darstellt.
URI. Gibt undefined
zurück, wenn eine ungültige Eingabe vorliegt (ein einziger Ersatzwert).
Beispiel:
sendPixel('https://www.example.com/?' + encodeUriComponent(queryInput));
Syntax
encodeUriComponent(str)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
str |
String | Eine Komponente eines URI. |
Zugehörige Berechtigungen
Keine.
fromBase64
Mit der fromBase64
API können Sie Strings aus ihrem base64-Wert decodieren
Darstellung. Gibt undefined
zurück, wenn eine ungültige Eingabe angegeben wurde.
Syntax
fromBase64(base64EncodedString)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
base64EncodedString |
String | Base64-codierter String. |
Beispiel
const fromBase64 = require('fromBase64');
const greeting = fromBase64('aGVsbG8=');
if (greeting === 'hello') {
// ...
}
Zugehörige Berechtigungen
Keine
generateRandom
Gibt eine zufällige Zahl (Ganzzahl) innerhalb des angegebenen Bereichs zurück.
Syntax
generateRandom(min, max)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
min |
number | Minimaler potenzieller Wert der zurückgegebenen Ganzzahl. |
max |
number | Maximaler potenzieller Wert der zurückgegebenen Ganzzahl. |
Zugehörige Berechtigungen
Keine.
getContainerVersion
Gibt ein Objekt mit Daten zum aktuellen Container zurück. Die 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();
Zugehörige 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 |
Boolescher Wert | Steuert, ob die Cookiewerte mit
JavaScript-
decodeURIComponent() Die Standardeinstellung ist true . |
Zugehörige Berechtigungen
getQueryParameters
Gibt den ersten oder alle Parameter für den aktuellen queryKey
der URL zurück.
Gibt den ersten Wert aus queryKey
oder ein Array von Werten aus dem zurück.
queryKey
Syntax
getQueryParameters(queryKey[, retrieveAll])
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
queryKey |
String | Der Schlüssel, der aus den Abfrageparametern gelesen werden soll. |
retrieveAll |
Boolescher Wert | 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
, dann:
getQueryParameters('var') == 'foo'
getQueryParameters('var', false) == 'foo'
getQueryParameters('var', null) == 'foo'
getQueryParameters('var', true) == ['foo', 'foo2', 'foo']
Zugehörige Berechtigungen
get_url
muss die Komponente query
zulassen und die queryKey
in
Die zulässigen Abfrageschlüssel (oder einen beliebigen Abfrageschlüssel zulassen).
getReferrerQueryParameters
Die getReferrerQueryParameters
API funktioniert genauso wie die getQueryParameters
,
mit dem Unterschied, dass sie auf die Referrer-URL und nicht auf die aktuelle URL angewendet wird. Gibt das erste oder
alle Parameter für die queryKey
der angegebenen Verweis-URL. Gibt die erste
Wert aus queryKey
oder einem Array von Werten aus queryKey
.
Syntax
getReferrerQueryParameters(queryKey[, retrieveAll])
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
queryKey |
String | Der Schlüssel, der aus den Abfrageparametern gelesen werden soll. |
retrieveAll |
Boolescher Wert | Gibt an, ob alle Werte abgerufen werden sollen. |
Lautet die Referrer-URL beispielsweise
https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
, dann:
getReferrerQueryParameters('var') == 'foo'
getReferrerQueryParameters('var', false) == 'foo'
getReferrerQueryParameters('var', null) == 'foo'
getReferrerQueryParameters('var', true) == ['foo', 'foo2', 'foo']
Zugehörige Berechtigungen
get_referrer
muss die Komponente query
zulassen und Folgendes angeben:
queryKey
in den zulässigen Abfrageschlüsseln (oder einen beliebigen Abfrageschlüssel zulassen)
getReferrerUrl
Die API liest bei einem bestimmten Komponententyp das Dokumentobjekt auf die Verweis-URL und gibt einen String zurück, der einen Teil der Referrer-URL darstellt. Wenn keine Komponente 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. Folgende Werte sind möglich:
protocol , host , port
path , query , extension . Wenn
component ist undefined , null oder
mit keiner dieser Komponenten übereinstimmt, wird die gesamte URL
zurückgegeben. |
Zugehörige Berechtigungen
get_referrer
muss die Komponente query
zulassen und Folgendes angeben:
queryKey
in den zulässigen Abfrageschlüsseln (oder einen beliebigen Abfrageschlüssel zulassen)
getTimestamp
Veraltet. Bevorzugen Sie getTimestampMillis.
Gibt eine Zahl zurück, die die aktuelle Zeit in Millisekunden seit Unix darstellt
Epoche, wie von Date.now()
zurückgegeben.
Syntax
getTimestamp();
Zugehörige Berechtigungen
Keine.
getTimestampMillis
Gibt eine Zahl zurück, die die aktuelle Zeit in Millisekunden seit Unix darstellt
Epoche, wie von Date.now()
zurückgegeben.
Syntax
getTimestampMillis();
Zugehörige Berechtigungen
Keine.
getType
Gibt einen String zurück, der den Typ des angegebenen Werts beschreibt. Im Gegensatz zu typeof
getType
unterscheidet zwischen array
und object
.
Syntax
getType(data.someField)
Hinweise
In der folgenden Tabelle sind die Strings aufgeführt, die für jeden Eingabewert zurückgegeben werden.
Eingabewert | Ergebnis |
---|---|
undefined |
'nicht definiert' |
null |
„null“ |
true |
'boolesch' |
12 |
"number" (Zahl) |
'string' |
"string" |
{ a: 3 } |
'Objekt' [object] |
[ 1, 3 ] |
„Array“ |
(x) => x + 1 |
„function“ |
Zugehörige Berechtigungen
Keine.
getUrl
Gibt einen String zurück, der die gesamte URL oder einen Teil davon darstellt. einen Komponententyp und einige Konfigurationsparameter.
Syntax
getUrl(component)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
component |
String | Die Komponente, die von der URL zurückgegeben werden soll. Folgende Werte sind zulässig:
protocol , host , port
path , query , extension
fragment Wenn die Komponente undefined ist,
null oder keine Übereinstimmung mit einer dieser Komponenten aufweist,
gesamter href -Wert zurückgegeben. |
Zugehörige Berechtigungen
gtagSet
Sendet einen gtag-set-Befehl an die Datenschicht, der verarbeitet wird, sobald nach dem aktuellen Ereignis möglich, und alle durch sie ausgelösten Tags sind abgeschlossen (oder das Zeitlimit für die Tag-Verarbeitung erreicht wurde). Das Update wird garantiert muss in diesem Container verarbeitet werden, bevor Elemente in der Warteschlange in der Datenschicht vorhanden sind. in die Warteschlange stellen.
Wird der Aufruf beispielsweise über ein Tag ausgelöst, das bei der Initialisierung der Einwilligung ausgelöst wurde, wird das Ereignis
vor der Verarbeitung des Initialisierungsereignisses angewendet wird. Beispiele
ads_data_redaction
wird auf true
, false
oder url_passthrough
gesetzt
true
oder false
festgelegt ist.
Beispiele:
const gtagSet = require('gtagSet');
gtagSet({
'ads_data_redaction': true,
'url_passthrough': true,
});
Syntax
gtagSet(object)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
Object |
Gegenstand | Ein Objekt, das den globalen Status für die zugehörigen Eigenschaften aktualisiert. |
Zugehörige Berechtigungen
write_data_layer
prüft für alle Schreibberechtigungen für dataLayer
den angegebenen Schlüsseln. Wenn die Eingabe für gtagSet
ein einfaches Objekt ist, prüft die API
für die Schreibberechtigung für alle vereinfachten Schlüssel in diesem Objekt, z.B. für
gtagSet({foo: {bar: 'baz'}})
, prüft die API auf Schreibvorgänge
Berechtigung für foo.bar
.
Wenn die Eingabe für gtagSet
ein Schlüssel und ein nicht einfacher Objektwert ist, wird die API
Prüfen Sie, ob die Schreibberechtigung für diesen Schlüssel vorliegt. Beispiel: für gtagSet('abc', true)
,
prüft die API die Schreibberechtigung für 'abc'
.
Beachten Sie, dass bei einem Zyklus im Eingabeobjekt nur die Tasten vor dem Erreichen des überprüft werden.
injectHiddenIframe
Fügt der Seite einen unsichtbaren iFrame hinzu.
Callbacks werden als Funktionsinstanzen angegeben und in JavaScript eingebettet. die sie aufrufen.
Syntax
injectHiddenIframe(url, onSuccess)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
url |
String | Die URL, die als Wert des src -Elements des iFrames verwendet werden soll
. |
onSuccess |
Funktion | Wird aufgerufen, wenn der Frame erfolgreich geladen wurde. |
Zugehörige 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 eingebettet. die sie aufrufen.
Syntax
injectScript(url, onSuccess, onFailure[, cacheToken])
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
url |
String | Die Adresse des einzufügenden Skripts. |
onSuccess |
Funktion | Wird aufgerufen, wenn das Skript erfolgreich geladen wurde. |
onFailure |
Funktion | Wird aufgerufen, wenn das Skript nicht geladen werden kann. |
cacheToken |
String | Optionaler String, der angibt, dass die angegebene URL im Cache gespeichert werden soll. Wenn
festgelegt ist, wird nur ein Skriptelement erstellt,
fordern Sie den JavaScript-Code an. Alle weiteren Ladeversuche führen zu
die angegebenen Methoden onSuccess und onFailure
bis das Skript geladen ist. |
Zugehörige Berechtigungen
isConsentGranted
Gibt „true“ zurück, wenn die angegebene Einwilligungsart gewährt wurde.
Die Einwilligung für eine bestimmte Einwilligungsart gilt als erteilt, wenn die Einwilligung Typ wurde auf „granted“ festgelegt oder gar nicht festgelegt. Einwilligungsart alle anderen Werte gilt als nicht gewährt.
In der Tag Manager-Benutzeroberfläche für die Tag-Einstellungen können Sie festlegen,
Feuer. Wenn ein Tag, für das die Option „Immer auslösen“ aktiviert ist, diese API verwendet, wird die Einwilligung berücksichtigt
erteilt und true
wird unabhängig vom tatsächlichen Einwilligungsstatus zurückgegeben.
Beispiel:
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. |
Zugehörige 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 Wert oder das Objekt zu erstellen.
das durch den String beschrieben wird. Wenn der Wert nicht geparst werden kann (z.B. ein fehlerhaftes JSON-Format),
gibt die Funktion undefined
zurück. Wenn der Eingabewert kein String ist, wird der
Die Eingabe wird 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
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, ist die Eingabe erzwingt wird. |
JSON.stringify
Parameter | Typ | Beschreibung |
---|---|---|
Wert | 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);
Zugehörige 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 |
Zugehörige Berechtigungen
makeInteger
Wandelt den gegebenen Wert in eine Zahl (Ganzzahl) um.
Syntax
makeInteger(value)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
value |
Beliebig | Wert, der konvertiert werden soll. |
Zugehörige Berechtigungen
Keine.
makeNumber
Wandelt den gegebenen Wert in eine Zahl um.
Syntax
makeNumber(value)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
value |
Beliebig | Wert, der konvertiert werden soll. |
Zugehörige Berechtigungen
Keine.
makeString
Gibt den gegebenen Wert als string zurück.
Syntax
makeString(value)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
value |
Beliebig | Wert, der konvertiert werden soll. |
Zugehörige Berechtigungen
Keine.
makeTableMap
Wandelt ein einfaches Tabellenobjekt mit zwei Spalten in einen Map
um. Damit werden
Ändern Sie ein SIMPLE_TABLE
-Vorlagenfeld mit zwei Spalten in ein leichter überschaubares
Format.
Die folgende 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: die konvertierte Map
, wenn Schlüssel/Wert-Paare zu
oder null
auf andere Weise.
Syntax
makeTableMap(tableObj, keyColumnName, valueColumnName)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
tableObj |
Liste | Das Tabellenobjekt, das konvertiert werden soll. Es ist eine Liste von Karten, in denen alle
Map steht für eine Zeile in der Tabelle. Jeder Eigenschaftsname in einem
Das Zeilenobjekt ist der Spaltenname und der Eigenschaftswert ist die Spalte
Wert in der Zeile. |
keyColumnName |
String | Name der Spalte, deren Werte in der konvertierten Datei zu Schlüsseln werden.
Map |
valueColumnName |
String | Name der Spalte, deren Werte in der konvertierten Tabelle zu Werten werden.
Map |
Zugehörige 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.
Zugehörige Berechtigungen
Keine.
Object
Gibt ein Objekt zurück, das Object
-Methoden bereitstellt.
Die Methode keys()
stellt die Standardbibliothek Object.keys() bereit.
verhalten. Sie gibt ein Array der eigenen aufzählbaren Eigenschaft eines bestimmten Objekts zurück.
in derselben Reihenfolge wie eine for...in...
-Schleife. Wenn der Eingabewert
kein Objekt ist, wird sie in ein Objekt umgewandelt.
Die Methode values()
stellt die Standardbibliothek Object.values() bereit.
verhalten. Sie gibt ein Array der eigenen aufzählbaren Eigenschaftswerte eines bestimmten Objekts zurück.
in derselben Reihenfolge wie bei einer for...in...
-Schleife. Wenn der Eingabewert kein
-Objekt enthält, wird er in ein -Objekt umgewandelt.
Die Methode entries()
stellt die Standardbibliothek Object.entries() bereit.
verhalten. Sie gibt ein Array der eigenen aufzählbaren Eigenschaft eines bestimmten Objekts zurück.
[key, value]
-Paare werden in derselben Reihenfolge wie in einer for...in...
-Schleife dargestellt. Wenn die
Eingabewert kein Objekt ist, wird er in ein Objekt umgewandelt.
Die Methode freeze()
stellt die Standardbibliothek Object.freeze() bereit.
verhalten. Ein fixiertes Objekt kann nicht mehr geändert werden. wird durch das Einfrieren
eines Objekts verhindert,
neue Eigenschaften hinzugefügt, vorhandene Unterkünfte entfernt werden,
und die Werte vorhandener Eigenschaften werden geändert. freeze()
gibt den Fehlerwert
übergebenen Objekt. Primitive oder Null-Argumente
wenn es sich um ein fixiertes Objekt handelt, und wird zurückgegeben.
Die Methode delete()
stellt den Löschoperator der Standardbibliothek bereit.
verhalten. Sie entfernt den angegebenen Schlüssel aus dem Objekt, sofern das Objekt nicht fixiert ist.
Wie beim Löschoperator der Standardbibliothek wird true
zurückgegeben, wenn die erste Eingabe
Der Wert (objectInput
) ist ein Objekt, das nicht fixiert ist, auch wenn die zweite Eingabe
Der Wert (keyToDelete
) gibt einen nicht vorhandenen Schlüssel an. Sie gibt false
in
alle anderen Fälle. Er unterscheidet sich jedoch vom Löschoperator für die Standardbibliothek.
auf folgende Arten:
keyToDelete
darf kein durch Punkte getrennter String sein, der einen verschachtelten Schlüssel angibt.delete()
kann nicht zum Entfernen von Elementen aus einem Array verwendet werden.- Mit
delete()
können keine Properties 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 aufgelistet werden sollen Wenn die Eingabe kein Objekt ist, zu einem Objekt erzwungen. |
Object.values
Parameter | Typ | Beschreibung |
---|---|---|
objectInput | Beliebig | Objekt, dessen Werte aufgezählt werden sollen Wenn die Eingabe kein Objekt ist, wird er 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 enthält, wird er in ein -Objekt umgewandelt. |
Object.freeze
Parameter | Typ | Beschreibung |
---|---|---|
objectInput | Beliebig | Das Objekt, das fixiert werden soll. Wenn die Eingabe kein Objekt ist, wird es wie ein fixiertes Objekt behandelt. |
Object.delete
Parameter | Typ | Beschreibung |
---|---|---|
objectInput | Beliebig | Objekt, dessen Schlüssel gelöscht werden soll |
keyToDelete | String | Der Schlüssel auf oberster 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 alle Komponenten einer bestimmten URL enthält, ähnlich wie bei
Das URL
-Objekt.
Diese API gibt bei jeder fehlerhaften URL undefined
zurück. Bei richtig formatierten
URLs, Felder, die nicht im URL-String vorhanden sind, haben dann einen leeren String,
oder im Fall von searchParams
ein leeres Objekt.
Das zurückgegebene Objekt enthält 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. |
Zugehörige Berechtigungen
Keine.
queryPermission
Fragen Sie die zulässigen und eingegrenzten Berechtigungen ab. Gibt einen booleschen Wert zurück: true
, wenn ein
Berechtigung wurde gewährt, andernfalls false
.
Syntax
queryPermission(permission, functionArgs*)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
permission |
String | Name der Berechtigung. |
functionArgs |
Beliebig | Funktionsargumente variieren je nach abgefragter Berechtigung. Weitere Informationen finden Sie unter Funktionsargumente. |
Funktionsargumente
sendPixel
, injectScript
, injectHiddenIframe
: Der zweite Parameter
sollte ein URL-String sein.
writeGlobals
, readGlobals
: Der zweite Parameter sollte der Schlüssel sein,
geschrieben oder gelesen werden.
readUrl
: Es sind keine zusätzlichen Argumente erforderlich, um abzufragen, ob die gesamte Abfrage
URL kann gelesen werden. Um abzufragen, ob eine bestimmte Komponente gelesen werden kann, übergeben Sie den Parameter
Komponentenname als zweites Argument ein:
if (queryPermission('readUrl','port')) {
// read the port
}
Um zu überprüfen, ob ein bestimmter Abfrageschlüssel lesbar ist, übergeben Sie den Abfrageschlüssel als dritter Parameter:
if (queryPermission('readUrl','query','key')) {
getUrlComponent(...);
}
Zugehörige Berechtigungen
Keine.
readCharacterSet
Gibt den Wert von document.characterSet
zurück.
Syntax
readCharacterSet()
Parameter
Keine.
Zugehörige Berechtigungen
readTitle
Gibt den Wert von document.title
zurück.
Syntax
readTitle()
Parameter
Keine.
Zugehörige Berechtigungen
require
Importiert eine integrierte Funktion anhand des Namens. Gibt eine Funktion oder ein Objekt zurück. die aus Ihrem Programm aufgerufen werden können. Gibt undefined zurück, wenn der Browser unterstützt die integrierte Funktion nicht.
Syntax
require(name)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
name |
String | Der Name der zu importierenden Funktion. |
Beispiel
const getUrl = require('getUrl');
const url = getUrl();
Zugehörige Berechtigungen
Keine.
sendPixel
Sendet eine GET-Anfrage an einen angegebenen URL-Endpunkt.
Syntax
sendPixel(url, onSuccess, onFailure)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
url |
String | Wo das Pixel gesendet werden soll |
onSuccess |
Funktion | Wird aufgerufen, wenn das Pixel erfolgreich geladen wurde. Hinweis: Auch wenn die Anfrage sendet, benötigen Browser möglicherweise eine gültige Image-Antwort, onSuccess ausgeführt werden soll. |
onFailure |
Funktion | Wird aufgerufen, wenn das Pixel nicht geladen werden kann. Hinweis: Auch wenn die Anfrage erfolgreich sendet, kann onFailure ausgeführt werden, wenn der Server keinen gültige Bildantwort. |
Zugehörige Berechtigungen
setCookie
Legt das Cookie mit dem angegebenen Namen, Wert und den angegebenen Optionen fest oder löscht es.
Syntax
setCookie(name, value[, options, encode])
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
name |
String | Name des Cookies. |
value |
String | Wert des Cookies. |
options |
Gegenstand | Gibt die Domain, Attribute „Path“, „expires“, „Max-Age“, „Secure“ und „SameSite“. Weitere Informationen finden Sie unten im Abschnitt Optionen. |
encode |
Boolescher Wert | Steuert, ob der Cookiewert mit
JavaScript-
encodeURIComponent()
Die Standardeinstellung ist true . |
- Domain:Wird durch die Property
options['domain']
festgelegt, falls vorhanden. Diesen Wert festlegen an'auto'
, um das Cookie mit der breitestmöglichen Domain zu schreiben, basierend auf dem Speicherort des Dokuments. Wenn das nicht funktioniert, wird der Vorgang nacheinander durchgeführt. enger gefassten Subdomains. Wenn alle Probleme auftreten, wird versucht, das Cookie ohne Domain. Wenn kein Wert festgelegt ist, wird versucht, das Cookie zu schreiben wenn keine Domain angegeben ist. Hinweis: Wenn ein Cookie ohne angegebene Domain indocument.cookie
geschrieben wurde, legt der User-Agent standardmäßig die Domain des Cookies fest. in den Host des aktuellen Speicherorts des Dokuments ein. - Pfad: Wird durch
options['path']
festgelegt, falls vorhanden. Wenn ein Cookie ohne Pfad indocument.cookie
geschrieben wird, verwendet der User-Agent Cookie-Pfad zum Pfad des aktuellen Dokumentspeicherorts. - Max-Age:wird durch
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. - Sicher: Wird von
options['secure']
festgelegt, falls vorhanden. - SameSite: Von
options['samesite']
festgelegt, falls vorhanden.
Zugehörige Berechtigungen
setDefaultConsentState
Sendet eine standardmäßige Aktualisierung der Einwilligung an die Datenschicht, die verarbeitet wird, sobald nach dem aktuellen Ereignis möglich, und alle durch sie ausgelösten Tags sind abgeschlossen (oder das Zeitlimit für die Tag-Verarbeitung erreicht wurde). Das Update wird garantiert vor den Elementen in der Warteschlange in der Datenschicht verarbeitet werden. Weitere Informationen zur Einwilligung
Beispiel:
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 angegebene Einwilligung definiert Typen. |
Das consentSettings
-Objekt ist eine Zuordnung beliebiger Einwilligungsstrings zu
entweder '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 Wert außer „zugelassen“ wird als „abgelehnt“ behandelt. Einstellung hat der Wert keine Auswirkungen auf den vorherigen Wert. |
region |
Array | Ein optionales Array mit Regionscodes, die angeben, welche Region für die die Einwilligungseinstellungen gelten. Regionscodes werden mit Land ausgedrückt und/oder Untergruppen im ISO 3166-2-Format. |
wait_for_update |
number | Gibt einen Millisekundenwert an, um zu steuern, wie lange gewartet werden soll, bevor Daten gespeichert werden gesendet. Wird mit Einwilligungstools verwendet, die asynchron geladen werden. |
Zugehörige Berechtigungen
Berechtigung „access_consent
“ mit Schreibzugriff für alle Einwilligungsarten in der
ConsentSettings-Objekt.
setInWindow
Legt den angegebenen Wert in window
auf den angegebenen Schlüssel fest. Standardmäßig wird mit dieser Methode keine
Legen Sie den Wert im window
fest, wenn bereits ein Wert vorhanden ist. Festlegen
overrideExisting
auf true
, um den Wert in window
unabhängig von der
vorhandenen Wert vorhanden ist. Gibt einen booleschen Wert zurück: true
, wenn der Wert
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 |
Boolescher Wert | Das Flag, das angibt, dass der Wert in window festgelegt werden soll,
und zwar unabhängig davon,
ob dort ein Wert vorhanden ist. |
Zugehörige Berechtigungen
sha256
Berechnet den SHA-256-Digest der Eingabe und ruft einen Callback mit der
Digest mit base64-Codierung, sofern das options
-Objekt kein anderes
für die Ausgabecodierung.
Beispiel:
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 werden soll. |
onSuccess |
Funktion | Wird mit dem resultierenden Digest aufgerufen, in base64 codiert, es sei denn, der
Das options -Objekt gibt eine andere Ausgabecodierung an. |
onFailure |
Funktion | Wird aufgerufen, wenn beim Berechnen des Digests ein Fehler auftritt Der Browser bietet keine native Unterstützung für SHA256. Der Callback wird als durch ein Objekt, das den Namen des Fehlers und die Meldung enthält. |
options |
Gegenstand | Optionales Optionsobjekt, um die Ausgabecodierung anzugeben. Wenn
angegeben ist, sollte das Objekt den Schlüssel outputEncoding enthalten.
mit dem Wert base64 oder hex . |
Zugehörige Berechtigungen
Keine.
templateStorage
Gibt ein Objekt mit Methoden für den Zugriff auf den Vorlagenspeicher zurück. Vorlage Speicher ermöglicht es, Daten für die Ausführungen einer einzelnen Vorlage freizugeben. Daten die im Vorlagenspeicher gespeichert sind, 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();
Zugehörige 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');
Zugehörige Berechtigungen
Keine
updateConsentState
Sendet eine Einwilligungsaktualisierung an die Datenschicht, um sie so schnell wie möglich zu verarbeiten nachdem das aktuelle Ereignis und alle von ihm ausgelösten Tags verarbeitet wurden (oder das Zeitlimit für die Tag-Verarbeitung erreicht wurde). Das Update wird garantiert vor den Elementen in der Warteschlange in der Datenschicht verarbeitet werden. Weitere Informationen zur Einwilligung.
Beispiel:
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 consentSettings
-Objekt ist eine Zuordnung beliebiger Einwilligungsstrings zu
entweder 'granted'
oder 'denied'
. Folgende Werte werden unterstützt:
Schlüsselname | Typ | Beschreibung |
---|---|---|
consentType |
String | Der Wert für jede Einwilligungsart kann auf „Erteilt“ festgelegt werden oder „abgelehnt“ sein. Jeder Wert außer „gewährt“ als „abgelehnt“ behandelt. Einstellung Wert auf „nicht definiert“ hat keine Auswirkungen auf den vorherigen Wert. |
Zugehörige Berechtigungen
Berechtigung „access_consent
“ mit Schreibzugriff für alle Einwilligungsarten in der
ConsentSettings-Objekt.
APIs testen
Diese APIs arbeiten mit JavaScript-Tests in der Sandbox zusammen, um Tests für benutzerdefinierte
in Google Tag Manager erstellen. Diese Test-APIs benötigen kein require()
. Weitere Informationen zu Tests in benutzerdefinierten Vorlagen
assertApi
Gibt ein Abgleichobjekt zurück, mit dem Assertions zum gegeben ist.
Syntax
assertApi(apiName)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
apiName |
String | Der Name der zu überprüfenden API. denselben String, der an
require()
|
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. Es wird ein
-Objekt, mit dem fließend Assertions zum Wert eines Objekts gemacht werden können. Eine
Bei einem Assertion-Fehler wird der Test sofort beendet und als fehlgeschlagen markiert. Sie können jedoch
hat ein Fehler in einem Test keine Auswirkungen auf andere Testfälle.
Syntax
assertThat(actual, opt_message)
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
actual |
Beliebig | Der Wert, der in den fluent-Prüfungen verwendet werden soll. |
opt_message |
String | Optionale Nachricht, die ausgegeben wird, wenn die Assertion fehlschlägt. |
Matcher
Matcher | Beschreibung |
---|---|
isUndefined() |
Bestätigt, dass der Betreff undefined ist. |
isDefined() |
Erklärt, dass der Betreff nicht undefined ist. |
isNull() |
Bestätigt, dass der Betreff null ist. |
isNotNull() |
Erklärt, dass der Betreff nicht null ist. |
isFalse() |
Bestätigt, dass der Betreff false ist. |
isTrue() |
Bestätigt, dass der Betreff true ist. |
isFalsy() |
Hiermit wird behauptet, dass das Motiv falsch ist. Falsche Werte sind
undefined , null , false
NaN , 0 und „ (leerer String). |
isTruthy() |
Es wird behauptet, dass das Subjekt wahr ist. 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() |
Bestimmt, dass das Subjekt positiv oder negativ ist. |
isNotInfinity() |
Behauptet, dass das Subjekt ein beliebiger Wert außer einem positiven oder negativen Wert ist Unendlich. |
isEqualTo(expected) |
Bestätigt, dass das Subjekt mit dem angegebenen Wert übereinstimmt. Dies ist ein Wert keinen Referenzvergleich. Inhalte von Objekten und Arrays rekursiv verglichen werden. |
isNotEqualTo(expected) |
Erklärt, dass das Subjekt nicht mit dem angegebenen Wert übereinstimmt. Dies ist ein und keinen Referenzvergleich. Der Inhalt von Objekten und werden Arrays rekursiv verglichen. |
isAnyOf(...expected) |
Bestätigt, dass das Subjekt einem der angegebenen Werte entspricht. Dies ist ein und keinen Referenzvergleich. Der Inhalt von Objekten und werden Arrays rekursiv verglichen. |
isNoneOf(...expected) |
Bestimmt, dass das Subjekt mit keinem der angegebenen Werte übereinstimmt. Dieses ist ein Wertvergleich, kein Referenzvergleich. Inhalt von Objekten und Arrays rekursiv verglichen werden. |
isStrictlyEqualTo(expected) |
Behauptet, dass das Subjekt strikt gleich (=== ) ist mit dem
gegeben ist. |
isNotStrictlyEqualTo(expected) |
Behauptet, dass das Subjekt nicht genau gleich (!== ) ist mit
gegeben ist. |
isGreaterThan(expected) |
Erklärt, dass das Motiv größer als (> ) die angegebene ist
Wert in einem geordneten Vergleich. |
isGreaterThanOrEqualTo(expected) |
Bestimmt, dass das Subjekt größer oder gleich
(>= ) den angegebenen Wert in einem geordneten Vergleich. |
isLessThan(expected) |
Erklärt, dass das Subjekt kleiner als (< ) der angegebenen ist
Wert in einem geordneten Vergleich. |
isLessThanOrEqualTo(expected) |
Gibt an, dass das Subjekt kleiner oder gleich (<= ) ist
den gegebenen Wert in einem geordneten Vergleich an. |
contains(...expected) |
Bestätigt, dass das Subjekt ein Array oder ein String ist, der alle der in beliebiger Reihenfolge anzeigen. Dies ist ein Wertvergleich, keine Referenz vergleichen. Der Inhalt von Objekten und Arrays wird verglichen. rekursiv. |
doesNotContain(...expected) |
Bestimmt, dass das Subjekt ein Array oder ein String ist, der keinen der folgenden Werte enthält: die angegebenen Werte. Dies ist ein Wertvergleich, kein Referenzvergleich. Die Inhalte von Objekten und Arrays werden rekursiv verglichen. |
containsExactly(...expected) |
Bestätigt, dass das Subjekt ein Array ist, das alle angegebenen Werte in beliebiger Reihenfolge und keine anderen Werte. Dies ist ein Wertvergleich, kein Referenzvergleich. Der Inhalt von Objekten und Arrays wird verglichen. rekursiv. |
doesNotContainExactly(...expected) |
Bestätigt, dass das Subjekt ein Array ist, das einen anderen Satz enthält. von Werten aus den gegebenen Werten in beliebiger Reihenfolge. Das ist ein Wertvergleich, keinen Referenzvergleich. Der Inhalt von Objekten und Arrays ist rekursiv verglichen werden. |
hasLength(expected) |
Bestätigt, dass das Subjekt 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() |
Bestimmt, dass das Subjekt ein leeres Array oder ein leerer String ist (Länge = 0) Die Assertion schlägt immer fehl, wenn der Wert kein Array oder . |
isNotEmpty() |
Bestimmt, dass das Subjekt ein Array oder String ist, der nicht leer ist (Länge > 0). Die Assertion schlägt immer fehl, wenn der Wert kein Array ist oder einer Zeichenfolge. |
isArray() |
Bestätigt, dass der Typ des Subjekts 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() |
Erklärt, dass der Typ des Subjekts eine Zahl ist. |
isObject() |
Bestätigt, dass der Typ des Subjekts ein Objekt ist. |
isString() |
Bestätigt, dass der Typ des Subjekts 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
Der aktuelle Test schlägt sofort sofort fehl und die angegebene Nachricht wird ausgegeben, sofern angegeben.
Syntax
fail(opt_message);
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
opt_message |
String | Optionaler Fehlermeldungstext. |
Beispiel
fail('This test has failed.');
mock
Mit der mock
API können Sie das Verhalten von in einer Sandbox ausgeführten APIs überschreiben. Das Modell
Die API kann im Vorlagencode sicher verwendet werden, ist aber nur im Testmodus betriebsbereit.
Die Simulationen werden vor jedem Test zurückgesetzt.
Syntax
mock(apiName, returnValue);
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
apiName |
String | Der Name der zu testenden API. denselben String, der an
require() |
returnValue |
Beliebig | Der Wert, der für die API zurückgegeben werden soll, oder eine Funktion, die anstelle der
der API erstellen. Wenn returnValue eine Funktion ist, wird diese Funktion in
die in einer Sandbox ausgeführte API eingesetzt wird. returnValue ist ein anderer Wert
als eine Funktion, wird dieser Wert anstelle des in der Sandbox
der API erstellen. |
Beispiele
mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
onSuccess();
});
mockObject
Mit der mockObject
API können Sie das Verhalten von in einer Sandbox ausgeführten APIs überschreiben,
gibt ein -Objekt zurück. Die Verwendung der API im Vorlagencode ist sicher, aber betriebsbereit
nur im Testmodus. Die Simulationen werden vor jedem Test zurückgesetzt.
Syntax
mockObject(apiName, objectMock);
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
apiName |
String | Der Name der zu testenden API. denselben String, der an
require() |
objectMock |
Gegenstand | Der Wert, der für die API zurückgegeben werden soll, oder eine Funktion, die anstelle der der API erstellen. Muss ein -Objekt sein. |
Beispiele
const storage = {};
mockObject('localStorage', {
setItem: (key, value) => {storage[key] = value;},
getItem: (key) => storage[key],
});
runCode
Führt den Code für die Vorlage, d.h. den Inhalt des Tabs Code, im aktuelle Testumgebung mit einem bestimmten Eingabedatenobjekt
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. gibt undefined
zurück für
alle anderen Vorlagentypen.
Beispiel
runCode({field1: 123, field2: 'value'});