Özel şablon API'leri

Temel API'ler

Bu API'ler, Google Etiket Yöneticisi'nde özel şablonlar oluşturmak için korumalı alanlı JavaScript ile çalışır. Her API, bir require() ifadesiyle eklenir. Örneğin:

const myAPI = require('myAPI');

addConsentListener

Belirtilen izin türünün durumu değiştiğinde çalışacak bir dinleyici işlevi kaydeder.

Belirtilen dinleyici, belirtilen izin türünün durumu reddedildi durumundan izin verildi durumuna veya izin verildi durumundan reddedildi durumuna her değiştiğinde çağrılır. Durumu olmayan bir izin türü izin verilmiş olarak kabul edilir. Bu nedenle, ayarlanmamış bir izin türü izin verildi olarak güncellenirse dinleyici çağrılmaz. Dinleyici işlevleri, kodlarının uygun sayıda çalıştırıldığından emin olmaktan sorumludur.

Örnek:

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);
  });
}

Söz dizimi

addConsentListener(consentType, listener)

Parametreler

Parametre Tür Açıklama
consentType dize Durum değişikliklerini dinlemek için kullanılacak izin türü.
listener function Belirtilen izin türünün durumu değiştiğinde çalıştırılacak işlev.

Bir dinleyici çağrıldığında, değişen izin türü ve bu izin türünün yeni değeri iletilir:

Parametre Tür Açıklama
consentType dize Değiştirilen izin türü.
granted boole Belirtilen izin türü granted olarak değiştiriliyorsa doğru olan bir boole değeri.

İlişkili izinler

İzin türü için okuma erişimi olan access_consent izni.


addEventCallback

addEventCallback API'si, bir etkinliğin sonunda çağrılacak bir geri çağırma işlevi kaydetmenize olanak tanır. Geri çağırma, etkinlikle ilgili tüm etiketler yürütüldüğünde veya sayfa içi etkinlik zaman aşımına ulaşıldığında çağrılır. Geri çağırma işlevine iki değer iletilir: işlevi çağıran kapsayıcının kimliği ve etkinlikle ilgili bilgileri içeren bir nesne.

Söz dizimi

addEventCallback(callback)

Parametreler

Parametre Tür Açıklama
callback function Etkinliğin sonunda çağrılacak işlev.

eventData nesnesi aşağıdaki verileri içerir:

Anahtar Adı Tür Açıklama
tags Dizi Etiket veri nesneleri dizisi. Etkinlik sırasında tetiklenen her etiketin bu dizgede bir girişi olur. Etiket verileri nesnesi, etiketin kimliğini (id), yürütme durumunu (status) ve yürütme zamanını (executionTime) içerir. Etiket verileri, etikette yapılandırılmış ek etiket meta verilerini de içerir.

Örnek

addEventCallback(function(ctid, eventData) {
  logToConsole('Tag count for container ' + ctid + ': ' + eventData['tags'].length);
});

İlişkili izinler

read_event_metadata


aliasInWindow

aliasInWindow API, takma ad gerektiren belirli etiketlerin desteklenmesine yardımcı olan bir takma ad (ör. window.foo = window.bar) oluşturmanıza olanak tanır. fromPath konumundaki window nesnesinde bulunan değeri, toPath konumundaki window nesnesinde bulunan anahtara atar. Başarılı olursa true, aksi takdirde false döndürür.

Söz dizimi

aliasInWindow(toPath, fromPath)

Parametreler

Parametre Tür Açıklama
toPath dize Bir değerin kopyalanacağı window nesnesinde noktayla ayrılmış bir yol. Son bileşene kadar yoldaki tüm bileşenler window nesnesinde zaten mevcut olmalıdır.
fromPath dize Kopyalanacak değere giden, window içinde noktayla ayrılmış bir yol. Değer yoksa işlem başarısız olur.

Örnek

aliasInWindow('foo.bar', 'baz.qux')

İlişkili izinler

access_globals hem toPath hem de fromPath için gereklidir; toPath için yazma erişimi, fromPath için okuma erişimi gerekir.


callInWindow

İşlevleri window nesnesinin dışındaki bir yoldan, politika kontrollü bir şekilde çağırmanıza olanak tanır. window içindeki belirli bir yoldaki işlevi belirtilen bağımsız değişkenlerle çağırır ve değeri döndürür. Döndürülen tür, korumalı alan içinde JavaScript'te desteklenen bir türle doğrudan eşlenemezse undefined döndürülür. Korumalı alandaki JavaScript'te desteklenen sekiz tür null, undefined, boolean, number, string, Array, Object ve function'tır. Belirtilen yol mevcut değilse veya bir işleve referans vermiyorsa undefined döndürülür.

Söz dizimi

callInWindow(pathToFunction, argument [, argument2,... argumentN])

Parametreler

Parametre Tür Açıklama
pathToFunction dize Çağırılacak window içindeki işlevin noktayla ayrılmış yolu.
args * İşleve aktarılacak bağımsız değişkenler.

İlişkili izinler

execute izni etkinleştirilmiş access_globals.


callLater

Bir işleve ait çağrının eşzamansız olarak gerçekleşmesini planlar. İşlev, mevcut kod döndürüldükten sonra çağrılır. Bu, setTimeout(<function>, 0) değerine eşdeğerdir.

Söz dizimi

callLater(function)

Parametreler

Parametre Tür Açıklama
function function Çağırılacak işlev.

copyFromDataLayer

Veri katmanında belirtilen anahtara şu anda atanan değeri döndürür: Basit bir tür, işlev veya nesne değişmeziyse belirtilen anahtarda bulunan değer, aksi takdirde undefined.

Söz dizimi

copyFromDataLayer(key[, dataLayerVersion])

Parametreler

Parametre Tür Açıklama
key dize "a.b.c" biçiminde anahtar.
dataLayerVersion number İsteğe bağlı veri katmanı sürümü. Varsayılan değer 2'dir. 1 değerinin kullanılması kesinlikle önerilmez.

İlişkili izinler

read_data_layer


copyFromWindow

window nesnesinden bir değişkeni kopyalar. window içindeki değer, korumalı alan içinde JavaScript'te desteklenen bir türle doğrudan eşlenemiyorsa undefined döndürülür. Korumalı alandaki JavaScript'te desteklenen sekiz tür null, undefined, boolean, number, string, Array, Object ve function'tır. Getirilen (ve zorlanan) değeri döndürür.

