Sunucu tarafı etiketleme API'leri

Bu dokümanda, sunucu tarafı etiketleme için API'ler özetlenmektedir.


addEventCallback

Bir etkinliğin sonunda çağrılacak bir geri çağırma işlevi kaydeder. Etkinlik için tüm etiketler yürütüldüğünde geri çağırma çağrılır. Geri çağırma iki değer iletilir: İşlevi çağıran container'ın kimliği ve etkinlik hakkında bilgi içeren bir nesne.

Bu API bir etikette kullanıldığında mevcut etkinlikle ilişkilendirilir. Bu API bir istemcide kullanıldığında runContainer API'nin bindToEvent işlevini kullanarak belirli bir etkinliğe bağlı olmalıdır. Daha fazla bilgi için örneğe bakın.

Söz dizimi

const addEventCallback = require('addEventCallback');

addEventCallback((containerId, eventData) => {
  // Take some action based on the event data.
});

Parametreler

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

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

Anahtar Adı Type Açıklama
tags Dizi Etiket veri nesneleri dizisi. Etkinlik sırasında tetiklenen her etiket bu dizide bir giriş içerir. 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ılan ek etiket meta verilerini de içerir.

Örnek

İstemcide:

const addEventCallback = require('addEventCallback');
const claimRequest = require('claimRequest');
const extractEventsFromMpv1 = require('extractEventsFromMpv1');
const logToConsole = require('logToConsole');
const returnResponse = require('returnResponse');
const runContainer = require('runContainer');

claimRequest();

const events = extractEventsFromMpv1();
let eventsCompleted = 0;
events.forEach((evt, i) => {
  runContainer(evt, /* onComplete= */ (bindToEvent) => {
    bindToEvent(addEventCallback)((containerId, eventData) => {
      logToConsole('Event Number: ' + i);
      eventData.tags.forEach((tag) => {
        logToConsole('Tag ID: ' + tag.id);
        logToConsole('Tag Status: ' + tag.status);
        logToConsole('Tag Execution Time: ' + tag.executionTime);
      });
    });
    if (events.length === ++eventsCompleted) {
      returnResponse();
    }
  });
});

Bir etikette:

const addEventCallback = require('addEventCallback');

addEventCallback((containerId, eventData) => {
  // This will be called at the end of the current event.
});

İlişkili izinler

read_event_metadata


callLater

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

Örnek

const callLater = require('callLater');
const logToConsole = require('logToConsole');

callLater(() => {
  logToConsole('Logged asynchronously');
});

Söz dizimi

callLater(function)

Parametreler

Parametre Type Açıklama
function işlev Telefon edilecek işlev.

İlişkili izinler

Yok.


claimRequest

İstekte bulunmak için bir istemcide bu API'yi kullanın. Bir istek talep edildiğinde, container başka istemciler çalıştırmaz.

Bu API, bir etiket veya değişkende çağrıldığında bir istisna atar. Bu API, istemci döndürüldükten sonra çağrılırsa bir istisna oluşturur (ör. callLater veya runContainer onComplete işlevinde olduğu gibi eşzamansız geri çağırmada çağrılır).

İstemciler, runContainer API'yi çağırmadan önce bu API'yi kullanarak istekte bulunmalıdır.

Örnek

const claimRequest = require('claimRequest');

claimRequest();

Söz dizimi

claimRequest();

İlişkili izinler

Yok.


computeEffectiveTldPlusOne

Belirli bir alan veya URL'nin geçerli üst düzey alan adını + 1 (eTLD+1) döndürür. eTLD+1, alanın Genel Son Ek Listesi kurallarına göre değerlendirilmesiyle hesaplanır. eTLD+1, genellikle çerez oluşturabileceğiniz en üst düzey alandır.

Bağımsız değişken boş veya tanımsızsa bağımsız değişken değeri değiştirilmeden döndürülür. Aksi takdirde, bağımsız değişken bir dizeye zorlanır. Bağımsız değişken geçerli bir alan adı veya URL değilse boş bir dize döndürülür. Sunucu genel son ek listesini getiremezse, bağımsız değişken değeri değiştirilmeden döndürülür.

Örnek

const computeEffectiveTldPlusOne = require('computeEffectiveTldPlusOne');

// Returns 'example.co.uk'
computeEffectiveTldPlusOne('analytics.example.co.uk');

// Returns 'example.co.uk'
computeEffectiveTldPlusOne('https://analytics.example.co.uk/path');

Söz dizimi

computeEffectiveTldPlusOne(domainOrUrl);

Parametreler

Parametre Type Açıklama
domainOrUrl dize eTLD+1'in hesaplanacağı bir alan adı veya URL.

İlişkili izinler

Yok.


createRegex

Yeni bir normal ifade örneği oluşturur ve bunu bir nesneye sarmalanmış halde döndürür. Normal ifadeye doğrudan erişemezsiniz. Ancak testRegex API, String.replace(), String.match() ve String.search() için de aktarabilirsiniz.

Normal ifade geçersizse veya Re2 sunucuda yoksa null değerini döndürür.

Bu API, bir Re2 uygulaması kullanır. Sunucu Docker görüntüsü, 2.0.0 veya sonraki bir sürüm olmalıdır.

Örnek

const createRegex = require('createRegex');

const domainRegex = createRegex('\\w+\\.com', 'i');

// Returns '/foobar'
'example.com/foobar'.replace(domainRegex, '');

Söz dizimi

createRegex(pattern, flags);

Parametreler

Parametre Type Açıklama
pattern dize Normal ifadenin metni.
flags dize Oluşturulan normal ifade için işaretleri içeren isteğe bağlı bir dize. "g" (global) ve "i" (büyük/küçük harfe duyarlı değil) değerleri desteklenir. Diğer tüm karakterler sessizce yoksayılır.

İlişkili izinler

Yok.


decodeUri

Sağlanan URI'da kodlanmış karakterlerin kodunu çözer. Kodu çözülmüş URI'yi temsil eden bir dize döndürür. Geçersiz girişle belirtilirse undefined değerini döndürür.

Örnek

const decodeUri = require('decodeUri');

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

Söz dizimi

decodeUri(encoded_uri);

Parametreler

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

İlişkili izinler

Yok.


decodeUriComponent

Sağlanan URI bileşenindeki tüm kodlanmış karakterlerin kodunu çözer. Kodu çözülmüş URI bileşenini temsil eden bir dize döndürür. Geçersiz giriş verildiğinde undefined değerini döndürür.

Örnek

const decodeUriComponent = require('decodeUriComponent');

const decodedQuery = decodeUriComponent(data.query);
if (decodedQuery) {
  // ...
}

Söz dizimi

decodeUriComponent(encoded_uri_component);

Parametreler

Parametre Type Açıklama
encoded_uri_component dize encodeUriComponent() veya başka yöntemlerle kodlanan bir URI bileşeni.

İlişkili izinler

Yok.


encodeUri

Özel karakterlerden çıkış yaparak kodlanmış bir Tekdüzen Kaynak Tanımlayıcısı (URI) döndürür. URI olarak kodlanan sağlanan dizeyi temsil eden bir dize döndürür.

Örnek

const encodeUri = require('encodeUri');
const sendHttpGet = require('sendHttpGet');

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

Söz dizimi

encodeUri(uri);

Parametreler

Parametre Type Açıklama
uri dize Eksiksiz bir URI.

İlişkili izinler

Yok.


encodeUriComponent

Özel karakterlerden çıkış yaparak kodlanmış bir Tekdüzen Kaynak Tanımlayıcısı (URI) döndürür. URI olarak kodlanan sağlanan dizeyi temsil eden bir dize döndürür.

Örnek

const encodeUriComponent = require('encodeUriComponent');
const sendHttpGet = require('sendHttpGet');

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

Söz dizimi

encodeUriComponent(str);

Parametreler

Parametre Type Açıklama
str dize URI'nın bir bileşeni.

İlişkili izinler

Yok.


extractEventsFromMpv1

Gelen Measurement Protocol V1 isteğini, Birleştirilmiş Şema biçiminde etkinlik listesine çevirir. Çıkarılan etkinliklerin listesini döndürür. İstek doğru biçimde değilse hata verir.

Örnek

const extractEventsFromMpv1 = require('extractEventsFromMpv1');
const isRequestMpv1 = require('isRequestMpv1');

if (isRequestMpv1()) {
  const events = extractEventsFromMpv1();
  for (let i = 0; i < events.length; ++i) {
    const event = events[i];
    // Process event.
  }
}

Söz dizimi

extractEventsFromMpv1();

İlişkili izinler

read_request izni gerekir. İzin, en azından aşağıdaki özelliklere erişim izni verilecek şekilde yapılandırılmalıdır:

  • body
  • query parameters

extractEventsFromMpv2

Gelen Measurement Protocol V2 isteğini, Birleştirilmiş Şema biçiminde etkinlik listesine çevirir. Çıkarılan etkinliklerin listesini döndürür. İstek doğru biçimde değilse hata verir.

Örnek

const extractEventsFromMpv2 = require('extractEventsFromMpv2');
const isRequestMpv2 = require('isRequestMpv2');

if (isRequestMpv2()) {
  const events = extractEventsFromMpv2();
  for (let i = 0; i < events.length; ++i) {
    const event = events[i];
    // Process event.
  }
}

Söz dizimi

extractEventsFromMpv2();

