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.
|
İ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
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
getClientName
Mevcut istemcinin adını içeren bir dize döndürür.
Söz dizimi
getClientName();
İlişkili izinler
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
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
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
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
veX-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
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
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
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
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
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
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
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
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.
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
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.) |
- 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
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. |
- 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
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
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.
|
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.
- Varsa
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 demax-age
ayarlanmışsamax-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 demax-age
ayarlanmışsamax-age
önceliklidir.path: İstenen URL'de bulunması gereken bir yol veya tarayıcı, Çerez üstbilgisini göndermez.
secure:
true
olarak ayarlanırsa çerez yalnızcahttps:
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
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 verilmelidircontent-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
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]);
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:
|
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.) |
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. |
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
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]);
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.) |
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.) |
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]);
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.) |
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.) |
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);
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
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:
messageType:string
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
veyalisten_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
veyasend
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'});