Söz dizimi

copyFromWindow(key)

Parametreler

Parametre Tür Açıklama
key dize Değeri kopyalanacak window anahtarı.

İlişkili izinler

access_globals


createArgumentsQueue

Bunu gerektiren etiket çözümlerini desteklemek için bağımsız değişken nesneleriyle doldurulmuş bir sıra oluşturur.

fnKey bağımsız değişkenini (createQueue ile aynı anlamsal yapı) kullanarak küresel kapsamda (yani window) bir işlev oluşturur. İşlev oluşturulduktan sonra bu API, arrayKey bağımsız değişkenini kullanarak window içinde (henüz mevcut değilse) bir dizi oluşturur.

fnKey altında oluşturulan işlev çağrıldığında bağımsız değişkenler nesnesini arrayKey altında oluşturulan diziye iter. API'nin döndürdüğü değer, fnKey altında oluşturulan işlevdir.

Bu işlev için access_globals izninde fnKey ve arrayKey için okuma ve yazma ayarı gerekir.

Örnek:

const gtag = createArgumentsQueue('gtag', 'dataLayer');
gtag('set', {'currency': 'USD'});

Söz dizimi

createArgumentsQueue(fnKey, arrayKey)

Parametreler

Parametre Tür Açıklama
fnKey dize window içinde işlevin ayarlandığı yol (mevcut değilse). Bu bağımsız değişken, standart nokta gösterimini destekler. Anahtarın yolu yoksa bir istisna atılır. Yani, fnKey 'one.two' ise istisna atar.
arrayKey dize Zaten mevcut değilse diziyi ayarlamak için window içindeki yol. Bu bağımsız değişken, standart nokta gösterimini destekler. Anahtar yolunun olmadığı durumlarda istisna atılır. Yani, arrayKey 'one.two' ise ve 'one' adlı bir global nesne yoksa bir istisna atılır.

İlişkili izinler

access_globals


createQueue

window içinde bir dizi oluşturur (mevcut değilse) ve bu diziye değer ekleyecek bir işlev döndürür.

Bu işlev için access_globals izninde arrayKey için okuma ve yazma ayarı gerekir.

Örnek:

const dataLayerPush = createQueue('dataLayer');
dataLayerPush({'currency': 'USD'}, {'event': 'myConversion'});

Söz dizimi

createQueue(arrayKey)

Parametreler

Parametre Tür Açıklama
arrayKey dize Dizinin ayarlandığı window içindeki anahtar (mevcut değilse). Bu bağımsız değişken, standart nokta gösterimini destekler. Anahtar yolunun olmadığı durumlarda istisna atılır. Örneğin, arrayKey 'one.two' ise ve 'one' adlı bir genel nesne yoksa istisna atılır.

İlişkili izinler

access_globals


decodeUri

Sağlanan URI'deki kodlanmış karakterlerin kodunu çözer. Kodu çözülmüş URI'yi temsil eden bir dize döndürür. Geçersiz giriş sağlandığında undefined döndürür.

Örnek:

const decode = require('decodeUri');

const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
  // ...
}

Söz dizimi

decodeUri(encoded_uri)

Parametreler

Parametre Tür Açıklama
encoded_uri dize encodeUri() veya başka yöntemlerle kodlanmış bir URI.

İlişkili izinler

Yok.


decodeUriComponent

Sağlanan URI bileşenindeki kodlanmış karakterlerin kodunu çözer. Kodu çözülmüş URI bileşenini temsil eden bir dize döndürür. Geçersiz giriş sağlandığında undefined döndürür.

Örnek:

const decode = require('decodeUriComponent');

const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
  // ...
}

Söz dizimi

decodeUriComponent(encoded_uri_component)

Parametreler

Parametre Tür Açıklama
encoded_uri_component dize encodeUriComponent() veya başka yöntemlerle kodlanmış bir URI bileşeni.

İlişkili izinler

Yok.


encodeUri

Özel karakterlerden kaçarak kodlanmış bir Tekdüzen Kaynak Tanımlayıcısı (URI) döndürür. Sağlanan dizeyi URI olarak kodlanmış şekilde temsil eden bir dize döndürür. Geçersiz giriş (yalnızca bir vekil) sağlandığında undefined döndürür.

Örnek:

sendPixel('https://www.example.com/' + encodeUri(pathInput));

Söz dizimi

encodeUri(uri)

Parametreler

Parametre Tür Açıklama
uri dize Tam URI.

İlişkili izinler

Yok.


encodeUriComponent

Özel karakterlerden kaçarak kodlanmış bir Tekdüzen Kaynak Tanımlayıcısı (URI) döndürür. Sağlanan dizeyi URI olarak kodlanmış şekilde temsil eden bir dize döndürür. Geçersiz giriş (yalnızca bir vekil) sağlandığında undefined döndürür.

Örnek:

sendPixel('https://www.example.com/?' + encodeUriComponent(queryInput));

Söz dizimi

encodeUriComponent(str)

Parametreler

Parametre Tür Açıklama
str dize URI'nin bir bileşeni.

İlişkili izinler

Yok.


fromBase64

fromBase64 API, dizelerin base64 temsilinden kodunu çözmenize olanak tanır. Geçersiz giriş sağlandığında undefined döndürür.

Söz dizimi

fromBase64(base64EncodedString)

Parametreler

Parametre Tür Açıklama
base64EncodedString dize Base64 kodlu dize.

Örnek

const fromBase64 = require('fromBase64');

const greeting = fromBase64('aGVsbG8=');
if (greeting === 'hello') {
  // ...
}

İlişkili izinler

Yok


generateRandom

Belirtilen aralıktaki rastgele bir sayı (tam sayı) döndürür.

Söz dizimi

generateRandom(min, max)

Parametreler

Parametre Tür Açıklama
min number Döndürülen tam sayının minimum olası değeri.
max number Döndürülen tam sayının maksimum potansiyel değeri.

İlişkili izinler

Yok.


getContainerVersion

Geçerli kapsayıcıyla ilgili verileri içeren bir nesne döndürür. Döndürülen nesnede aşağıdaki alanlar bulunur:

{
  containerId: string,
  debugMode: boolean,
  environmentName: string,
  environmentMode: boolean,
  previewMode: boolean,
  version: string,
}

Örnek

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);
  }
}

Söz dizimi

getContainerVersion();

İlişkili izinler

read_container_data