İlişkili izinler

read_request izni gerekir. İzin, en azından aşağıdaki özelliklere erişim izni verilecek şekilde yapılandırılmalıdır:

  • body
  • query parameters

fromBase64

Base64 kodlu bir dizenin kodunu çözer. Giriş geçersizse undefined değerini döndürür.

Söz dizimi

fromBase64(base64EncodedString);

Parametreler

Parametre Type Açıklama
base64EncodedString dize Base64 olarak kodlanmış dize.

Örnek

const fromBase64 = require('fromBase64');

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

İlişkili izinler

Yok.


generateRandom

Belirli bir aralıkta rastgele bir sayı (tam sayı) döndürür.

Örnek

const generateRandom = require('generateRandom');

const randomValue = generateRandom(0, 10000000);

Söz dizimi

generateRandom(min, max);

Parametreler

Parametre Type Açıklama
min sayı Döndürülen tam sayının minimum potansiyel değeri (dahil).
max sayı Döndürülen tam sayı için maksimum potansiyel değer (dahil).

İlişkili izinler

Yok.


getAllEventData

Etkinlik verilerinin bir kopyasını döndürür.

Söz dizimi

getAllEventData();

İlişkili izinler

read_event_data


getClientName

Mevcut istemcinin adını içeren bir dize döndürür.

Söz dizimi

getClientName();

İlişkili izinler

read_container_data


getContainerVersion

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

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

Örnek

const getContainerVersion = require('getContainerVersion');

const containerVersion = getContainerVersion();
const containerId = containerVersion['containerId'];
const isDebug = containerVersion['debugMode'];

Söz dizimi

getContainerVersion();

İlişkili izinler

read_container_data


getCookieValues

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

Örnek

const getCookieValues = require('getCookieValues');

const lastVisit = getCookieValues('lastVisit')[0];
if (lastVisit) {
  // ...
}

Söz dizimi

getCookieValues(name[, noDecode]);

Parametreler

Parametre Type Açıklama
name dize Çerezin adı.
noDecode boole true ise çerez değerleri döndürülmeden önce şifresi çözülmez. Varsayılan olarak false değerine ayarlanır.

İlişkili izinler

get_cookies


getEventData

Etkinlik verilerinde belirtilen yoldaki değerin bir kopyasını döndürür. Etkinlik verisi yoksa veya belirli bir yolda değer yoksa undefined değerini döndürür.

Örnek

const getEventData = require('getEventData');

const campaignId = getEventData('campaign.id');
const itemId = getEventData('items.0.id');
const referrer = getEventData('page_referrer');

Parametreler

Parametre Type Açıklama
keyPath herhangi biri Yol bileşenlerinin noktalarla ayrıldığı anahtar yolu. Yol bileşenleri, nesnelere ait anahtarlar veya dizilerdeki dizinler olabilir. keyPath bir dize değilse dizeye zorlanır.

Söz dizimi

getEventData(keyPath);

İlişkili izinler

read_event_data


getGoogleScript

Bir kaynağı önceden belirlenmiş Google komut dosyaları grubundan alır ve komut dosyası ile ilişkili önbelleğe alma meta verilerini içeren bir vade sağlar.

Vaat, iki anahtar içeren bir nesneye çözümlenir: script ve metadata. İstek başarısız olursa taahhüt reason anahtarıyla reddedilir.

metadata nesnesi, kaynak yanıtı üstbilgilerine dayalı olarak aşağıdaki önbelleğe alma meta verilerini içerir. Her alan, yalnızca karşılık gelen başlık, kaynak yanıtında mevcut olduğunda bulunur.

{
  'cache-control': string,
  'expires': string,
  'last-modified': string,
}

Örnek

const getGoogleScript = require('getGoogleScript');

getGoogleScript('ANALYTICS').then((result) => {
  // Operate on result.script and result.metadata here.
});

Söz dizimi

getGoogleScript(script[, options]);

Parametreler

Parametre Type Açıklama
script dize Komut dosyasının adı. Desteklenen komut dosyaları: 'ANALYTICS', 'GTAG' ve 'GTM'.

'ANALYTICS' seçeneği, Google Analytics komut dosyasını https://www.google-analytics.com/analytics.js öğesinden getirir.

'GTAG' seçeneği, https://www.googletagmanager.com/gtag/js'ten global site etiketi (gtag.js) komut dosyasını getirir.

'GTM' seçeneği, Google Etiket Yöneticisi komut dosyasını https://www.googletagmanager.com/gtm.js öğesinden getirir.
options nesne İsteğe bağlı istek seçenekleri. Desteklenen seçenekler için aşağıya bakın.

Seçenekler

Option Type Açıklama
id dize gtag ölçüm kimliği ile 'GTAG' ve web kapsayıcı kimliği ile 'GTM' için geçerlidir (ör. GTM-XXXX).
debug herhangi biri Hatalıysa ölçüm komut dosyasının hata ayıklama sürümünü ister ve döndürür.
timeout sayı Milisaniye cinsinden istek zaman aşımı; pozitif olmayan değerler yoksayılır. İstek zaman aşımına uğrarsa geri çağırma, komut dosyası değeri için undefined ve meta veri nesnesi için {} ile çağrılır.

Tanınmayan seçenek anahtarları yok sayılır.

İlişkili izinler

send_http izni gerekir. İzin, en azından aşağıdaki özelliklere erişime izin verecek şekilde yapılandırılmalıdır:

  • Google alan adlarına izin ver

getRemoteAddress

İsteğin oluşturulduğu IP adresinin bir dize değerini döndürür (ör.IPv4 için 12.345.67.890 veya IPv6 için 2001:0db8:85a3:0:0:8a2e:0370:7334). Yönlendirilen ve X-Forwarded-For gibi istek başlıklarını okur. Not: Bu API, kaynak IP'yi keşfetmek için elinden geleni yapar ancak sonucun doğru olduğunu garanti edemez.

Söz dizimi

getRemoteAddress();

İlişkili izinler

read_request izni gerekir. İzin, en azından aşağıdaki özelliklere erişim izni verilecek şekilde yapılandırılmalıdır:

  • Üstbilgiler Forwarded ve X-Forwarded-For
  • Uzak IP Adresi

getRequestBody

Varsa istek gövdesini dize olarak, aksi halde undefined olarak döndürür.

Söz dizimi

getRequestBody();

İlişkili izinler

read_request


getRequestHeader

Adlandırılmış istek başlığının değerini (varsa) dize olarak döndürür. Aksi durumda undefined değerini döndürür. Başlık tekrarlanırsa döndürülen değerler ', ' ile birleştirilir.

Örnek

const getRequestHeader = require('getRequestHeader');

const host = getRequestHeader('host');

Söz dizimi

getRequestHeader(headerName);

Parametreler

Parametre Type Açıklama
headerName dize Başlık adı. Bu değer büyük/küçük harfe duyarlı değildir.

İlişkili izinler

read_request


getRequestMethod

İstek yöntemini (ör. 'GET' veya 'POST') dize olarak döndürür.

Örnek

const getRequestMethod = require('getRequestMethod');

if (getRequestMethod() === 'POST') {
  // Handle the POST request here.
}

Söz dizimi

getRequestMethod();

İlişkili izinler

Yok.


getRequestPath

Sorgu dizesini içermeyen istek yolunu döndürür. Örneğin, URL '/foo?id=123' ise bu değer '/foo' değerini döndürür. Server container URL önekini yoldan otomatik olarak kaldırır. Örneğin, sunucu kapsayıcı URL'si https://example.com/analytics ise ve istek yolu '/analytics/foo' ise bu değer '/foo' değerini döndürür.

Örnek

const getRequestPath = require('getRequestPath');

const requestPath = getRequestPath();
if (requestPath === '/') {
  // Handle a request for the root path.
}

Söz dizimi

getRequestPath();

İlişkili izinler

read_request


getRequestQueryParameter

Adlandırılmış sorgu dizesi parametresinin kodu çözülmüş değerini dize olarak veya parametre yoksa undefined olarak döndürür. Parametre sorgu dizesinde tekrarlanırsa sorgu dizesinde görünen ilk değer döndürülür.

Örnek

const getRequestQueryParameter = require('getRequestQueryParameter');

const query = getRequestQueryParameter('query');
if (query) {
  // Process query here.
}

Söz dizimi

getRequestQueryParameter(name);

Parametreler

Parametre Type Açıklama
name dize Sorgu parametresi adı.

İlişkili izinler

read_request


getRequestQueryParameters

Gelen parametre isteğinin sorgu parametrelerini, sorgu parametresi adlarını karşılık gelen değer veya değerlerle eşleyen bir nesne olarak döndürür. Parametre adları ve değerlerinin kodu çözülmüştür.

Örnek

const getRequestQueryParameters = require('getRequestQueryParameters');

const queryParameters = getRequestQueryParameters();
if (queryParameters['search']) {
  // Handle the search query here.
  const maxResults = queryParameters['max_results'];
}

Söz dizimi

getRequestQueryParameters();

İlişkili izinler

read_request


getRequestQueryString

İstek sorgusunu, baştaki soru işareti olmadan bir dize veya istek URL'si bir sorgu dizesi içermiyorsa boş dize olarak döndürür.

Örnek

const getRequestQueryString = require('getRequestQueryString');

const queryString = getRequestQueryString();
if (queryString !== '') {
  // Handle the query string.
}