getCookieValues

Belirtilen ada sahip tüm çerezlerin değerlerini döndürür.

Söz dizimi

getCookieValues(name[, decode])

Parametreler

Parametre Tür Açıklama
name dize Çerezin adı.
decode boole Çerez değerlerinin JavaScript'in decodeURIComponent() ile kodunun çözülüp çözülmeyeceğini kontrol eder. Varsayılan olarak true değerine ayarlanır.

İlişkili izinler

get_cookies


getQueryParameters

Geçerli URL'nin queryKey parametresinin ilkini veya tamamını döndürür. queryKey içindeki ilk değeri veya queryKey içindeki bir değer dizisini döndürür.

Söz dizimi

getQueryParameters(queryKey[, retrieveAll])

Parametreler

Parametre Tür Açıklama
queryKey dize Sorgu parametrelerinden okunacak anahtar.
retrieveAll boole Tüm değerlerin alınıp alınmayacağı.

Örneğin, mevcut URL https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo ise:

  • getQueryParameters('var') == 'foo'
  • getQueryParameters('var', false) == 'foo'
  • getQueryParameters('var', null) == 'foo'
  • getQueryParameters('var', true) == ['foo', 'foo2', 'foo']

İlişkili izinler

get_url, query bileşenine izin vermeli ve izin verilen sorgu anahtarlarında queryKey'i belirtmelidir (veya herhangi bir sorgu anahtarına izin vermelidir).


getReferrerQueryParameters

getReferrerQueryParameters API, mevcut URL yerine yönlendiren üzerinde işlem yapması dışında getQueryParameters ile aynı şekilde çalışır. Belirtilen yönlendiricinin queryKey parametresinin ilkini veya tamamını döndürür. queryKey içindeki ilk değeri veya queryKey içindeki bir değer dizisini döndürür.

Söz dizimi

getReferrerQueryParameters(queryKey[, retrieveAll])

Parametreler

Parametre Tür Açıklama
queryKey dize Sorgu parametrelerinden okunacak anahtar.
retrieveAll boole Tüm değerlerin alınıp alınmayacağı.

Örneğin, yönlendiren URL https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo ise:

  • getReferrerQueryParameters('var') == 'foo'
  • getReferrerQueryParameters('var', false) == 'foo'
  • getReferrerQueryParameters('var', null) == 'foo'
  • getReferrerQueryParameters('var', true) == ['foo', 'foo2', 'foo']

İlişkili izinler

get_referrer, query bileşenine izin vermeli ve izin verilen sorgu anahtarlarında queryKey'i belirtmelidir (veya herhangi bir sorgu anahtarına izin vermelidir).


getReferrerUrl

API, bir bileşen türü verildiğinde yönlendiren için belge nesnesini okur ve yönlendirenin bir bölümünü temsil eden bir dize döndürür. Hiçbir bileşen belirtilmezse yönlendiren URL'sinin tamamı döndürülür.

Söz dizimi

getReferrerUrl([component])

Parametreler

Parametre Tür Açıklama
component dize URL'den döndürülecek bileşen. Aşağıdakilerden biri olabilir: protocol, host, port, path, query, extension. component undefined, null ise veya bu bileşenlerden biriyle eşleşmezse URL'nin tamamı döndürülür.

İlişkili izinler

get_referrer, query bileşenine izin vermeli ve izin verilen sorgu anahtarlarında queryKey'i belirtmelidir (veya herhangi bir sorgu anahtarına izin vermelidir).


getTimestamp

Kullanımdan kaldırıldı. getTimestampMillis işlevini tercih edin.

Date.now() tarafından döndürüldüğü gibi, Unix sıfır noktasından itibaren milisaniye cinsinden geçerli zamanı temsil eden bir sayı döndürür.

Söz dizimi

getTimestamp();

İlişkili izinler

Yok.


getTimestampMillis

Date.now() tarafından döndürüldüğü gibi, Unix sıfır noktasından itibaren milisaniye cinsinden geçerli zamanı temsil eden bir sayı döndürür.

Söz dizimi

getTimestampMillis();

İlişkili izinler

Yok.


getType

Belirtilen değerin türünü açıklayan bir dize döndürür. typeof'un aksine, getType array ile object arasında ayrım yapar.

Söz dizimi

getType(data.someField)

Notlar

Aşağıdaki tabloda, her giriş değeri için döndürülen dizeler listelenmektedir.

Giriş Değeri Sonuç
undefined 'undefined'
null 'null'
true 'boolean'
12 'number'
'string' 'dize'
{ a: 3 } 'object'
[ 1, 3 ] 'array'
(x) => x + 1 'function'

İlişkili izinler

Yok.


getUrl

Bir bileşen türü ve bazı yapılandırma parametreleri verildiğinde, geçerli URL'nin tamamını veya bir kısmını temsil eden bir dize döndürür.

Söz dizimi

getUrl(component)

Parametreler

Parametre Tür Açıklama
component dize URL'den döndürülecek bileşen. Şu değerlerden biri olmalıdır: protocol, host, port, path, query, extension, fragment. Bileşen undefined, null ise veya bu bileşenlerden biriyle eşleşmiyorsa href değerinin tamamı döndürülür.

İlişkili izinler

get_url


gtagSet

Mevcut etkinlik ve tetiklediği tüm etiketlerin işlenmesi tamamlandıktan sonra (veya etiket işleme zaman aşımına ulaşıldığında) bir an önce işlenmek üzere veri katmanına bir gtag set komutu gönderir. Güncellemenin, veri katmanı kuyruğundaki tüm sıralanmış öğelerden önce bu kapsayıcıda işlenmesi garanti edilir.

Örneğin, İzin Başlatma etkinliğinde tetiklenen bir etiket tarafından çağrılırsa güncelleme, Başlatma etkinliği işlenmeden önce uygulanır. Örneğin, ads_data_redaction'ün true veya false olarak ayarlanması ya da url_passthrough'ın true veya false olarak ayarlanması.

Örnekler:

const gtagSet = require('gtagSet');

gtagSet({
  'ads_data_redaction': true,
  'url_passthrough': true,
});

Söz dizimi

gtagSet(object)

Parametreler

Parametre Tür Açıklama
Object object İçerdiği mülkler için genel durumu güncelleyen bir nesne.

İlişkili izinler

write_data_layer, belirtilen tüm anahtarlar için dataLayer'a yazma iznini kontrol eder. gtagSet girişi düz bir nesneyse API, söz konusu nesnenin içindeki tüm düzleştirilmiş anahtarlara yazma izni olup olmadığını kontrol eder. Örneğin, gtagSet({foo: {bar: 'baz'}}) için API, foo.bar için yazma izni olup olmadığını kontrol eder.

gtagSet için giriş bir anahtar ve basit olmayan bir nesne değeriyse API, söz konusu anahtar için yazma izni olup olmadığını kontrol eder. Örneğin, gtagSet('abc', true) için API, 'abc' için yazma izni olup olmadığını kontrol eder.

Giriş nesnesinde döngü varsa yalnızca aynı nesneye ulaşmadan önceki anahtarların kontrol edileceğini unutmayın.


injectHiddenIframe

Sayfaya görünmez bir iframe ekler.

Geri çağırma işlevleri, işlev örnekleri olarak verilir ve kendilerini çağıran JavaScript işlevlerine sarılır.

Söz dizimi

injectHiddenIframe(url, onSuccess)

Parametreler

Parametre Tür Açıklama
url dize Iframe'in src özelliğinin değeri olarak kullanılacak URL.
onSuccess function Çerçeve başarıyla yüklendiğinde çağrılır.

İlişkili izinler

inject_hidden_iframe


injectScript

Belirtilen URL'yi eşzamansız olarak yüklemek için sayfaya bir komut dosyası etiketi ekler. Geri çağırma işlevleri, işlev örnekleri olarak verilir ve kendilerini çağıran JavaScript işlevlerine sarılır.

Söz dizimi

injectScript(url, onSuccess, onFailure[, cacheToken])

Parametreler

Parametre Tür Açıklama
url dize Eklenecek komut dosyasının adresi.
onSuccess function Komut dosyası başarıyla yüklendiğinde çağrılır.
onFailure function Komut dosyası yüklenemezse çağrılır.
cacheToken dize Belirtilen URL'nin önbelleğe alınması gerektiğini belirtmek için kullanılan isteğe bağlı dize. Bu değer belirtilirse JavaScript'i istemek için yalnızca bir komut dosyası öğesi oluşturulur. Yüklemeyle ilgili diğer tüm denemeler, komut dosyası yüklenene kadar belirtilen onSuccess ve onFailure yöntemlerinin sıraya eklenmesine neden olur.

İlişkili izinler

inject_script


isConsentGranted

Belirtilen izin türü verilmişse true değerini döndürür.

İzin türü "granted" (izin verildi) olarak ayarlanmışsa veya hiç ayarlanmamışsa belirli bir izin türü için izin verilmiş olarak kabul edilir. İzin türü başka bir değere ayarlanırsa izin verilmemiş olarak kabul edilir.

Etiket ayarları için Etiket Yöneticisi kullanıcı arayüzünde her zaman tetikleme seçeneği sunulur. Her zaman tetikle özelliği etkin olan bir etiket bu API'yi kullanırsa izin verilmiş kabul edilir ve gerçek izin durumundan bağımsız olarak true döndürülür.

Örnek:

const isConsentGranted = require('isConsentGranted');

if (isConsentGranted('ad_storage')) {
  sendFullPixel();
} else {
  sendPixelWithoutCookies();
}

Söz dizimi

isConsentGranted(consentType)

Parametreler

Parametre Tür Açıklama
consentType dize Durumunu kontrol edilecek izin türü.

İlişkili izinler

İzin türü için okuma erişimi olan access_consent izni.


JSON

JSON işlevleri sağlayan bir nesne döndürür.

parse() işlevi, dize tarafından açıklanan değeri veya nesneyi oluşturmak için bir JSON dizesini ayrıştırır. Değer ayrıştırılamazsa (ör. hatalı biçimlendirilmiş JSON) işlev undefined değerini döndürür. Giriş değeri dize değilse giriş, dize olarak zorlanacaktır.

stringify() işlevi, girişi JSON dizesi biçiminde dönüştürür. Değer ayrıştırılamazsa (ör. nesnede döngü varsa) yöntem undefined değerini döndürür.

Söz dizimi

JSON.parse(stringInput)
JSON.stringify(value);

Parametreler

JSON.parse

Parametre Tür Açıklama
stringInput herhangi bir Dönüştürülecek değer. Değer bir dize değilse giriş dize biçimine getirilir.

JSON.stringify

Parametre Tür Açıklama
value herhangi bir Dönüştürülecek değer.

Örnek

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

Yerel depolama alanına erişme yöntemleri içeren bir nesne döndürür.

Söz dizimi

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);

İlişkili izinler

access_local_storage

Örnek

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

Bağımsız değişkenleri tarayıcı konsoluna kaydeder.

Söz dizimi

logToConsole(obj1 [, obj2,... objN])

Parametreler

Parametre Tür Açıklama
obj1 [, obj2,... objN] herhangi bir Bağımsız değişkenler

İlişkili izinler

logging


makeInteger

Belirtilen değeri sayı (tam sayı) biçimine dönüştürür.

Söz dizimi

makeInteger(value)

Parametreler

Parametre Tür Açıklama
value herhangi bir Dönüştürülecek değer.

İlişkili izinler

Yok.


makeNumber

Belirtilen değeri sayıya dönüştürür.

Söz dizimi

makeNumber(value)

Parametreler

Parametre Tür Açıklama
value herhangi bir Dönüştürülecek değer.

İlişkili izinler

Yok.


makeString

Verilen değeri dize olarak döndürür.

Söz dizimi

makeString(value)

Parametreler

Parametre Tür Açıklama
value herhangi bir Dönüştürülecek değer.

İlişkili izinler

Yok.


makeTableMap

İki sütunlu basit bir tablo nesnesini Map'e dönüştürür. Bu, iki sütunlu bir SIMPLE_TABLE şablon alanını daha yönetilebilir bir biçime dönüştürmek için kullanılır.

Örneğin, bu işlev bir tablo nesnesini dönüştürebilir:

[
  {'key': 'k1', 'value': 'v1'},
  {'key': 'k2', 'value': 'v2'}
]

Haritaya eklemek için:

{
  'k1': 'v1',
  'k2': 'v2'
}

Bir nesne döndürür: Anahtar/değer çiftleri eklenmişse dönüştürülmüş Map, aksi takdirde null döndürülür.

Söz dizimi

makeTableMap(tableObj, keyColumnName, valueColumnName)