Söz dizimi

getRequestQueryString();

İlişkili izinler

read_request


getTimestamp

Kullanımdan kaldırıldı. getTimestampMillis eklentisini tercih edin.

Unix döneminden beri geçerli zamanı (Date.now()) döndürerek milisaniye cinsinden number değerini döndürür.

Söz dizimi

getTimestamp();

İlişkili izinler

Yok.


getTimestampMillis

Unix döneminden beri geçerli zamanı (Date.now()) döndürerek milisaniye cinsinden number değerini döndürür.

Söz dizimi

getTimestampMillis();

İlişkili izinler

Yok.


getType

Belirli bir değerin türünü açıklayan bir dize döndürür.

Giriş Türü Döndürülen Değer
dize 'string'
sayı 'number'
boole 'boolean'
null 'null'
tanımlanmadı 'undefined'
Dizi 'array'
Nesne 'object'
İşlev 'function'

Örnek

const getType = require('getType');

const type = getType(value);
if (type === 'string') {
  // Handle string input.
} else if (type === 'number') {
  // Handle numeric input.
} else {
  logToConsole('Unsupported input type: ', type);
}

Söz dizimi

getType(value);

Parametreler

Parametre Type Açıklama
value herhangi biri Giriş değeri.

İlişkili izinler

Yok.


isRequestMpv1

Gelen istek, bir Measurement Protocol V1 isteğiyse true değerini, aksi takdirde false değerini döndürür.

Örnek

const isRequestMpv1 = require('isRequestMpv1');

if (isRequestMpv1()) {
  // Handle Measurement Protocol V1 request.
  const events = extractEventsFromMpv1();
}

Söz dizimi

isRequestMpv1();

İlişkili izinler

Yok.


isRequestMpv2

Gelen istek, bir Measurement Protocol V2 isteğiyse true değerini, aksi halde false değerini döndürür.

Örnek

const isRequestMpv2 = require('isRequestMpv2');

if (isRequestMpv2()) {
  // Handle Measurement Protocol V2 request.
  const events = extractEventsFromMpv2();
}

Söz dizimi

isRequestMpv2();

İlişkili izinler

Yok.


logToConsole

Bağımsız değişkenleri konsola kaydeder.

Bu günlükler, Google Cloud Console'daki Günlük Gezgini'nde görünür. Günlük Gezgini'nde, bu API tarafından oluşturulan günlük girişlerini görmek için logName =~ "stdout" sorgusunu çalıştırın.

Örnek

const logToConsole = require('logToConsole');

const that = 123;
const those = { ... };
logToConsole('that is: ', that, ' and those is: ', those);

Söz dizimi

logToConsole(argument1[, argument2, ...]);

Parametreler

API bir veya daha fazla bağımsız değişken alır. Bu bağımsız değişkenlerin her biri, gerekliyse dizeye dönüştürülür ve konsola kaydedilir.

İlişkili izinler

logging


makeInteger

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

Söz dizimi

makeInteger(value);

Parametreler

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

İlişkili izinler

Yok.


makeNumber

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

Söz dizimi

makeNumber(value);

Parametreler

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

İlişkili izinler

Yok.


makeString

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

Söz dizimi

makeString(value);

Parametreler

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

İlişkili izinler

Yok.


makeTableMap

İki sütunlu basit bir tablo nesnesini Map öğesine dönüştürür. İki sütunlu bir SIMPLE_TABLE şablon alanını daha yönetilebilir bir biçime değiştirmek 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'}
]

Harita'ya eklenir:

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

Bir Nesne döndürür: Anahtar/değer çiftlerinin dönüştürülmüş Map öğesi, aksi takdirde null olarak eklenir.

Söz dizimi

makeTableMap(tableObj, keyColumnName, valueColumnName);

Parametreler

Parametre Type Açıklama
tableObj Listele Dönüştürülecek tablo nesnesi. Her Map öğesinin tablodaki bir satırı temsil ettiği haritaların listesidir. Bir satır nesnesindeki her özellik adı, sütun adıdır. Mülk değeri ise satırdaki sütun değeridir.
keyColumnName dize Dönüştürülen Map içinde anahtarları anahtar olacak sütunun adı.
valueColumnName dize Dönüştürülen Map içindeki değerleri değer haline gelecek olan sütunun adı.

İlişkili izinler

Yok.


parseUrl

URL nesnesine benzer şekilde, belirli bir URL'nin tüm bileşen parçalarını içeren bir nesne döndürür.

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

Döndürülen nesne aşağıdaki alanlara sahip olur:

{
  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 Type Açıklama
url dize Ayrıştırılacak tam URL.

İlişkili izinler

Yok.


returnResponse

setCookie, setPixelResponse, setResponseBody, setResponseStatus ve setResponseStatus dahil olmak üzere, yanıtı değiştiren API'leri kullanarak daha önce diğer şablonlar tarafından ayarlanan yanıtı temizler. Varsayılan olarak HTTP durum kodu 200, boş gövde olup başlık yoktur.

Bu API'nin bir istemci şablonundan kullanılması önerilir.

Söz dizimi

returnResponse();

Örnek

runContainer örneğini inceleyin.

İlişkili izinler

return_response


runContainer

Kapsayıcı mantığını (değişkenler, tetikleyiciler, etiketler) bir etkinlik kapsamında çalıştırır. Bu API, container'ın yürütülmesi sırasında çağrılırsa container tekrar çalıştırılır.

onComplete ve onStart geri çağırmaları, bindToEvent adlı bir işlev alır. Etkinlik bağlamında bir API çalıştırmak için bindToEvent kullanın. Daha fazla bilgi için addEventCallback örneğine bakın.

Bu API'nin bir istemci şablonundan kullanılması önerilir.

Örnek

const returnResponse = require('returnResponse');
const runContainer = require('runContainer');

// Runs the container with a simple pageview event and then returns a response.
runContainer({'event_name': 'pageview'}, () => returnResponse());

Söz dizimi

runContainer(event, onComplete, onStart);

Parametreler

Parametre Type Açıklama
event nesne Etkinlik parametreleri.
onComplete işlev Tüm etiketlerin etkinleşmesinden sonra çağrılan bir geri çağırma.
onStart işlev Etiketler tetiklenmeden hemen önce çağrılan bir geri çağırma.

İlişkili izinler

run_container


sendEventToGoogleAnalytics

Yaygın Etkinlik Verileri kullanılarak tek bir etkinliği Google Analytics'e gönderir ve location anahtarı olan bir nesneye çözümleyen veya reason anahtarı olan bir nesneye reddeden vade döndürür. Universal Analytics veya Google Analytics 4 hedefi, etkinlik verilerindeki ölçüm kimliğine dayanır.

location alanı, varsa location üstbilgisine ayarlanır.

Örnek

const sendEventToGoogleAnalytics = require('sendEventToGoogleAnalytics');
const setResponseHeader = require('setResponseHeader');
const setResponseStatus = require('setResponseStatus');

// Sends an event to Google Analytics and returns failure if the request did not
// succeed. Additionally, if the request resulted in a redirect request, the
// code nominates a redirect response to be returned.
sendEventToGoogleAnalytics(event).then((response) => {
  if (response.location) {
    setResponseHeader('location', response.location);
    setResponseStatus(302);
  } else {
    setResponseStatus(200);
  }
  data.gtmOnSuccess();
}, (err) => {
  setResponseStatus(500);
  data.gtmOnFailure();
});

Söz dizimi

sendEventToGoogleAnalytics(event);

Parametreler

Parametre Type Açıklama
event nesne Birleştirilmiş Şema biçiminde etkinlik.

İlişkili izinler

send_http izni gerekir. İzin, en azından aşağıdaki özelliklere erişime izin verecek şekilde yapılandırılmalıdır:

  • Google alan adlarına izin ver

sendHttpGet

Belirtilen URL'ye bir HTTP GET isteği gönderir ve istek tamamlandığında veya zaman aşımına uğradığında sonuçla çözümlenen bir vade sağlar.

Çözümlenen sonuç, üç anahtar içeren bir nesnedir: statusCode, headers ve body. İstek başarısız olduysa (ör. geçersiz URL, ana makineye yönlendirme yok, SSL pazarlık hatası vb.) taahhüt {reason: 'failed'} ile reddedilecektir. timeout seçeneği ayarlanmışsa ve istek zaman aşımına uğradıysa taahhüt şu şekilde reddedilecektir: {reason: 'timed_out'}

Örnek

const sendHttpGet = require('sendHttpGet');

// Returns the response body as the value for a variable.
return sendHttpGet('https://example.com/item/' + data.itemId, {
  headers: {key: 'value'},
  timeout: 500,
}).then((result) => result.body, () => undefined);

Söz dizimi

sendHttpGet(url[, options]);

Parametreler

Parametre Type Açıklama
url dize İstek URL'si.
options nesne İsteğe bağlı istek seçenekleri. Başlık ve zaman aşımı desteklenir. Bilinmeyen seçenek anahtarları yok sayılır. (Aşağıdaki Seçenekler bölümüne bakın.)

Seçenekler

  • headers: Nesne olarak temsil edilen ek istek başlıkları.
  • timeout: İsteğin iptal edilmesinden önce zaman aşımı (milisaniye cinsinden). Varsayılan olarak 15000 değerine ayarlanır.

İlişkili izinler

send_http


sendHttpRequest

Belirtilen URL'ye bir HTTP isteği gönderir ve istek tamamlandıktan veya zaman aşımına uğradıktan sonra yanıt veren bir vade oluşturur.

Çözümlenen sonuç, üç anahtar içeren bir nesnedir: statusCode, headers ve body. İstek başarısız olduysa (ör. geçersiz URL, ana makineye yönlendirme yok, SSL pazarlık hatası vb.) taahhüt {reason: 'failed'} ile reddedilecektir. timeout seçeneği ayarlanmışsa ve istek zaman aşımına uğradıysa taahhüt şu şekilde reddedilecektir: {reason: 'timed_out'}

Örnek

const sendHttpRequest = require('sendHttpRequest');
const setResponseBody = require('setResponseBody');
const setResponseHeader = require('setResponseHeader');
const setResponseStatus = require('setResponseStatus');

const postBody = 'interaction=click&campaign=promotion&medium=email';
// Sends a POST request and nominates response based on the response to the POST
// request.
sendHttpRequest('https://example.com/collect', {
  headers: {key: 'value'},
  method: 'POST',
  timeout: 500,
}, postBody).then((result) => {
  setResponseStatus(result.statusCode);
  setResponseBody(result.body);
  setResponseHeader('cache-control', result.headers['cache-control']);
});

Söz dizimi

sendHttpRequest(url[, options[, body]]);

Parametreler

Parametre Type Açıklama
url dize İstek URL'si.
options nesne İsteğe bağlı istek seçenekleri. Desteklenen seçenekler: headers, method ve timeout. Bilinmeyen seçenek anahtarları yok sayılır. (Aşağıdaki Seçenekler bölümüne bakın.)
body dize İsteğe bağlı istek gövdesi.

Seçenekler

  • headers: Ek istek başlıkları.
  • method: İstek yöntemi varsayılan olarak "GET" değerine ayarlanır.
  • timeout: İsteğin iptal edilmesinden önce zaman aşımı (milisaniye cinsinden). Varsayılan olarak 15000 değerine ayarlanır.

İlişkili izinler

send_http


sendPixelFromBrowser

Sağlanan URL'nin <img> etiketi olarak yüklenmesi için tarayıcıya bir komut gönderir. Bu komut protokolü Google Analytics: GA4 Yapılandırması ve Google Analytics: GA Etkinliği web etiketlerinde desteklenir. Yapılandırma etiketinde Sunucu kapsayıcısına gönder seçeneğini etkinleştirmeniz gerekir. Daha fazla bilgi için talimatları inceleyin.

Gelen istek, komut protokolünü desteklemiyorsa veya yanıt temizlenmişse bu API false değerini döndürür. Aksi takdirde bu API true değerini döndürür.

Örnek:

const sendPixelFromBrowser = require('sendPixelFromBrowser');

sendPixelFromBrowser('https://example.com/?id=123');

Söz dizimi

sendPixelFromBrowser(url)

Parametreler

Parametre Type Açıklama
url dize Tarayıcıya gönderilecek URL.

İlişkili izinler

send_pixel_from_browser


setCookie

Belirtilen seçeneklere sahip bir çerez ayarlar veya siler.

Bir çerezi silmek için çerezin, oluşturulduğu yolla ve alanla bir çerez ayarlamalı ve buna, geçmişte olan bir geçerlilik bitiş değeri atamalısınız (ör. "Thu, 01 Jan 1970 00:00:00 GMT").

Yanıtın istemciye geri gönderilebilmesi için returnResponse çağrılmalıdır.

Örnek

const setCookie = require('setCookie');

// Sets an httpOnly cookie with a max-age of 3600.
setCookie('cookieName', 'cookieValue', {'max-age': 3600, httpOnly: true});

Söz dizimi

setCookie(name, value[, options[, noEncode]]);

Parametreler

Parametre Type Açıklama
name dize Çerez adı. Bu ad büyük/küçük harfe duyarlı değildir.
value dize Çerez değeri.
options nesne İsteğe bağlı çerez özellikleri:domain, expires, fallbackDomain, httpOnly, max- age, path, secure ve sameSite. (Aşağıdaki Seçenekler bölümüne bakın.)
noEncode boole Doğruysa çerez değeri kodlanmaz. Varsayılan olarak false değerine ayarlanır.

Seçenekler

  • alan: Çerezin gönderileceği ana makine. Özel değer "auto" olarak ayarlanırsa ana makine aşağıdaki strateji kullanılarak otomatik olarak hesaplanır:

    • Varsa Forwarded üstbilgiden eTLD+1.
    • Varsa X-Forwarded-Host üstbilgiden eTLD+1.
    • Host üstbilgiden eTLD+1.
  • expires: Çerezin maksimum kullanım ömrü. Bu, UTC biçiminde bir tarih dizesi olmalıdır, ör. "Cts, 26 Eki 1985 08:21:00 GMT". Hem expires hem de max-age ayarlanmışsa max-age öncelikli olur.

  • Yalnızca http: true ise JavaScript'in çereze erişmesini engeller.

  • max-age: Çerezin süresinin dolmasına saniye sayısı. Sıfır veya negatif bir sayı, çerezin geçerlilik süresini hemen sona erer. Hem expires hem de max-age ayarlanmışsa max-age önceliklidir.

  • path: İstenen URL'de bulunması gereken bir yol veya tarayıcı, Çerez üstbilgisini göndermez.

  • secure: true olarak ayarlanırsa çerez yalnızca https: uç noktasından istek yapıldığında sunucuya gönderilir.

  • sameSite: Bir çerezin kaynaklar arası isteklerle gönderilmemesi gerektiği iddiasında bulunur. 'strict', 'lax' veya 'none' olmalıdır.

İlişkili izinler

set_cookie


setPixelResponse

Yanıt gövdesini 1x1 GIF, Content-Type üstbilgisini "image/gif", önbelleğe alma üst bilgilerini kullanıcı aracılarının önbelleğe almayacağı şekilde ve yanıt durumunu 200 olarak ayarlar.

Yanıtın istemciye geri gönderilebilmesi için returnResponse çağrılmalıdır.

Söz dizimi

setPixelResponse();

İlişkili izinler

access_response izni gerekir. İzin, en azından aşağıdaki özelliklere erişim izni verilecek şekilde yapılandırılmalıdır:

  • headers - Aşağıdaki anahtarlara izin verilmelidir
    • content-type
    • cache-control
    • expires
    • pragma
  • body
  • status

setResponseBody

Yanıt gövdesini bağımsız değişkene ayarlar.

Yanıtın istemciye geri gönderilebilmesi için returnResponse çağrılmalıdır.

Söz dizimi

setResponseBody(body[, encoding]);

Parametreler

Parametre Type Açıklama
body dize Yanıt gövdesi olarak ayarlanacak değer.
encoding dize Yanıt gövdesinin karakter kodlaması (varsayılan olarak 'utf8' değeridir). Desteklenen değerler şunlardır: 'ascii', 'utf8', 'utf16le', 'ucs2', 'base64', 'latin1', 'binary' ve 'hex'.

İlişkili izinler

access_response izni gerekir. İzin, en azından aşağıdaki özelliklere erişim izni verilecek şekilde yapılandırılmalıdır:

  • body

setResponseHeader

Yanıtta döndürülecek bir başlık ayarlar. Bu ada sahip bir başlık (büyük/küçük harfe duyarlı değil) daha önce bu API tarafından ayarlanmışsa sonraki çağrı, önceden çağrı yapan tarafından belirlenen değerin üzerine yazar veya değeri siler.

Yanıtın istemciye geri gönderilebilmesi için returnResponse çağrılmalıdır.

Söz dizimi

setResponseHeader(name, value);

Parametreler

Parametre Type Açıklama
name dize Başlık adı. HTTP üstbilgi adları büyük/küçük harfe duyarlı değildir. Bu nedenle, başlık adı küçük harfle yazılır.
value dize tanımlanmadı Başlık değeri. Boş veya tanımsızsa bu, adlandırılmış başlığı döndürülecek yanıttan temizler.

İlişkili izinler

access_response izni gerekir. İzin, en azından aşağıdaki özelliklere erişim izni verilecek şekilde yapılandırılmalıdır:

  • headers

setResponseStatus

Döndürülecek yanıtın HTTP durum kodunu ayarlar.

Yanıtın istemciye geri gönderilebilmesi için returnResponse çağrılmalıdır.

Söz dizimi

setResponseStatus(statusCode);

Parametreler

Parametre Type Açıklama
statusCode sayı Döndürülecek HTTP durum kodu.

İlişkili izinler

access_response izni gerekir. İzin, en azından aşağıdaki özelliklere erişim izni verilecek şekilde yapılandırılmalıdır:

  • status

sha256

Girişin SHA-256 özetini hesaplar ve options nesnesi farklı bir çıkış kodlaması belirtmediği sürece Base64 olarak kodlanmış özetle bir geri çağırma çağırır.

Bu API imzası ve davranışı, web kapsayıcıları için sha256 API'siyle eşleşir. Bununla birlikte, sunucu kapsayıcılarındaki Özel Şablonlar daha basit bir kod için sha256Sync API'sini kullanmalıdır.

Örnek

const encodeUriComponent = require('encodeUriComponent');
const sendHttpGet = require('sendHttpGet');
const sha256 = require('sha256');

sha256('inputString', (digest) => {
  sendHttpGet('https://example.com/collect?id=' + encodeUriComponent(digest));
});

sha256('inputString', (digest) => {
  sendHttpGet('https://example.com/collect?id=' + encodeUriComponent(digest));
}, {outputEncoding: 'hex'});

Söz dizimi

sha256(input, onSuccess, options = undefined);

Parametreler

Parametre Type Açıklama
input dize Karma oluşturma işlemi olan dize.
onSuccess işlev options nesnesi farklı bir çıkış kodlaması belirtmediği sürece Base64 olarak kodlanmış sonuç özetiyle çağrılır.
options nesne Çıktı kodlamasını belirtmek için isteğe bağlı seçenekler nesnesi. Belirtilirse nesne base64 veya hex değerlerinden birine sahip outputEncoding anahtarını içermelidir.

İlişkili izinler

Yok.


sha256Sync

options nesnesi farklı bir çıkış kodlaması belirtmediği sürece, Base64 olarak kodlanmış girişin SHA-256 özetini hesaplar ve döndürür.

Örnek

const encodeUriComponent = require('encodeUriComponent');
const sendHttpGet = require('sendHttpGet');
const sha256Sync = require('sha256Sync');

const digestBase64 = sha256Sync('inputString');
const digestHex = sha256Sync('inputString', {outputEncoding: 'hex'});
sendHttpGet('https://example.com/collect?id=' + encodeUriComponent(digestBase64));
sendHttpGet('https://example.com/collect?id=' + encodeUriComponent(digestHex));

Söz dizimi

sha256Sync(input, options = undefined);

Parametreler

Parametre Type Açıklama
input dize Karma oluşturma işlemi olan dize.
options nesne Çıktı kodlamasını belirtmek için isteğe bağlı seçenekler nesnesi. Belirtilirse nesne base64 veya hex değerlerinden birine sahip outputEncoding anahtarını içermelidir.

İlişkili izinler

Yok.


templateDataStorage

Şablon veri depolamasına erişim yöntemleri olan bir nesne döndürür. Şablon veri depolama, verilerin tek bir şablon yürütme işlemi sırasında paylaşılmasını sağlar. Şablon veri depolama alanında depolanan veriler, kapsayıcıyı çalıştıran sunucuda kalır. Çoğu durumda kapsayıcıyı çalıştıran birden fazla sunucu vardır. Bu nedenle, verilerin şablon veri depolama alanında depolanması, sonraki her isteğin verilere erişeceğini garanti etmez.

"templateDataStorage" adındaki "veriler", bu API kullanılarak yalnızca düz, işlevsel olmayan veri türlerinin depolanabileceği anlamına gelir. API'ye aktarılan işlevler veya referanslar bunun yerine null olarak depolanır.

Söz dizimi

const templateDataStorage = require('templateDataStorage');

// Returns a copy of the value stored for the given key, or null if nothing
// is stored with that key.
templateDataStorage.getItemCopy(key);

// Stores a copy of the value for the given key (or removes the data stored
// for the given key if the input value is null).
templateDataStorage.setItemCopy(key, value);

// Removes the value stored for the given key, if present.
templateDataStorage.removeItem(key);

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

Örnek

const sendHttpGet = require('sendHttpGet');
const setResponseBody = require('setResponseBody');
const templateDataStorage = require('templateDataStorage');

// Check to see if the item is in the cache.
const cachedBody = templateDataStorage.getItemCopy(data.key);
if (cachedBody) {
  setResponseBody(cachedBody);
  data.gtmOnSuccess();
  return;
}

sendHttpGet(data.url).then((result) => {
  if (result.statusCode >= 200 && result.statusCode < 300) {
    setResponseBody(result.body);
    templateDataStorage.setItemCopy(data.key, result.body);
    data.gtmOnSuccess();
  } else {
    data.gtmOnFailure();
  }
  setResponseStatus(result.statusCode);
});

İlişkili izinler

access_template_storage


testRegex

Bir dizeyi createRegex API aracılığıyla oluşturulan bir normal ifade ile test eder. Normal ifade eşleşirse true değerini döndürür. Aksi takdirde false değerini döndürür.

Global işaretle oluşturulan bir normal ifade durum bilgilidir. Ayrıntılar için RegExp dokümanlarına göz atın.

Örnek

const createRegex = require('createRegex');
const testRegex = require('testRegex');

const domainRegex = createRegex('\\w+\\.com', 'i');

// createRegex returns null if the regex is invalid or Re2 is not available.
if (domainRegex === null) return;

// Returns true
testRegex(domainRegex, 'example.com/foobar');

Söz dizimi

testRegex(regex, string);

Parametreler

Parametre Type Açıklama
regex Nesne Oluşturulan ve RegRegex API'den döndürülen normal ifade.
string dize Test edilecek dize.

İlişkili izinler

Yok.


toBase64

Bir dizeyi Base64 olarak kodlar.

Söz dizimi

toBase64(input);

Parametreler

Parametre Type Açıklama
input dize Kodlanacak dize.

Örnek

const toBase64 = require('toBase64');

const base64Hello = toBase64('hello');

İlişkili izinler

Yok.


BigQuery

BigQuery işlevlerini sağlayan bir nesneyi döndürür.

BigQuery.insert işlevi, verilerin BigQuery tablosuna yazılmasını sağlar. Başarılı bir eklemeden sonra çözülen veya bir hata olduğunda reddedilen söz döndürür.

Ekleme başarılı olduğunda, vaat bağımsız değişkenler olmadan çözümlenir.

Ekleme başarısız olduğunda, söz, hata nedenini içeren bir nesne listesiyle ve bir hata oluşursa muhtemelen bir satır nesnesiyle reddedilir. İsteğin bir kısmı başarıyla tamamlanırken diğer bölümleri tamamlanmayabilir. Bu durumda, hangi satırların eklendiğini ayırt etmek için her satırda bir hata nesnesi içeren bir hata listesiyle birlikte vaat reddedilir. (Aşağıdaki Hata Örneklerine bakın). Daha fazla bilgi için BigQuery'nin hata mesajları ile ilgili dokümanlarına göz atın.

Söz dizimi

BigQuery.insert(connectionInfo, rows[, options]);

Parametreler

Parametre Type Açıklama
connectionInfo nesne Bir BigQuery tablosuna bağlanmak için gereken bilgileri tanımlar. İsteğe bağlı bir parametre ve iki gerekli parametre vardır:
  • projectId - İsteğe bağlı Google Cloud Platform proje kimliği. Atlanırsa projectId, proje kimliği için access_bigquery izin ayarı * veya GOOGLE_CLOUD_PROJECT olarak ayarlandığı sürece GOOGLE_CLOUD_PROJECT ortam değişkeninden alınır. Sunucu kapsayıcısı Google Cloud'da çalışıyorsa GOOGLE_CLOUD_PROJECT, Google Cloud projesinin kimliğine zaten ayarlanır.
  • datasetId - BigQuery Veri Kümesi Kimliği.
  • tableId - BigQuery Tablosu Kimliği.
rows Dizi Tabloya eklenecek satırlar.
options nesne İsteğe bağlı istek seçenekleri. Desteklenen seçenekler şunlardır: ignoreUnknownValues ve skip InvalidRows. Bilinmeyen seçenek anahtarları yok sayılır. (Aşağıdaki Seçenekler bölümüne bakın.)

Seçenekler

Parametre Type Açıklama
ignoreUnknownValues boole true olarak ayarlanırsa şemayla eşleşmeyen değerler içeren satırları kabul edin. Bilinmeyen değerler yoksayılır. Varsayılan olarak false değerine ayarlanır.
skipInvalidRows boole true olarak ayarlanırsa geçersiz satırlar olsa bile bir isteğin tüm geçerli satırlarını ekleyin. Varsayılan olarak false değerine ayarlanır.

Hata Örnekleri

Modül bulunamadı hatası, sunucu kapsayıcınızın muhtemelen BigQuery modülünü henüz içermeyen bir eski resim sürümünü çalıştırdığı anlamına gelir. Lütfen dağıtım komut dosyamızı kullanarak sunucu kapsayıcınızı aynı ayarlarla yeniden dağıtın. İşlem tamamlandığında modül otomatik olarak eklenir.

Eklenemeyen bir hata genellikle reason anahtarı olan bir hata nesnesi içerir:

[{reason: 'invalid'}]

Ekleme hatası, errors dizisi ve row nesnesi bulunan birden fazla hata nesnesi içerebilir. Aşağıda, yalnızca bir satırın hata içerdiği iki satırın eklenmesinden kaynaklanan bir hata yanıtı örneği verilmiştir:

[
  {
    "errors": [
      {
        "reason":"invalid"
      }
    ],
    "row": {
      "string_col":"otherString",
      "number_col":-3,
      "bool_col":3
    }
  },
  {
    "errors": [
      {
        "reason":"stopped"
      }
    ],
    "row": {
      "string_col":"stringValue",
      "number_col":5,
      "bool_col:false
    }
  }
]

Örnek

const BigQuery = require('BigQuery');

const connectionInfo = {
  'projectId': 'gcp-cloud-project-id',
  'datasetId': 'destination-dataset',
  'tableId': 'destination-table',
};

const rows = [{
  'column1': 'String1',
  'column2': 1234,
}];

const options = {
  'ignoreUnknownValues': true,
  'skipInvalidRows': false,
};

BigQuery.insert(connectionInfo, rows, options)
  .then(data.gtmOnSuccess, data.gtmOnFailure);

İlişkili izinler

access_bigquery


Firestore

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

Bu API yalnızca Yerel modda Firestore'u destekler, Datastore modunda Firestore'u desteklemez.

Firestore.read

Firestore.read işlevi, bir Firestore dokümanındaki verileri okur ve iki anahtar içeren bir nesneye çözümleyen bir vade döndürür: id ve data. Belge yoksa taahhüt, not_found değerine eşit bir reason anahtarı içeren bir nesneyle reddedilir.

Söz dizimi

Firestore.read(path[, options]);

Parametreler

Parametre Type Açıklama
path dize Belgenin veya koleksiyonun yolu. "/" karakteriyle başlamamalı veya bitmemelidir.
options nesne İsteğe bağlı istek seçenekleri. Desteklenen seçenekler şunlardır: projectId, disableCache ve transaction. Bilinmeyen seçenek anahtarları yok sayılır. (Aşağıdaki Seçenekler bölümüne bakın.)

Seçenekler

Parametre Type Açıklama
projectId dize Optional. Google Cloud Platform proje kimliği. Atlanırsa projectId, proje kimliği için access_firestore izin ayarı * veya GOOGLE_CLOUD_PROJECT olarak ayarlandığı sürece GOOGLE_CLOUD_PROJECT ortam değişkeninden alınır. Sunucu kapsayıcısı Google Cloud'da çalışıyorsa GOOGLE_CLOUD_PROJECT, Google Cloud projesinin kimliğine ayarlanır.
disableCache boole Optional. Önbelleğin devre dışı bırakılıp bırakılmayacağını belirler. Önbelleğe alma özelliği varsayılan olarak etkindir. Bu durumda, istek süresince sonuçları önbelleğe alır.
transaction dize Optional. Firestore.runTransaction() ile alınan değer. İşlem içinde kullanılacak işlemi işaretler.

Örnek

const Firestore = require('Firestore');

return Firestore.read('collection/document', {
  projectId: 'gcp-cloud-project-id',
}).then((result) => result.data.key, () => undefined);

Firestore.write

Firestore.write işlevi, verileri bir Firestore dokümanına veya koleksiyonuna yazar. Yol bir koleksiyona giderse rastgele oluşturulan bir kimlikle doküman oluşturulur. Yol bir dokümana aitse ve doküman mevcut değilse bu öğe oluşturulur. Bu API, eklenen veya değiştirilen dokümanın kimliğine çözümlenen bir vaat döndürür. İşlem seçeneği kullanılırsa API yine de bir taahhüt döndürür, ancak yazma işlemleri toplu olduğundan kimliği içermez.

Söz dizimi

Firestore.write(path, input[, options]);

Parametreler

Parametre Type Açıklama
path dize Belgenin veya koleksiyonun yolu. "/" karakteriyle başlamamalı veya bitmemelidir.
input nesne Dokümanda yazılacak değer. Birleştirme seçeneği ayarlanmışsa API, girişteki anahtarları dokümanda birleştirir.
options nesne İsteğe bağlı istek seçenekleri. Desteklenen seçenekler şunlardır: projectId, merge ve transaction. Bilinmeyen seçenek anahtarları yok sayılır. (Aşağıdaki Seçenekler bölümüne bakın.)

Seçenekler

Parametre Type Açıklama
projectId dize Optional. Google Cloud Platform proje kimliği. Atlanırsa projectId, proje kimliği için access_firestore izin ayarı * veya GOOGLE_CLOUD_PROJECT olarak ayarlandığı sürece GOOGLE_CLOUD_PROJECT ortam değişkeninden alınır. Sunucu kapsayıcısı Google Cloud'da çalışıyorsa GOOGLE_CLOUD_PROJECT, Google Cloud projesinin kimliğine ayarlanır.
merge boole Optional. true olarak ayarlanırsa girişteki anahtarları dokümana ekleyin. Aksi takdirde yöntem tüm dokümanı geçersiz kılar. Varsayılan olarak false değerine ayarlanır.
transaction dize Optional. Firestore.runTransaction() ile alınan değer. İşlem içinde kullanılacak işlemi işaretler.

Örnek

const Firestore = require('Firestore');

const input = {key1: 'value1', key2: 12345};

Firestore.write('collection/document', input, {
  projectId: 'gcp-cloud-project-id',
  merge: true,
}).then((id) => {
  data.gtmOnSuccess();
}, data.gtmOnFailure);

Firestore.query

Firestore.query işlevi, belirli bir koleksiyonu sorgular ve sorgu koşullarıyla eşleşen Firestore belgeleri dizisine çözüm getiren bir söz döndürür. Firestore belge nesnesi yukarıda listelenen Firestore.read ile aynı. Sorgu koşullarıyla eşleşen herhangi bir belge yoksa döndürülen söz boş bir diziye çözümlenir.

Söz dizimi

Firestore.query(collection, queryConditions[, options]);

Parametreler

Parametre Type Açıklama
collection dize Koleksiyonun yolu. "/" karakteriyle başlamamalı veya bitmemelidir.
queryConditions Dizi Sorgu koşulları dizisi. Her sorgu üç değere sahip bir dizi biçiminde gelir: anahtar, operatör ve beklenenDeğer. Örneğin: [[‘id’, ‘<’, ‘5’], [‘durum’, ‘==’, ‘CA’]].

Sorgu sonucunu oluşturmak için koşullar birlikte VE ile içlenir. Uyumlu sorgu operatörlerinin listesi için lütfen Firestore sorgu operatörlerine bakın.
options nesne İsteğe bağlı istek seçenekleri. Desteklenen seçenekler şunlardır: projectId, disableCache, limit ve transaction. Bilinmeyen seçenek anahtarları yok sayılır. (Aşağıdaki Seçenekler bölümüne bakın.)

Seçenekler

Parametre Type Açıklama
projectId dize Optional. Google Cloud Platform proje kimliği. Atlanırsa projectId, proje kimliği için access_firestore izin ayarı * veya GOOGLE_CLOUD_PROJECT olarak ayarlandığı sürece GOOGLE_CLOUD_PROJECT ortam değişkeninden alınır. Sunucu kapsayıcısı Google Cloud'da çalışıyorsa GOOGLE_CLOUD_PROJECT, Google Cloud projesinin kimliğine ayarlanır.
disableCache boole Optional. Önbelleğin devre dışı bırakılıp bırakılmayacağını belirler. Önbelleğe alma özelliği varsayılan olarak etkindir. Bu durumda, istek süresince sonuçları önbelleğe alır.
limit sayı Optional. Sorgu tarafından döndürülen maksimum sonuç sayısını değiştirir, varsayılan olarak 5 değerine ayarlanır.
transaction dize Optional. Firestore.runTransaction() ile alınan değer. İşlem içinde kullanılacak işlemi işaretler.

Örnek

const Firestore = require('Firestore');

const queries = const queries = [['id', '==', '5']];

return Firestore.query('collection', queries, {
  projectId: 'gcp-cloud-project-id',
  limit: 1,
}).then((documents) => documents[0].data.key, () => undefined);

Firestore.runTransaction

Firestore.runTransaction işlevi, kullanıcının Firestore'da atom okumasını ve yazmasını sağlar. Eşzamanlı yazma veya başka bir işlem çakışması oluşursa işlem en fazla iki kez yeniden denenir. Toplam üç denemeden sonra başarısız olursa API bir hatayla reddedilir. Bu API, işlem başarılı olursa her yazma işlemi için bir dizi belge kimliği ile çözümlenen bir vaat döndürür ve işlem başarısız olursa hatayla karşılaşır.

Söz dizimi

Firestore.runTransaction(callback[, options]);

Parametreler

Parametre Type Açıklama
callback işlev Dize işlem kimliğiyle çağrılan bir geri çağırma. İşlem kimliği, okuma/yazma/sorgu API çağrılarına iletilebilir. Bu geri çağırma işlevi bir vaat döndürmelidir. Geri çağırma, hata gerçekleşmeden önce en fazla üç kez çalıştırılabilir.
options nesne İsteğe bağlı istek seçenekleri. Desteklenen tek seçenek projectId'dir. Bilinmeyen seçenek anahtarları yok sayılır. (Aşağıdaki Seçenekler bölümüne bakın.)

Seçenekler

Parametre Type Açıklama
projectId dize Optional. Google Cloud Platform proje kimliği. Atlanırsa projectId, proje kimliği için access_firestore izin ayarı * veya GOOGLE_CLOUD_PROJECT olarak ayarlandığı sürece GOOGLE_CLOUD_PROJECT ortam değişkeninden alınır. Sunucu kapsayıcısı Google Cloud'da çalışıyorsa GOOGLE_CLOUD_PROJECT, Google Cloud projesinin kimliğine ayarlanır.

Örnek

const Firestore = require('Firestore');

const path = 'collection/document';
const projectId = 'gcp-cloud-project-id';

Firestore.runTransaction((transaction) => {
  const transactionOptions = {
    projectId: projectId,
    transaction: transaction,
  };
  // Must return a promise.
  return Firestore.read(path, transactionOptions).then((result) => {
    const newInputCount = result.data.inputCount + 1;
    const input = {key1: 'value1', inputCount: newInputCount};
    return Firestore.write(path, input, transactionOptions);
  });
}, {
  projectId: projectId
}).then((ids) => {
  data.gtmOnSuccess();
}, data.gtmOnFailure);

Hata Örneği

Her Firestore işlevinde bulunan hatalar, reason anahtarı içeren bir nesneyle reddedilir:

Firestore.read(...).then(onSuccess, (error) => {
  if (error.reason === 'unknown') {
    // Handle the unknown error here.
  }
});

Hata nedenleri, Firestore REST API Hata Kodlarını içerebilir ancak bunlarla sınırlı değildir.

İlişkili izinler

access_firestore


JSON

JSON işlevlerini sağlayan bir nesneyi döndürür.

parse() işlevi, dizenin açıkladığı değeri veya nesneyi oluşturmak için bir JSON dizesi ayrıştırır. Değer ayrıştırılamadıysa (ör. hatalı JSON) işlev undefined değerini döndürür. Giriş değeri bir dize değilse giriş bir dizeye zorlanır.

stringify() işlevi, girişi bir JSON dizesine dönüştürür. Değer ayrıştırılamadıysa (ör. nesnenin bir döngüsü varsa) yöntem undefined değerini döndürür.

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

Söz dizimi

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

İlişkili izinler

Yok.


Math

Math işlevlerini 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 rakamlara dönüştürülür.

İlişkili izinler

Yok.


Messages

Aşağıdaki API'ler, bir kapsayıcının farklı bölümleri arasında mesaj iletimine olanak tanımak için birlikte çalışır.


addMessageListener

Belirli türde bir mesajı dinleyen bir işlev ekler. Bu tür bir mesaj sendMessage API kullanılarak gönderildiğinde (genellikle bir etiket tarafından) geri çağırma eşzamanlı olarak çalıştırılır. Geri çağırma iki parametreyle çalıştırılır:

  1. messageType:string
  2. message:Object

Geri çağırma bir istemciye eklenirse istemci, istemcinin oluşturduğu tüm etkinliklerden mesaj alır. Geri çağırma yalnızca belirli bir etkinlikten mesaj alacaksa runContainer API'nin onStart işlevinde bindToEvent kullanarak bu API'yi etkinliğe bağlayın. Örneği inceleyin.

Söz dizimi

const addMessageListener = require('addMessageListener');

addMessageListener('send_pixel', (messageType, message) => {
  // This will be run whenever something sends a 'send_pixel' message.
});

Parametreler

Parametre Type Açıklama
messageType dize Dinlenecek mesaj türü. Değer bir dize değilse dizeye zorlanır.
callback işlev Geçerli mesaj türünde bir mesaj gönderildiğinde çalıştırılacak geri çağırma. Geri çağırma bir işlev değilse API hiçbir şey yapmaz.

Örnek

const addMessageListener = require('addMessageListener');
const claimRequest = require('claimRequest');
const extractEventsFromMpv1 = require('extractEventsFromMpv1');
const returnResponse = require('returnResponse');
const runContainer = require('runContainer');

claimRequest();
addMessageListener('send_pixel', (messageType, message) => {
  // This will be run whenever a tag sends a 'send_pixel' message.
});

const events = extractEventsFromMpv1();
let eventsCompleted = 0;
events.forEach((event, i) => {
  runContainer(events[i], /* onComplete= */ () => {
    if (events.length === ++eventsCompleted) {
      returnResponse();
    }
  }, /* onStart= */ (bindToEvent) => {
    if (i === 0) {
      bindToEvent(addMessageListener)('send_pixel', (messageType, message) => {
        // This will be called whenever a tag for the first event sends a
        // 'send_pixel' message.
      });
    }
  });
});

İlişkili izinler

use_message izni gerekir. İzin, en azından aşağıdaki izinlere izin verecek şekilde yapılandırılmalıdır:

  • Usage/listen veya listen_and_send değerini içeren bir mesaj türü.

hasMessageListener

Belirtilen mesaj türü için bir mesaj dinleyici eklenmişse doğru değerini döndürür. Aksi takdirde yanlış değerini döndürür.

Söz dizimi

const hasMessageListener = require('hasMessageListener');

hasMessageListener('send_pixel');

İlişkili izinler

Yok.


sendMessage

Kayıtlı bir dinleyiciye belirtilen türde bir ileti gönderir. Bu, bir etiketten container'ı çalıştıran istemciye mesaj göndermek için kullanılabilir.

Söz dizimi

const sendMessage = require('sendMessage');

sendMessage('send_pixel', {url: 'https://analytics.example.com/collect'});

Parametreler

Parametre Type Açıklama
messageType dize Gönderilecek mesaj türü. Değer bir dize değilse dizeye zorlanır.
message nesne Gönderilecek mesaj. Mesaj bir nesne değilse API hiçbir işlem yapmaz.

İlişkili izinler

use_message izni gerekir. İzin, en azından aşağıdaki izinlere izin verecek şekilde yapılandırılmalıdır:

  • Usage/listen_and_send veya send değerini içeren bir mesaj türü.

Object

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

keys() yöntemi, Object.keys() Standart Kitaplığı'nın davranışını sağlar. Belirli bir nesnenin kendi numaralandırma özelliği adlarının dizisini, for...in... döngüsüyle aynı sırayla döndürür. Giriş değeri bir nesne değilse bir nesneye zorlanır.

values() yöntemi, Object.values() Standart Kitaplığı davranışını sağlar. Belirli bir nesnenin kendi numaralandırma özelliği değerlerinin dizisini, for...in... döngüsüyle aynı sırayla döndürür. Giriş değeri bir nesne değilse bir nesneye zorlanır.

entries() yöntemi, Object.entries() Standart Kitaplığı'nın davranışını sağlar. Belirli bir nesnenin kendi numaralandırma özelliği dizisini, for...in... döngüsüyle aynı sırayla döndürür.[key, value] Giriş değeri nesne değilse bir nesneye zorlanır.

freeze() yöntemi, Object.dondurma() Standart Kitaplığı'nın davranışını sağlar. Dondurulmuş bir nesne artık değiştirilemez; bir nesnenin dondurulması yeni özelliklerin eklenmesini, mevcut özelliklerin kaldırılmasını ve mevcut özelliklerin değerlerinin değiştirilmesini engeller. freeze(), iletilen nesneyi döndürür. Temel veya boş bağımsız değişkenler, donmuş bir nesne gibi ele alınır ve döndürülür.

delete() yöntemi, Standart Kitaplık silme operatörü davranışı sağlar. Nesne donmadığı sürece verilen anahtarı nesneden kaldırır. Standart giriş silme operatörü gibi ilk giriş değeri (objectInput) de mevcut olmayan bir anahtar belirtse bile dondurulmayan bir nesneyse true değerini döndürür.keyToDelete Diğer tüm durumlarda false değerini döndürür. Ancak şu açıdan Standart Kitaplık silme operatöründen farklıdır:

  • keyToDelete, iç içe yerleştirilmiş bir anahtarı belirten noktayla ayrılmış bir dize olamaz.
  • delete(), dizideki öğeleri kaldırmak için kullanılamaz.
  • delete(), global kapsamdaki herhangi bir mülkü 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 Type Açıklama
nesne Girişi herhangi biri Anahtarları numaralandıracak nesne. Giriş bir nesne değilse bir nesneye zorlanır.

Nesne.değerleri

Parametre Type Açıklama
nesne Girişi herhangi biri Değerleri numaralandırılacak nesne. Giriş bir nesne değilse bir nesneye zorlanır.

Object.entries

Parametre Type Açıklama
nesne Girişi herhangi biri Anahtar/değer çiftlerinin numaralandırılacağı nesne. Giriş bir nesne değilse bir nesneye zorlanır.

Object.dondurma

Parametre Type Açıklama
nesne Girişi herhangi biri Dondurulacak nesne. Giriş bir nesne değilse dondurulmuş bir nesne olarak değerlendirilir.

Object.delete

Parametre Type Açıklama
nesne Girişi herhangi biri Anahtarı silinecek nesne.
KeyToDelete tuşu dize Silinecek ü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.

Promise

Sözlerle etkileşimde bulunma yöntemleri sağlayan bir nesne döndürür.

Vaatler, işlevsel olarak JavaScript vaatlerine eşdeğerdir. Bir vaatin gerçekleşmesi durumunda daha fazla işleme olanak tanıyan her yöntemin, söz verdiği gibi üç yöntemi vardır:

  • .then() - Hem sonlandırılan hem de reddedilen destek kayıtlarını inceler. Biri başarılı, diğeri başarısız olmak üzere iki geri çağırma parametresi içerir.
  • .catch() - Yalnızca reddedilen destek kayıtlarını inceler. Bir geri çağırmayı parametre olarak alır.
  • .finally() - Vakanın çözülmesi veya reddedilmesi durumunda kodun çalıştırılması için bir yol sağlar. Bağımsız değişken olmadan çağrılan bir parametre olarak bir geri çağırma alır.

Bir vaatte bulunan değişken, vaatin çözümlenen değerine veya vaat reddedilirse false değerine eşittir.

Örnek

promise.then((resolvedValue) => {
    // Handles when promise resolves.
  }, (rejectedValue) => {
    // Handles when promise rejects.
  });
promise.catch((rejectedValue) => {
    // Handles when promise rejects.
  });
promise.finally(() => {
    // Runs regardless of whether or not the previous promise resolves or
    // rejects.
  });

Promise.all

Aşağıdakilerden birini vadeder:

  • Tüm girişler çözüldüğünde veya
  • girişlerden herhangi biri reddedildiğinde reddedilir

Söz dizimi

Promise.all(inputs);

Parametreler

Parametre Type Açıklama
inputs Dizi Bir değerler veya vaat dizisi. Giriş bir vaat değilse söz, vaadin çözümlenmiş değeri gibi iletilir. Giriş bir dizi değilse hata verir.

Örnek

const Promise = require('Promise');
const sendHttpGet = require('sendHttpGet');

return Promise.all(['a', sendHttpGet('https://example.com')])
  .then((results) => {
    // results will equal: ['a', {statusCode: 200, headers: {}, body: ''}]
  });

İlişkili izinler

Yok.

Promise.create

JavaScript vaadine işlevsel olarak eşdeğer olan bir vaat oluşturur.

Söz dizimi

Promise.create(resolver);

Parametreler

Parametre Type Açıklama
resolver işlev İki işlevle çağrılan işlev. Çözüm ve reddet. Karşılık gelen parametre çağrıldığında, döndürülen söz çözümlenir veya reddedilir. Çözümleyici bir işlev değilse hata verir.

Örnek

const Promise = require('Promise');

return Promise.create((resolve, reject) => {
  // Do asynchronous work that eventually calls resolve() or reject()
});

İlişkili izinler

Yok.

Test API'leri

Bu API'ler, Google Etiket Yöneticisi'ndeki özel şablonlar için testler oluşturmak amacıyla, korumalı alana sahip JavaScript testleri ile çalışır. Bu test API'lerinin require() ifadesi olması gerekmez. [Özel şablon testleri hakkında daha fazla bilgi edinin].


assertApi

Belirtilen API hakkında akıcı bir şekilde iddialar oluşturmak için kullanılabilecek bir eşleştirici nesnesi döndürür.

Söz dizimi

assertApi(apiName)

Parametreler

Parametre Type Açıklama
apiName dize Kontrol edilecek API'nin adı. require() için iletilen dize.

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, Google'ın [True] kitaplığından modellenir. Bir öznenin değeri hakkında hızlı bir şekilde iddialar oluşturmak için kullanılabilecek bir nesne döndürür. Bir dağıtım hatası, testi hemen durdurur ve başarısız olarak işaretler. Bununla birlikte, bir testteki hata diğer test durumlarını etkilemez.

Söz dizimi

assertThat(actual, opt_message)

Parametreler

Parametre Type Açıklama
actual herhangi biri Akıcı kontrollerde kullanılacak değer.
opt_message dize Onaylama başarısız olursa yazdırılacak isteğe bağlı mesaj.

Eşleyiciler

Eşleştirici Açıklama
isUndefined() Konunun undefined olduğu iddia ediliyor.
isDefined() Konunun undefined olmadığını doğrulayan iddialar.
isNull() Konunun null olduğu iddia ediliyor.
isNotNull() Konunun null olmadığını doğrulayan iddialar.
isFalse() Konunun false olduğu iddia ediliyor.
isTrue() Konunun true olduğu iddia ediliyor.
isFalsy() Nesnenin sahte olduğunu iddia eden içerikler. Hatalı değerler: undefined, null, false, NaN, 0 ve '' (boş dize).
isTruthy() Konunun güvenilmez olduğu iddia ediliyor. Hatalı değerler: undefined, null, false, NaN, 0 ve '' (boş dize).
isNaN() Konunun NaN olduğunu iddia eder.
isNotNaN() Konunun, NaN dışında bir değerde olduğunu iddia edebilir.
isInfinity() Nesnenin pozitif veya negatif sonsuz olduğuna dair iddialar.
isNotInfinity() Nesnenin pozitif veya negatif Infinity dışında bir değerde olduğunu iddia eden.
isEqualTo(expected) Konunun belirtilen değere eşit olduğunu iddia eder. Bu bir referans karşılaştırması değil, değer karşılaştırmasıdır. Nesne ve dizilerin içerikleri düzenli olarak karşılaştırılır.
isNotEqualTo(expected) Konunun belirtilen değere eşit olmadığını iddia eden. Bu bir referans karşılaştırması değil, değer karşılaştırmasıdır. Nesne ve dizilerin içerikleri düzenli olarak karşılaştırılır.
isAnyOf(...expected) Konunun belirtilen değerden birine eşit olduğunu iddia eder. Bu bir referans karşılaştırması değil, değer karşılaştırmasıdır. Nesne ve dizilerin içerikleri düzenli olarak karşılaştırılır.
isNoneOf(...expected) Konunun, belirtilen değerlerin hiçbirine eşit olmadığını iddia eden. Bu bir referans karşılaştırması değil, değer karşılaştırmasıdır. Nesne ve dizilerin içerikleri düzenli olarak karşılaştırılır.
isStrictlyEqualTo(expected) Konunun, belirtilen değere tamamen eşit (===) olduğunu iddia eder.
isNotStrictlyEqualTo(expected) Konunun belirtilen değere kesinlikle eşit olmadığını (!==) iddia eder.
isGreaterThan(expected) Sıralanmış bir karşılaştırmada öznenin belirtilen değerden (>) büyük olduğu iddia edilir.
isGreaterThanOrEqualTo(expected) Sıralanmış bir karşılaştırmada öznenin belirli bir değerden büyük veya bu değere eşit (>=) olduğunu iddia eder.
isLessThan(expected) Sıralanmış bir karşılaştırmada öznenin, belirtilen değerden (<) küçük olduğunu iddia eder.
isLessThanOrEqualTo(expected) Sıralanmış karşılaştırmada öznenin belirli bir değerden küçük veya ona eşit (<=) olduğunu iddia eder.
contains(...expected) Konunun, belirtilen değerlerin tümünü herhangi bir sırada içeren bir dizi veya dize olduğu iddia edilir. Bu bir referans karşılaştırması değil, değer karşılaştırmasıdır. Nesne ve dizilerin içerikleri düzenli olarak karşılaştırılır.
doesNotContain(...expected) Konunun, belirtilen değerlerden hiçbirini içermeyen bir dizi veya dize olduğunu iddia eder. Bu bir referans karşılaştırması değil, değer karşılaştırmasıdır. Nesne ve dizilerin içerikleri düzenli olarak karşılaştırılır.
containsExactly(...expected) Konunun, belirtilen değerlerin tümünü herhangi bir sırada içeren, başka hiçbir değer içermeyen bir dizi olduğu iddia edilir. Bu bir referans karşılaştırması değil, değer karşılaştırmasıdır. Nesne ve dizilerin içerikleri düzenli olarak karşılaştırılır.
doesNotContainExactly(...expected) Konunun, herhangi bir sıralamayla belirli bir değer grubundan farklı bir değer grubuna sahip olduğunu doğrulayan bir dizi. Bu bir referans karşılaştırması değil, değer karşılaştırmasıdır. Nesne ve dizilerin içerikleri düzenli olarak karşılaştırılır.
hasLength(expected) Konunun, belirtilen uzunlukta bir dizi veya dize olduğu iddiasında bulunur. Değer bir dizi veya dize değilse onay her zaman başarısız olur.
isEmpty() Konunun boş bir dizi veya dize olduğu iddia edilir (length = 0). Değer bir dizi veya dize değilse onay her zaman başarısız olur.
isNotEmpty() Konunun boş olmayan bir dizi veya dize olduğu iddiasındadır (uzunluk > 0). Değer bir dizi veya dize değilse onay her zaman başarısız olur.
isArray() Konu türünün dizi olduğunu iddia eder.
isBoolean() Konu türünün boole olduğu iddiasındadır.
isFunction() Özne türünün fonksiyon olduğu iddiasında bulunur.
isNumber() Konu türünün sayı olduğu iddiasında bulunur.
isObject() Konu türünün nesne olduğunu iddia eder.
isString() Konu türünün bir dize olduğunu iddia eder.

Ö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

Geçerli test hemen başarısız olur ve varsa belirtilen mesajı yazdırır.

Söz dizimi

fail(opt_message);

Parametreler

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

Örnek

fail('This test has failed.');

mock

mock API, Korumalı Alana Sahip API'lerin davranışını geçersiz kılmanıza olanak tanır. Sahte API'nin şablon kodunda kullanımı güvenlidir, ancak test modunda değilken operasyonel değildir. Örnekler, her test çalıştırılmadan önce sıfırlanır.

Söz dizimi

mock(apiName, returnValue);

Parametreler

Parametre Type Açıklama
apiName dize Sahte API'nin adı (require() ile aynı dize)
returnValue herhangi biri API için döndürülen değer veya API yerine çağrılan işlev. returnValue bir işlevse bu işlev, Korumalı Alana Alınan API'nin yerine çağrılır. returnValue bir işlev dışında bir değerse bu değer, Korumalı Alanlı API'nin yerine döndürülür.

Örnekler

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

runCode

Şablonun kodunu (ör. Kod sekmesinin içeriğini) belirli bir giriş veri nesnesiyle mevcut test ortamında çalıştırır.

Söz dizimi

runCode(data)

Parametreler

Parametre Type Açıklama
data nesne Testte kullanılacak veri nesnesi.

İade Değeri

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

Örnek

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