Parametreler

Parametre Tür Açıklama
tableObj Listele Dönüştürülecek tablo nesnesi. Her Map değerinin tablodaki bir satırı temsil ettiği bir eşleme listesi Satır nesnesinde her özellik adı sütun adıdır ve özellik değeri, satırdaki sütun değeridir.
keyColumnName dize Değerleri dönüştürülen Map'te anahtar olacak sütunun adı.
valueColumnName dize Değerleri, dönüştürülen Map'teki değerler olacak sütunun adı.

İlişkili izinler

Yok.


Math

Math işlevleri sağlayan bir nesne.

Söz dizimi

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);

Parametreler

Matematik işlevi parametreleri sayılara dönüştürülür.

İlişkili izinler

Yok.


Object

Object yöntemleri sağlayan bir nesne döndürür.

keys() yöntemi, Standart Kitaplık Object.keys() davranışını sağlar. Belirli bir nesnenin kendi listelenebilir özellik adlarının bir dizisini, for...in... döngüsünün döndürdüğü sırayla döndürür. Giriş değeri bir nesne değilse nesneye dönüştürülür.

values() yöntemi, Standart Kitaplık Object.values() davranışını sağlar. Belirli bir nesnenin kendi listelenebilir özellik değerlerinin dizinini, for...in... döngüsünün döndürdüğü sırayla döndürür. Giriş değeri bir nesne değilse bir nesneye zorlanacaktır.

entries() yöntemi, Standart Kitaplık Object.entries() davranışını sağlar. Belirli bir nesnenin kendi listelenebilir özellik [key, value] çiftlerinin bir dizisini, for...in... döngüsünün yapacağı sırayla döndürür. Giriş değeri bir nesne değilse nesneye dönüştürülür.

freeze() yöntemi, Standart Kitaplık Object.freeze() davranışını sağlar. Dondurulan nesneler artık değiştirilemez. Dondurulan nesnelere yeni özellik eklenemez, mevcut özellikler kaldırılamaz ve mevcut özelliklerin değerleri değiştirilemez. freeze(), iletilen nesneyi döndürür. Basit veya null bağımsız değişkenler, dondurulmuş nesne gibi değerlendirilir ve döndürülür.

delete() yöntemi, Standart Kitaplık silme operatörünün davranışını sağlar. Nesne dondurulmadığı sürece, belirtilen anahtarı nesneden kaldırır. Standart Kitaplık'taki sil operatörü gibi, ikinci giriş değeri (keyToDelete) var olmayan bir anahtar belirtse bile ilk giriş değeri (objectInput) dondurulmamış bir nesneyse true döndürür. Diğer tüm durumlarda false döndürülür. Ancak Standart Kitaplık'taki sil operatöründen aşağıdaki yönleriyle ayrılır:

  • keyToDelete, iç içe yerleştirilmiş bir anahtarı belirten noktayla ayrılmış bir dize olamaz.
  • delete(), bir dizideki öğeleri kaldırmak için kullanılamaz.
  • delete(), global kapsamdaki mülkleri kaldırmak için kullanılamaz.

Söz dizimi

Object.keys(objectInput)
Object.values(objectInput)
Object.entries(objectInput)
Object.freeze(objectInput)
Object.delete(objectInput, keyToDelete)

Parametreler

Object.keys

Parametre Tür Açıklama
objectInput herhangi bir Anahtarları listelenecek nesne. Giriş bir nesne değilse bir nesneye zorlanacaktır.

Object.values

Parametre Tür Açıklama
objectInput herhangi bir Değerleri listelenecek nesne. Giriş bir nesne değilse bir nesneye zorla dönüştürülür.

Object.entries

Parametre Tür Açıklama
objectInput herhangi bir Anahtar/değer çiftlerinin listeleneceği nesne. Giriş bir nesne değilse zorla nesne haline getirilir.

Object.freeze

Parametre Tür Açıklama
objectInput herhangi bir Dondurulacak nesne. Giriş bir nesne değilse dondurulmuş nesne olarak değerlendirilir.

Object.delete

Parametre Tür Açıklama
objectInput herhangi bir Anahtarı silinecek nesne.
keyToDelete dize Silmek istediğiniz üst düzey anahtar.

Örnek

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

URL nesnesine benzer şekilde, belirli bir URL'nin tüm bileşenlerini içeren bir nesne döndürür.

Bu API, bozuk URL'ler için undefined döndürür. Düzgün biçimlendirilmiş URL'lerde, URL dizesinde bulunmayan alanların değeri boş bir dize veya searchParams durumunda boş bir nesne olur.

Döndürülen nesnede aşağıdaki alanlar bulunur:

{
  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,
}

Örnek

const parseUrl = require('parseUrl');

const urlObject = parseUrl('https://abc:xyz@example.com:8080/foo?param=val%2Cue#bar');

Söz dizimi

parseUrl(url);

Parametreler

Parametre Tür Açıklama
url dize Ayrıştırılacak tam URL.

İlişkili izinler

Yok.


queryPermission

İzin verilen ve daraltılmış izinleri sorgulayın. Boole değeri döndürür: İzin verilirse true, aksi takdirde false.

Söz dizimi

queryPermission(permission, functionArgs*)

Parametreler

Parametre Tür Açıklama
permission dize İznin adı.
functionArgs herhangi bir İşlev bağımsız değişkenleri, sorgulanan izne göre değişir. Aşağıdaki İşlev Argümanları bölümüne bakın.

İşlev bağımsız değişkenleri

sendPixel, injectScript, injectHiddenIframe: İkinci parametre bir URL dizesi olmalıdır.

writeGlobals, readGlobals: İkinci parametre, yazılan veya okunan anahtar olmalıdır.

readUrl: URL'nin tamamının okunup okunamayacağını sorgulamak için ek bağımsız değişkenler gerekmez. Belirli bir bileşenin okunup okunamayacağını sorgulamak için bileşen adını ikinci bağımsız değişken olarak iletin:

if (queryPermission('readUrl','port')) {
  // read the port
}

Belirli bir sorgu anahtarının okunabilir olup olmadığını kontrol etmek için sorgu anahtarını üçüncü parametre olarak iletin:

if (queryPermission('readUrl','query','key')) {
  getUrlComponent(...);
}

İlişkili izinler

Yok.


readCharacterSet

document.characterSet değerini döndürür.

Söz dizimi

readCharacterSet()

Parametreler

Yok.

İlişkili izinler

read_character_set


readTitle

document.title değerini döndürür.

Söz dizimi

readTitle()

Parametreler

Yok.

İlişkili izinler

read_title


require

Yerleşik bir işlevi ada göre içe aktarır. Programınızdan çağrılabilecek bir işlev veya nesne döndürür. Tarayıcı yerleşik işlevi desteklemiyorsa undefined değerini döndürür.

Söz dizimi

require(name)

Parametreler

Parametre Tür Açıklama
name dize İçe aktarılacak işlevin adı.

Örnek

const getUrl = require('getUrl');
const url = getUrl();

İlişkili izinler

Yok.


sendPixel

Belirtilen bir URL uç noktasına GET isteği gönderir.

Söz dizimi

sendPixel(url, onSuccess, onFailure)

Parametreler

Parametre Tür Açıklama
url dize Pikseli göndereceğiniz yer.
onSuccess function Piksel başarıyla yüklendiğinde çağrılır. Not: İstek başarıyla gönderilse bile onSuccess işlevinin çalıştırılması için tarayıcıların geçerli bir resim yanıtı alması gerekebilir.
onFailure function Pixel yüklenemezse çağrılır. Not: İstek başarıyla gönderilse bile sunucu geçerli bir resim yanıtı döndürmezse onFailure işlevi çalışabilir.

İlişkili izinler

send_pixel


setCookie

Belirtilen ad, değer ve seçeneklere sahip çerezi ayarlar veya siler.

Söz dizimi

setCookie(name, value[, options, encode])

Parametreler

Parametre Tür Açıklama
name dize Çerezin adı.
value dize Çerezin değeri.
options object Alan, Yol, Süre Sonu, Maksimum Yaş, Güvenli ve SameSite özelliklerini belirtir. (Aşağıdaki Seçenekler bölümüne bakın.)
encode boole Çerez değerinin JavaScript'in encodeURIComponent() ile kodlanıp kodlanmayacağını kontrol eder. Varsayılan olarak true değerine ayarlanır.

Seçenekler

  • Alan: Varsa options['domain'] mülkü tarafından ayarlanır. Belge konumuna göre mümkün olan en geniş alanı kullanarak çerezi yazmaya çalışmak için bu değeri 'auto' olarak ayarlayın. Bu işlem başarısız olursa daha dar alt alan adlarını dener. Bunların tümü başarısız olursa çerez, alan adı olmadan yazılmaya çalışılır. Hiçbir değer ayarlanmazsa çerez, alan adı belirtilmeden yazılmaya çalışılır. Not: Alan adı belirtilmemiş bir çerez document.cookie alanına yazıldığında kullanıcı aracısı, çerezin alanını varsayılan olarak geçerli doküman konumunun ana makinesine ayarlar.
  • Yol: Varsa options['path'] tarafından ayarlanır. Yolu belirtilmemiş bir çerez document.cookie alanına yazıldığında kullanıcı aracısı, çerezin yolunu varsayılan olarak geçerli belge konumunun yoluna ayarlar.
  • Max-Age: Varsa options['max-age'] tarafından ayarlanır.
  • Expires: Varsa options['expires'] tarafından ayarlanır. Varsa UTC biçimli bir tarih dizesi olmalıdır. Date.toUTCString(), bu parametre için bir Date biçimlendirmek üzere kullanılabilir.
  • Güvenli: Varsa options['secure'] tarafından ayarlanır.
  • SameSite: Varsa options['samesite'] tarafından ayarlanır.

İlişkili izinler

set_cookies


setDefaultConsentState

Mevcut etkinlikten ve tetiklediği tüm etiketlerin işlenmesinden sonra (veya etiket işleme zaman aşımına ulaşıldığında) bir an önce işlenmek üzere veri katmanına varsayılan bir izin güncellemesi gönderir. Güncellemenin, veri katmanındaki sıraya alınmış öğelerden önce bu kapsayıcıda işlenmesi garanti edilir. İzin hakkında daha fazla bilgi edinin.

Örnek:

const setDefaultConsentState = require('setDefaultConsentState');

setDefaultConsentState({
  'ad_storage': 'denied',
  'analytics_storage': 'granted',
  'third_party_storage': 'denied',
  'region': ['US-CA'],
  'wait_for_update': 500
});

Söz dizimi

setDefaultConsentState(consentSettings)

Parametreler

Parametre Tür Açıklama
consentSettings object Belirtilen izin türleri için varsayılan durumu tanımlayan bir nesne.

consentSettings nesnesi, rastgele izin türü dizelerinin 'granted' veya 'denied' değerlerinden biriyle eşlenmesidir. Aşağıdaki değerleri destekler:

Anahtar Adı Tür Açıklama
consentType dize Her izin türünün değeri "granted" veya "denied" olarak ayarlanabilir. "granted" dışındaki tüm değerler "denied" olarak değerlendirilir. Değerin "undefined" olarak ayarlanması önceki değerini etkilemez.
region Dizi İzin ayarlarının hangi bölge için geçerli olduğunu belirten isteğe bağlı bir bölge kodu dizisi. Bölge kodları, ISO 3166-2 biçiminde ülke ve/veya alt bölümler kullanılarak ifade edilir.
wait_for_update number Veriler gönderilmeden önce ne kadar süre bekleyeceğini kontrol etmek için milisaniye değerini belirtir. Eşzamansız olarak yüklenen izin araçlarıyla kullanılır.

İlişkili izinler

consentSettings nesnesinde tüm izin türleri için yazma erişimi olan access_consent izni.


setInWindow

Belirtilen anahtardaki window değerini ayarlar. Varsayılan olarak bu yöntem, window içinde zaten bir değer varsa değeri ayarlamaz. Mevcut bir değerin varlığından bağımsız olarak window değerini ayarlamak için overrideExisting değerini true olarak ayarlayın. Bir boole değeri döndürür: Değer başarıyla ayarlandıysa true, aksi takdirde false.

Söz dizimi

setInWindow(key, value, overrideExisting)

Parametreler

Parametre Tür Açıklama
key dize Değerin yerleştirileceği window anahtarı.
value * window içinde ayarlanacak değer.
overrideExisting boole window alanında değer olup olmadığına bakılmaksızın, değerin window alanında ayarlanması gerektiğini belirten işaret.

İlişkili izinler

access_globals


sha256

options nesnesi farklı bir çıkış kodlaması belirtmediği sürece girişin SHA-256 özetini hesaplar ve özeti base64 olarak kodlanmış bir geri çağırma işlevi ile çağırır.

Örnek:

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'});

Söz dizimi

sha256(input, onSuccess, onFailure = undefined, options = undefined)

Parametreler

Parametre Tür Açıklama
input dize Karmasının hesaplanacağı dize.
onSuccess function options nesnesi farklı bir çıkış kodlaması belirtmediği sürece, elde edilen özet ile çağrılır. Bu özet, base64 ile kodlanmıştır.
onFailure function Özet hesaplanırken hata oluşursa veya tarayıcıda sha256 için yerel destek yoksa çağrılır. Geri çağırma işlevi, hatanın adını ve mesajını içeren bir nesneyle çağrılır.
options object Çıkış kodlamasını belirtmek için isteğe bağlı options nesnesi. Belirtilirse nesne, base64 veya hex değerlerinden birine sahip outputEncoding anahtarını içermelidir.

İlişkili izinler

Yok.


templateStorage

Şablon depolama alanına erişme yöntemleri içeren bir nesne döndürür. Şablon depolama alanı, verilerin tek bir şablonun yürütme işlemleri arasında paylaşılmasına olanak tanır. Şablon depolama alanında depolanan veriler, sayfanın kullanım süresi boyunca saklanır.

Söz dizimi

const templateStorage = require('templateStorage');

templateStorage.getItem(key);

templateStorage.setItem(key, value);

templateStorage.removeItem(key);

// Deletes all stored values for the template.
templateStorage.clear();

İlişkili izinler

access_template_storage

Örnek

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

toBase64 API, bir dizeyi base64 temsili olarak kodlamanıza olanak tanır.

Söz dizimi

toBase64(input)

Parametreler

Parametre Tür Açıklama
input dize Kodlanacak dize.

Örnek

const toBase64 = require('toBase64');

const base64Hello = toBase64('hello');

İlişkili izinler

Yok


updateConsentState

Mevcut etkinlik ve tetiklediği tüm etiketlerin işlenmesi tamamlandıktan sonra (veya etiket işleme zaman aşımına ulaşıldığında) mümkün olan en kısa sürede işlenmek üzere veri katmanına bir izin güncellemesi gönderir. Güncellemenin, veri katmanındaki sıraya alınmış öğelerden önce bu kapsayıcıda işlenmesi garanti edilir. İzin hakkında daha fazla bilgi edinin.

Örnek:

const updateConsentState = require('updateConsentState');

updateConsentState({
  'ad_storage': 'granted',
  'analytics_storage': 'denied',
  'third_party_storage': 'granted',
});

Söz dizimi

updateConsentState(consentSettings)

Parametreler

Parametre Tür Açıklama
consentSettings object Belirtilen izin türlerinin durumunu güncelleyen bir nesne.

consentSettings nesnesi, rastgele izin türü dizelerinin 'granted' veya 'denied' değerlerinden biriyle eşlenmesidir. Aşağıdaki değerleri destekler:

Anahtar Adı Tür Açıklama
consentType dize Her izin türünün değeri "verildi" veya "reddedildi" olarak ayarlanabilir. "İzin verildi" dışındaki tüm değerler "İzin verilmedi" olarak kabul edilir. Değerin "tanımsız" olarak ayarlanması, önceki değerini etkilemez.

İlişkili izinler

consentSettings nesnesinde tüm izin türleri için yazma erişimi olan access_consent izni.


Test API'leri

Bu API'ler, Google Etiket Yöneticisi'nde özel şablonlar için test oluşturmak amacıyla korumalı alan JavaScript testleriyle çalışır. Bu test API'leri için require() beyan gerekmez. Özel şablon testleri hakkında daha fazla bilgi edinin.


assertApi

Belirtilen API hakkında akıcı bir şekilde iddiada bulunmak için kullanılabilecek bir eşleyici nesnesi döndürür.

Söz dizimi

assertApi(apiName)

Parametreler

Parametre Tür Açıklama
apiName dize Kontrol edilecek API'nin adı; require() parametresine iletilen diziyle aynıdır.

Eşleyiciler

  • Subject.wasCalled()
  • Subject.wasNotCalled()
  • Subject.wasCalledWith(...expected)
  • Subject.wasNotCalledWith(...expected)

Örnekler

assertApi('sendPixel').wasCalled();
assertApi('getUrl').wasNotCalled();
assertApi('makeNumber').wasCalledWith('8');
assertApi('setInWindow').wasNotCalledWith('myVar', 'theWrongValue');

assertThat

assertThat API'si, Google'ın [Truth] kitaplığından modellenmiştir. Bir öznenin değeri hakkında akıcı bir şekilde iddiada bulunmak için kullanılabilecek bir nesne döndürür. Bir iddia hatası, testi hemen durdurur ve başarısız olarak işaretler. Ancak bir testin başarısız olması diğer test durumlarını etkilemez.

Söz dizimi

assertThat(actual, opt_message)

Parametreler

Parametre Tür Açıklama
actual herhangi bir Akıcılık kontrollerinde kullanılacak değer.
opt_message dize İddia başarısız olursa yazdırılacak isteğe bağlı mesaj.

Eşleyiciler

Eşleştirici Açıklama
isUndefined() Konunun undefined olduğunu belirtir.
isDefined() Öznenin undefined olmadığını belirtir.
isNull() Konunun null olduğunu belirtir.
isNotNull() Öznenin null olmadığını belirtir.
isFalse() Konunun false olduğunu belirtir.
isTrue() Konunun true olduğunu belirtir.
isFalsy() Konunun yanlış olduğunu belirtir. Yanlış değerler: undefined, null, false, NaN, 0 ve '' (boş dize).
isTruthy() Konunun doğru olduğunu belirtir. Yanlış değerler: undefined, null, false, NaN, 0 ve '' (boş dize).
isNaN() Öznenin NaN değeri olduğunu belirtir.
isNotNaN() Öznenin NaN dışında bir değer olduğunu belirtir.
isInfinity() Öznenin pozitif veya negatif sonsuz olduğunu belirtir.
isNotInfinity() Öznenin pozitif veya negatif sonsuz dışında bir değer olduğunu belirtir.
isEqualTo(expected) Öznenin, belirtilen değere eşit olduğunu belirtir. Bu, referans karşılaştırması değil, değer karşılaştırmasıdır. Nesnelerin ve dizilerin içerikleri yinelemeli olarak karşılaştırılır.
isNotEqualTo(expected) Öznenin, belirtilen değere eşit olmadığını belirtir. Bu, referans karşılaştırması değil, değer karşılaştırmasıdır. Nesnelerin ve dizilerin içerikleri yinelemeli olarak karşılaştırılır.
isAnyOf(...expected) Öznenin, verilen değerlerden birine eşit olduğunu belirtir. Bu, referans karşılaştırması değil, değer karşılaştırmasıdır. Nesnelerin ve dizilerin içerikleri yinelemeli olarak karşılaştırılır.
isNoneOf(...expected) Öznenin, verilen değerlerden hiçbirine eşit olmadığını belirtir. Bu, referans karşılaştırması değil, değer karşılaştırmasıdır. Nesnelerin ve dizilerin içerikleri yinelemeli olarak karşılaştırılır.
isStrictlyEqualTo(expected) Öznenin, belirtilen değere tam olarak eşit (===) olduğunu belirtir.
isNotStrictlyEqualTo(expected) Öznenin, belirtilen değere tam olarak eşit (!==) olmadığını belirtir.
isGreaterThan(expected) Sıralı bir karşılaştırmada öznenin, verilen değerden (>) daha büyük olduğunu belirtir.
isGreaterThanOrEqualTo(expected) Sıralı bir karşılaştırmada öznenin, verilen değerden büyük veya bu değere eşit olduğunu (>=) belirtir.
isLessThan(expected) Sıralı bir karşılaştırmada öznenin, verilen değerden (<) küçük olduğunu belirtir.
isLessThanOrEqualTo(expected) Sıralı bir karşılaştırmada öznenin, verilen değerden (<=) küçük veya bu değere eşit olduğunu belirtir.
contains(...expected) Öznenin, verilen tüm değerleri herhangi bir sırada içeren bir dizi veya dize olduğunu belirtir. Bu, referans karşılaştırması değil, değer karşılaştırmasıdır. Nesnelerin ve dizilerin içerikleri yinelemeli olarak karşılaştırılır.
doesNotContain(...expected) Öznenin, verilen değerlerden hiçbirini içermeyen bir dizi veya dize olduğunu belirtir. Bu, referans karşılaştırması değil, değer karşılaştırmasıdır. Nesnelerin ve dizilerin içerikleri yinelemeli olarak karşılaştırılır.
containsExactly(...expected) Öznenin, verilen tüm değerleri herhangi bir sırada içeren ve başka değer içermeyen bir dizi olduğunu belirtir. Bu, referans karşılaştırması değil, değer karşılaştırmasıdır. Nesnelerin ve dizilerin içerikleri yinelemeli olarak karşılaştırılır.
doesNotContainExactly(...expected) Öznenin, verilen değerlerden farklı bir değer grubu içeren bir dizi olduğunu belirtir. Bu, referans karşılaştırması değil, değer karşılaştırmasıdır. Nesnelerin ve dizilerin içerikleri yinelemeli olarak karşılaştırılır.
hasLength(expected) Öznenin, belirli uzunlukta bir dizi veya dize olduğunu belirtir. Değer bir dizi veya dize değilse beyan her zaman başarısız olur.
isEmpty() Öznenin boş bir dizi veya dize (uzunluk = 0) olduğunu belirtir. Değer bir dizi veya dize değilse iddia her zaman başarısız olur.
isNotEmpty() Öznenin boş olmayan bir dizi veya dize olduğunu (uzunluk > 0) belirtir. Değer bir dizi veya dize değilse beyan her zaman başarısız olur.
isArray() Konunun türünün dizi olduğunu belirtir.
isBoolean() Öznenin türünün boole olduğunu belirtir.
isFunction() Öznenin türünün bir işlev olduğunu belirtir.
isNumber() Öznenin türünün sayı olduğunu belirtir.
isObject() Konunun türünü nesne olarak belirtir.
isString() Konunun türünü dize olarak belirtir.

Örnekler

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

Mevcut testi hemen geçersiz kılar ve sağlanmışsa belirtilen mesajı yazdırır.

Söz dizimi

fail(opt_message);

Parametreler

Parametre Tür Açıklama
opt_message dize İsteğe bağlı hata mesajı metni.

Örnek

fail('This test has failed.');

mock

mock API, korumalı alanlardaki API'lerin davranışını geçersiz kılmanıza olanak tanır. Şablon kodunda sahte API'nin kullanılması güvenlidir ancak yalnızca test modunda çalışır. Sahte veriler her test çalıştırılmadan önce sıfırlanır.

Söz dizimi

mock(apiName, returnValue);

Parametreler

Parametre Tür Açıklama
apiName dize Taklit edilecek API'nin adı; require() parametresine iletilen diziyle aynıdır.
returnValue herhangi bir API için döndürülecek değer veya API yerine çağrılan bir işlev. returnValue bir işlevse korumalı API yerine bu işlev çağrılır; returnValue işlev dışında bir şeyse korumalı API yerine bu değer döndürülür.

Örnekler

mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
    onSuccess();
});

mockObject

mockObject API, nesne döndüren korumalı alan API'lerinin davranışını geçersiz kılmanıza olanak tanır. API'nin şablon kodunda kullanılması güvenlidir ancak yalnızca test modunda çalışır. Sahte veriler her test çalıştırılmadan önce sıfırlanır.

Söz dizimi

mockObject(apiName, objectMock);

Parametreler

Parametre Tür Açıklama
apiName dize Taklit edilecek API'nin adı; require() parametresine iletilen diziyle aynıdır.
objectMock object API için döndürülecek değer veya API yerine çağrılan bir işlev. Nesne olmalıdır.

Örnekler

const storage = {};
mockObject('localStorage', {
  setItem: (key, value) => {storage[key] = value;},
  getItem: (key) => storage[key],
});

runCode

Şablonun kodunu (yani Kod sekmesinin içeriğini) mevcut test ortamında belirli bir giriş verisi nesnesi ile çalıştırır.

Söz dizimi

runCode(data)

Parametreler

Parametre Tür Açıklama
data object Testte kullanılacak veri nesnesi.

Döndürülen Değer

Değişken şablonlar için bir değişkenin değerini döndürür; diğer tüm şablon türleri için undefined döndürür.

Örnek

runCode({field1: 123, field2: 'value'});