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. İlgili içeriği oluşturmak için kullanılan Etkinliğe ilişkin tüm etiketler yürütüldüğünde geri çağırma yapılır. İlgili içeriği oluşturmak için kullanılan geri çağırma iki değer iletir: işlevi çağıran kapsayıcının kimliği ve etkinlikle ilgili bilgileri içeren bir nesne içerir.
Bu API bir etikette kullanıldığında geçerli etkinlikle ilişkilendirilir. Bu
API bir istemcide kullanılıyorsa
runContainer
API'nin bindToEvent
işlevi. Bkz.
example.
Söz dizimi
const addEventCallback = require('addEventCallback');
addEventCallback((containerId, eventData) => {
// Take some action based on the event data.
});
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
callback |
işlev | Etkinliğin sonunda çağrılacak işlev. |
eventData
nesnesi aşağıdaki verileri içerir:
Anahtar Adı | Tür | Açıklama |
---|---|---|
tags |
Dizi |
Etiket verisi nesneleri dizisi. Etkinlik sırasında tetiklenen her etiket
bu dizide bir giriş olacaktır. Etiket veri nesnesi,
etiketin kimliği (id ), yürütme durumu
(status ) ve yürütme zamanı
(executionTime ). Etiket verileri,
etiket meta verileri için geçerlidir.
|
İ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şkilendirilmiş izinler
callLater
Bir işleve eşzamansız olarak gerçekleşecek bir çağrı planlar. Fonksiyon
çağrılması gerekir. Bu,
setTimeout(<function>, 0)
Örnek
const callLater = require('callLater');
const logToConsole = require('logToConsole');
callLater(() => {
logToConsole('Logged asynchronously');
});
Söz dizimi
callLater(function)
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
function |
işlev | Çağrılacak işlev. |
İlişkilendirilmiş izinler
Yok.
claimRequest
İsteği talep etmek için bu API'yi bir istemcide kullanın. Bir talepte bulunulduktan sonra ek istemci çalıştırmadığından emin olun.
Bu API, bir etiket veya değişken içinde çağrılırsa bir istisna uygular. Bu API bir
istemci geri döndükten sonra çağrılırsa istisna (ör. eşzamansız bir şekilde çağrılırsa)
geri çağırması için (callLater
veya runContainer
onComplete
işlevinde olduğu gibi) emin olun.
Bir istemci, isteği çağırmadan önce bu API'yi kullanarak hak talebinde bulunmalıdır.
runContainer
API.
Örnek
const claimRequest = require('claimRequest');
claimRequest();
Söz dizimi
claimRequest();
İlişkilendirilmiş izinler
Yok.
computeEffectiveTldPlusOne
Belirli bir alan adının veya URL'nin geçerli üst düzey alan adı + 1'ini (eTLD+1) döndürür. eTLD+1, alan Genel Son Ek Listesi'ne göre değerlendirilerek hesaplanır kurallar. eTLD+1 genellikle bir çerez.
Bağımsız değişken boşsa veya tanımlanmamışsa bağımsız değişken değeri döndürülür korunabilir. Aksi takdirde, bağımsız değişken bir dizeye zorlanır. Bağımsız değişken bir geçerli alan adı veya URL içeriyorsa boş bir dize döndürülür. Sunucu genel sonek listesini getirirseniz 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 | Tür | Açıklama |
---|---|---|
domainOrUrl |
dize | eTLD+1'in hesaplanacağı bir alan adı veya URL. |
İlişkilendirilmiş izinler
Yok.
createRegex
Yeni bir normal ifade örneği oluşturur ve bunu bir nesneye sarmalanmış olarak döndürür. Yapamayacağınız işlemler:
normal ifadeye doğrudan erişin. Ancak bunu testRegex
API'ye aktarabilirsiniz.
String.replace()
, String.match()
ve String.search()
.
Normal ifade geçersizse veya Re2 sunucuda kullanılamıyorsa null
değerini döndürür.
Bu API bir Re2 kullanır hakkında bilgi edindiniz. Sunucu Docker görüntüsü, 2.0.0 veya sonraki sürümlerde 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 | Tür | 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)" desteklenir. Diğer tüm karakterler sessizce yok saydı. |
İlişkilendirilmiş izinler
Yok.
Minimum görüntü sürümü
decodeUri
Sağlanan URI'daki kodlanmış karakterlerin kodunu çözer. Şu dizeyi döndürür: dize
kodu çözülmüş URI'yı temsil eder. Geçersiz değer sağlandığında undefined
değerini döndürür
giriş.
Örnek
const decodeUri = require('decodeUri');
const decodedUrl = decodeUri(data.encodedUrl);
if (decodedUrl) {
// ...
}
Söz dizimi
decodeUri(encoded_uri);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
encoded_uri |
dize |
Aşağıdakiler tarafından kodlanan bir URI
encodeUri() veya başka yollarla.
|
İlişkilendirilmiş izinler
Yok.
decodeUriComponent
Sağlanan URI bileşenindeki kodlanmış karakterlerin kodunu çözer. Şunu döndürür:
string (dize kodu çözülmüş URI bileşenini temsil eder). Şu durumda undefined
değerini döndürür:
Geçersiz giriş verildi.
Örnek
const decodeUriComponent = require('decodeUriComponent');
const decodedQuery = decodeUriComponent(data.query);
if (decodedQuery) {
// ...
}
Söz dizimi
decodeUriComponent(encoded_uri_component);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
encoded_uri_component |
dize |
Aşağıdakiler tarafından kodlanan bir URI bileşeni:
encodeUriComponent()
başka yollarla bilgilendirilmez.
|
İlişkilendirilmiş izinler
Yok.
encodeUri
Özel çıkış yaparak kodlanmış Tekdüzen Kaynak Tanımlayıcısı (URI) döndürür. karakteri ekleyin. Sağlanan dizeyi temsil eden ve kodlanmış bir dize değerini döndürür. kullanabilirsiniz.
Örnek
const encodeUri = require('encodeUri');
const sendHttpGet = require('sendHttpGet');
sendHttpGet('https://www.example.com/' + encodeUri(pathInput));
Söz dizimi
encodeUri(uri);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
uri |
dize | Tam URI. |
İlişkilendirilmiş izinler
Yok.
encodeUriComponent
Özel çıkış yaparak kodlanmış Tekdüzen Kaynak Tanımlayıcısı (URI) döndürür. karakteri ekleyin. Aşağıdaki şekilde kodlanmış, sağlanan dizeyi temsil eden bir dize değerini döndürür: URI'dır.
Örnek
const encodeUriComponent = require('encodeUriComponent');
const sendHttpGet = require('sendHttpGet');
sendHttpGet('https://www.example.com/?' + encodeUriComponent(queryInput));
Söz dizimi
encodeUriComponent(str);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
str |
dize | URI'nın bir bileşeni. |
İlişkilendirilmiş izinler
Yok.
extractEventsFromMpv1
Gelen Measurement Protocol V1 isteğini Birleştirilmiş Şema biçimi. Ayıklanan etkinliklerin listesini döndürür. Şu durumda hata verir: istek doğru biçimde değildir.
Ö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şkilendirilmiş izinler
read_request
izni gerektirir. İznin aşağıdaki şekilde yapılandırılması gerekir:
en az şunlara erişim izni ver:
body
query parameters
extractEventsFromMpv2
Gelen Measurement Protocol V2 isteğini Birleştirilmiş Şema biçimi. Ayıklanan etkinliklerin listesini döndürür. Şu durumda hata verir: istek doğru biçimde değildir.
Ö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şkilendirilmiş izinler
read_request
izni gerektirir. İznin aşağıdaki şekilde yapılandırılması gerekir:
en az şunlara erişim izni ver:
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 | Tür | Açıklama |
---|---|---|
base64EncodedString |
dize | Base64 olarak kodlanmış dize. |
Örnek
const fromBase64 = require('fromBase64');
const greeting = fromBase64('aGVsbG8=');
if (greeting === 'hello') {
// ...
}
İlişkilendirilmiş izinler
Yok.
generateRandom
Belirli bir aralık içinde 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 | Tür | Açıklama |
---|---|---|
min |
sayı | Döndürülen tam sayının minimum potansiyel değeri (bu değerler dahil). |
max |
sayı | Döndürülen tam sayının maksimum potansiyel değeri (bu değerler dahil). |
İlişkilendirilmiş izinler
Yok.
getAllEventData
Etkinlik verilerinin bir kopyasını döndürür.
Söz dizimi
getAllEventData();
İlişkilendirilmiş izinler
getClientName
Geçerli istemcinin adını içeren bir dize döndürür.
Söz dizimi
getClientName();
İlişkilendirilmiş izinler
getContainerVersion
Geçerli kapsayıcıyla ilgili verileri içeren bir nesne döndürür. Döndürülen nesnesi aşağıdaki alanları içerir:
{
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şkilendirilmiş 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 | Tür | Açıklama |
---|---|---|
name |
dize | Çerezin adı. |
noDecode |
boole |
true ise çerez değerlerinin kodu dönüştürülmeden önce çözülmez
geri döndü. Varsayılan olarak false değerine ayarlanır.
|
İlişkilendirilmiş izinler
getEventData
Etkinlik verilerinde belirtilen yoldaki değerin bir kopyasını döndürür. İadeler
Etkinlik verisi yoksa veya belirtilen yolda bir değer yoksa undefined
.
Örnek
const getEventData = require('getEventData');
const campaignId = getEventData('campaign.id');
const itemId = getEventData('items.0.id');
const referrer = getEventData('page_referrer');
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
keyPath |
herhangi biri |
Yol bileşenlerinin noktalarla ayrıldığı anahtar yolu. İlgili içeriği oluşturmak için kullanılan
yol bileşenleri, nesnedeki anahtarlar veya dizideki dizinler olabilir. Eğer
keyPath bir dize değil, dizeye zorlanmış.
|
Söz dizimi
getEventData(keyPath);
İlişkilendirilmiş izinler
getGoogleAuth
Şununla kullanıldığında bir yetkilendirme nesnesi döndürür:
sendHttpGet
veya sendHttpRequest
şunu yapacak:
Google Cloud API'leri için bir yetkilendirme üstbilgisi ekleyin. Bu API,
Application Default Credentials (Uygulama Varsayılan Kimlik Bilgileri) ile
sunucu ortamına geçer.
Örnek
const getGoogleAuth = require('getGoogleAuth');
const logToConsole = require('logToConsole');
const sendHttpGet = require('sendHttpGet');
const auth = getGoogleAuth({
scopes: ['https://www.googleapis.com/auth/datastore']
});
sendHttpGet(
'https://firestore.googleapis.com/v1/projects/my-project/databases/(default)/documents/collection/document',
{authorization: auth}
).then((result) => {
if (result.statusCode >= 200 && result.statusCode < 300) {
logToConsole('Result: ' + result.body);
data.gtmOnSuccess();
} else {
data.gtmOnFailure();
}
});
Söz dizimi
getGoogleAuth(scopes);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
scopes
|
Dizi | Bir dizi OAuth 2.0 Google API kapsamları erişim iste. |
İlişkilendirilmiş izinler
use_google_credentials
izni gerektirir. İznin:
bir veya daha fazla izin verilen kapsamla yapılandırıldı.
getGoogleScript
Önceden belirlenmiş Google komut dosyaları kümesinden bir kaynak alır ve bir komut dosyası ve ilişkili önbelleğe alma meta verileriyle birlikte profesyonel.
Söz konusu eylem, şu iki anahtar içeren bir nesneye çözümlenir: script
ve
metadata
. İstek başarısız olursa taahhüt bir reason
anahtarıyla reddedilir.
metadata
nesnesi, aşağıdakilere dayalı olarak aşağıdaki önbelleğe alma meta verilerini içerir:
kaynak yanıt başlıkları; her alan yalnızca ilgili
başlığın kaynak yanıtında bulunması gerekir.
{
'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 | Tür | 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 .'GTAG' seçeneği, global site etiketini (gtag.js) getirir
komut dosyası, https://www.googletagmanager.com/gtag/js kaynağından.'GTM' seçeneği, Google Etiket Yöneticisi'ni getirir
komut dosyası, https://www.googletagmanager.com/gtm.js kaynağından.
|
options |
nesne | İsteğe bağlı istek seçenekleri. Desteklenen seçenekler için aşağıya bakın. |
Seçenekler
Option | Tür | Açıklama |
---|---|---|
id |
dize |
gtag ölçüm kimliğine sahip 'GTAG' ve
Web kapsayıcısı kimliğiyle 'GTM' (ör. GTM-XXXX) ile uyumludur.
|
debug |
herhangi biri | Doğruysa ölçümün hata ayıklama sürümünü ister ve döndürür komut dosyası. |
timeout |
sayı |
Milisaniye cinsinden istek zaman aşımı; pozitif olmayan değerler yoksayılır. Eğer
istek zaman aşımına uğrarsa geri çağırma
Komut dosyası değeri için undefined ve için {}
meta veri nesnesini tanımlayın.
|
Tanınmayan seçenek tuşları yoksayılır.
İlişkilendirilmiş izinler
send_http
izni gerektirir. İznin, izin vermek üzere
en az şunlara erişin:
- Google alan adlarına izin ver
getRemoteAddress
İsteğin gerçekleştiği IP adresinin dize gösterimini döndürür
kaynak, ör. IPv4 veya 2001:0db8:85a3:0:0:8a2e:0370:7334
için 12.345.67.890
için, Yönlendirilen ve X-Yönlendirilen-İç gibi istek başlıklarını okuyabilirsiniz.
Not: Bu API, kaynak IP'yi bulmak için en iyi çabayı gösterir ancak
sonucun doğru olacağını garanti edemez.
Söz dizimi
getRemoteAddress();
İlişkilendirilmiş izinler
read_request
izni gerektirir. İznin aşağıdaki şekilde yapılandırılması gerekir:
en az şunlara erişim izni ver:
- Başlıklar
Forwarded
veX-Forwarded-For
- Uzak IP Adresi
getRequestBody
İstek gövdesini dize (mevcutsa) veya undefined
(varsa) olarak döndürür.
Söz dizimi
getRequestBody();
İlişkilendirilmiş izinler
getRequestHeader
Varsa adlandırılmış istek başlığının değerini dize olarak döndürür veya
Aksi takdirde undefined
. Üstbilgi yinelenirse döndürülen değerler birleştirilir
', '
ile birlikte.
Örnek
const getRequestHeader = require('getRequestHeader');
const host = getRequestHeader('host');
Söz dizimi
getRequestHeader(headerName);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
headerName |
dize | Başlık adı. Bu değer büyük/küçük harfe duyarlı değildir. |
İlişkilendirilmiş izinler
getRequestMethod
İstek yöntemini (ör. dize olarak 'GET'
veya 'POST'
.
Örnek
const getRequestMethod = require('getRequestMethod');
if (getRequestMethod() === 'POST') {
// Handle the POST request here.
}
Söz dizimi
getRequestMethod();
İlişkilendirilmiş izinler
Yok.
getRequestPath
Sorgu dizesi olmadan istek yolunu döndürür. Örneğin, URL
'/foo?id=123'
, bu '/foo'
değerini döndürür. Sunucuyu otomatik olarak çıkarır
kapsayıcı URL'si önekini almalısınız. Örneğin, Sunucu kapsayıcı URL'si
https://example.com/analytics
ve istek yolu '/analytics/foo'
. Bu
'/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şkilendirilmiş izinler
getRequestQueryParameter
Adlandırılmış sorgu dizesi parametresinin kodu çözülmüş değerini dize olarak döndürür.
veya parametre mevcut değilse undefined
. Parametre tekrar eden
sorgu dizesinde görünen ilk değer
geri döndü.
Örnek
const getRequestQueryParameter = require('getRequestQueryParameter');
const query = getRequestQueryParameter('query');
if (query) {
// Process query here.
}
Söz dizimi
getRequestQueryParameter(name);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
name |
dize | Sorgu parametresinin adı. |
İlişkilendirilmiş izinler
getRequestQueryParameters
Gelen HTTP isteğinin sorgu parametrelerini, sorgu parametresi adlarını karşılık gelen değere veya değerlere ekler. Parametre adları ve değerlerin kodu çözülü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şkilendirilmiş izinler
getRequestQueryString
İstek sorgusunu başında soru işareti olmadan bir dize olarak veya istek URL'si bir sorgu dizesi içermiyorsa boş dize olur.
Örnek
const getRequestQueryString = require('getRequestQueryString');
const queryString = getRequestQueryString();
if (queryString !== '') {
// Handle the query string.
}
Söz dizimi
getRequestQueryString();
İlişkilendirilmiş izinler
getTimestamp
Kullanımdan kaldırıldı. getTimestampMillis'i tercih edin.
Unix'ten bu yana geçen geçerli süreyi milisaniye cinsinden temsil eden sayı değerini döndürür
dönem, Date.now()
tarafından döndürülen tarih.
Söz dizimi
getTimestamp();
İlişkilendirilmiş izinler
Yok.
getTimestampMillis
Unix'ten bu yana geçen geçerli süreyi milisaniye cinsinden temsil eden sayı değerini döndürür
dönem, Date.now()
tarafından döndürülen tarih.
Söz dizimi
getTimestampMillis();
İlişkilendirilmiş izinler
Yok.
getType
Belirtilen 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ımsız | '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 | Tür | Açıklama |
---|---|---|
value |
herhangi biri | Giriş değeri. |
İlişkilendirilmiş izinler
Yok.
hmacSha256
Karma Tabanlı İleti Kimlik Doğrulaması kullanarak kodlanmış imzayı hesaplar
SHA-256 ile kod (HMAC). Varsayılan olarak base64url
kodlaması kullanılır.
Bu API'yi kullanmak için sunucuda SGTM_CREDENTIALS
ortam değişkenini ayarlayın
:
{
"key1": "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5",
"key2": "OTg3NjU0MzIxMHp5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2Jh",
...
}
Değerler, base64 kodlu HMAC anahtarlarıdır.
Örnek
const hmacSha256 = require('hmacSha256');
const toBase64 = require('toBase64');
const header = toBase64('{"alg":"HS256","typ":"JWT"}', {urlEncoding: true});
const claim = toBase64('{"sub":"1234567890","iat":1698164946}', {urlEncoding: true});
const signature = hmacSha256(header + '.' + claim, 'key1');
const jwt = header + "." + claim + '.' + signature;
Söz dizimi
hmacSha256(data, keyId, options)
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
data |
dize | HMAC değerini hesaplayacak veriler. |
keyId
|
dize | JSON anahtar dosyasından büyük bir adımdır. |
options
|
nesne | İsteğe bağlı API yapılandırması. (Bkz. Seçenekler aşağıda verilmiştir.) |
Seçenekler
Option | Tür | Açıklama |
---|---|---|
outputEncoding
|
dize | Şunun için kodlama biçimini belirtir:
döndüren değer. Desteklenen biçimler: hex ,
base64 veya base64url . Varsayılan değer:
Belirtilmezse base64url . |
İlişkilendirilmiş izinler
Minimum görüntü sürümü
isRequestMpv1
Gelen istek bir Measurement Protocol V1 isteğiyse true
değerini döndürür veya
Aksi takdirde false
.
Örnek
const isRequestMpv1 = require('isRequestMpv1');
if (isRequestMpv1()) {
// Handle Measurement Protocol V1 request.
const events = extractEventsFromMpv1();
}
Söz dizimi
isRequestMpv1();
İlişkilendirilmiş izinler
Yok.
isRequestMpv2
Gelen istek bir Measurement Protocol V2 isteğiyse true
değerini döndürür veya
Aksi takdirde false
.
Örnek
const isRequestMpv2 = require('isRequestMpv2');
if (isRequestMpv2()) {
// Handle Measurement Protocol V2 request.
const events = extractEventsFromMpv2();
}
Söz dizimi
isRequestMpv2();
İlişkilendirilmiş izinler
Yok.
logToConsole
Bağımsız değişkenlerini konsola kaydeder.
Bu günlükler, Google Cloud Console'daki Günlük Gezgini'nde görülebilir.
Günlük girişlerini görmek için Günlük Gezgini'nden logName =~ "stdout"
sorgusunu çalıştırın
bu API tarafından oluşturulur.
Ö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, tek bir değişken varsa her biri dizeye dönüştürülen bir veya daha fazla bağımsız değişken alır. gerekir ve konsolda günlüğe kaydedilir.
İlişkilendirilmiş izinler
makeInteger
Belirtilen değeri bir sayıya (tam sayı) dönüştürür.
Söz dizimi
makeInteger(value);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
value |
herhangi bir tür | Dönüştürülecek değer. |
İlişkilendirilmiş izinler
Yok.
makeNumber
Belirli bir değeri sayıya dönüştürür.
Söz dizimi
makeNumber(value);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
value |
herhangi bir tür | Dönüştürülecek değer. |
İlişkilendirilmiş izinler
Yok.
makeString
Verilen değeri dize olarak döndürür.
Söz dizimi
makeString(value);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
value |
herhangi bir tür | Dönüştürülecek değer. |
İlişkilendirilmiş izinler
Yok.
makeTableMap
İki sütunlu basit bir tablo nesnesini Map
biçimine dönüştürür. Bu,
iki sütunlu bir SIMPLE_TABLE
şablon alanını daha yönetilebilir bir hale getirmek
biçimindedir.
Örneğin, bu işlev bir tablo nesnesini dönüştürebilir:
[
{'key': 'k1', 'value': 'v1'},
{'key': 'k2', 'value': 'v2'}
]
aşağıdakileri yapabilirsiniz:
{
'k1': 'v1',
'k2': 'v2'
}
Nesne döndürür: Anahtar/değer çiftlerinin dönüştürülen Map
değeri
girin veya null
.
Söz dizimi
makeTableMap(tableObj, keyColumnName, valueColumnName);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
tableObj |
Listele |
Dönüştürülecek tablo nesnesi. Her birinin
Map , tablodaki bir satırı temsil eder.
satır nesnesi sütun adı, özellik değeri ise sütundur.
değerini girin.
|
keyColumnName |
dize |
Değerleri dönüştürülen sütunda anahtara dönüşecek olan sütunun adı
Map
|
valueColumnName |
dize |
Değerleri dönüştürülen sütunda değerlere dönüşecek sütunun adı
Map
|
İlişkilendirilmiş izinler
Yok.
parseUrl
Aşağıdakine benzer şekilde, belirli bir URL'nin bileşen parçalarının tümünü içeren bir nesneyi döndürür:
URL
nesnesini tanımlayın.
Bu API, hatalı oluşturulmuş URL'ler için undefined
değerini döndürür. Düzgün biçimlendirme için
URL'ler için, URL dizesinde bulunmayan alanlar boş dize değerine sahip olur
veya searchParams
durumunda boş bir nesne olarak görünür.
Döndürülen nesne aşağıdaki alanları içerir:
{
href: string,
origin: string,
protocol: string,
username: string,
password: string,
host: string,
hostname: string,
port: string,
pathname: string,
search: string,
searchParams: Object<string, (string|Array)>,
hash: string,
}
Örnek
const parseUrl = require('parseUrl');
const urlObject = parseUrl('https://abc:xyz@example.com:8080/foo?param=val%2Cue#bar');
Söz dizimi
parseUrl(url);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
url |
dize | Ayrıştırılacak tam URL. |
İlişkilendirilmiş izinler
Yok.
returnResponse
Daha önce diğer şablonlar tarafından ayarlanan yanıtı, API'leri kullanarak temizler setCookie dahil olmak üzere yanıtı değiştiren setPixelResponse, setResponseBody, setResponseHeader ve setResponseStatus. Varsayılan olarak HTTP durum kodu 200'dür. boş gövde ve başlık yok.
Bu API'nin bir istemci şablonundan kullanılması önerilir.
Söz dizimi
returnResponse();
Örnek
runContainer
örneğini inceleyin.
İlişkilendirilmiş izinler
runContainer
Kapsayıcı mantığını (değişkenler, tetikleyiciler, etiketler) bir etkinlik kapsamında çalıştırır. Bu API, container yürütme sırasında çağrılırsa kapsayıcı tekrar çalıştırılır.
onComplete
ve onStart
geri çağırmaları
bindToEvent
. Etkinlik bağlamında API çalıştırmak için bindToEvent
kullanın.
Daha ayrıntılı 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 | Tür | Açıklama |
---|---|---|
event |
nesne | Etkinlik parametreleri. |
onComplete |
işlev | Tüm etiketlerin etkinleşmesi bittikten sonra çağrılan bir geri çağırma. |
onStart |
işlev | Etiketler etkinleşmeye başlamadan hemen önce çağrılan bir geri çağırma. |
İlişkilendirilmiş izinler
sendEventToGoogleAnalytics
Ortak Etkinlik Verileri'ni kullanarak Google Analytics'e tek bir etkinlik gönderir ve
sözlü, location
anahtarı veya
reason
anahtarına sahip bir nesneyi reddeder. Hedef, Universal
Analytics veya Google Analytics 4, etkinlikteki ölçüm kimliğini temel alır
dışı verilerdir.
Varsa location
alanı location
başlığına ayarlanır.
Örnek
const logToConsole = require('logToConsole');
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();
}).catch((error) => {
logToConsole(error.reason);
setResponseStatus(500);
data.gtmOnFailure();
});
Söz dizimi
sendEventToGoogleAnalytics(event);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
event |
nesne | Birleşik Şema biçimindeki etkinlik. |
İlişkilendirilmiş izinler
send_http
izni gerektirir. İznin, izin vermek üzere
en az şunlara erişin:
- Google alan adlarına izin ver
sendHttpGet
Belirtilen URL'ye bir HTTP GET isteği gönderir ve İstek tamamlandığında sonuçla sonuçlanan vaat veya zaman aşımına uğrar.
Çözümlenen sonuç üç anahtar içeren bir nesnedir: statusCode
, headers
,
ve body
. İstek başarısız olduysa (ör. geçersiz URL, ana makine yolu yok,
SSL iletişim hatası vb.) takdirde, taahhüt reddedilecek: {reason:
'failed'}
. timeout
seçeneği ayarlanmışsa ve istek zaman aşımına uğradıysa
taahhüt şununla reddedilecek: {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 | Tür | Açıklama |
---|---|---|
url |
dize | İstenen URL. |
options
|
nesne | İsteğe bağlı istek seçenekleri. (Bkz. Seçenekler aşağıda verilmiştir.) |
Seçenekler
Option | Tür | Açıklama |
---|---|---|
headers |
dize | Ek istek başlıkları. |
timeout
|
sayı |
isteği iptal edilir. Varsayılan olarak 15000 değerine ayarlanır. |
authorization
|
nesne | İsteğe bağlı
dahil etme için getGoogleAuth çağrısı
istekte bulunurken yetkilendirme üstbilgileri
googleapis.com adlı konuma. |
İlişkilendirilmiş izinler
sendHttpRequest
Belirtilen URL'ye bir HTTP isteğinde bulunur ve söz döndürür , istek tamamlandığında veya zaman aşımına uğradığında yanıtla çözülür.
Çözümlenen sonuç üç anahtar içeren bir nesnedir: statusCode
, headers
,
ve body
. İstek başarısız olduysa (ör. geçersiz URL, ana makine yolu yok,
SSL iletişim hatası vb.) takdirde, taahhüt reddedilecek: {reason:
'failed'}
. timeout
seçeneği ayarlanmışsa ve istek zaman aşımına uğradıysa
taahhüt şununla reddedilecek: {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 | Tür | Açıklama |
---|---|---|
url |
dize | İstenen URL. |
options
|
nesne | İsteğe bağlı istek seçenekleri. (Bkz. Seçenekler aşağıda verilmiştir.) |
body |
dize | İsteğe bağlı istek gövdesi. |
Seçenekler
Option | Tür | Açıklama |
---|---|---|
headers |
dize | Ek istek başlıkları. |
method |
nesne | İstek yöntemi. Varsayılan olarak GET değerine ayarlanır. |
timeout
|
sayı |
isteği iptal edilir. Varsayılan olarak 15000 değerine ayarlanır. |
authorization
|
nesne | İsteğe bağlı
dahil etme için getGoogleAuth çağrısı
istekte bulunurken yetkilendirme üstbilgileri
googleapis.com adlı konuma. |
İlişkilendirilmiş izinler
sendPixelFromBrowser
Sağlanan URL'yi <img>
etiketi olarak yüklemesi için tarayıcıya bir komut gönderir. Bu
komut protokolü GA4 için Google etiketinde desteklenir ve
Google Analytics: GA Etkinliği web etiketleri. Sunucu kapsayıcısını yapılandırmanız gerekir
URL'yi tıklayın. Daha fazla bilgi için talimatları inceleyin.
Gelen istek, komutu desteklemiyorsa bu API false
değerini döndürür
veya yanıtın zaten temizlenip temizlenmediğini kontrol edebilirsiniz. Aksi halde 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 | Tür | Açıklama |
---|---|---|
url |
dize | Tarayıcıya gönderilecek URL. |
İlişkilendirilmiş izinler
setCookie
Belirtilen seçeneklerle bir çerezi ayarlar veya siler.
Bir çerezi silmek için kullanıcının reklamla aynı yola ve alan adına sahip bir çerez
oluşturma ve ona geçmişte olan bir geçerlilik sonu değeri atama
ör. "Thu, 01 Jan 1970 00:00:00 GMT"
Şuna yanıt için returnResponse'un çağrılması gerektiğini unutmayın: geri gönderilir.
Ö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 | Tür | Açıklama |
---|---|---|
name |
dize | Çerez adı. 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- yaş, yol, güvenli, ve sameSite. (Bkz. Seçenekler bölümünü inceleyin.) |
noEncode |
boole |
True (doğru) ise çerez değeri kodlanmaz. Varsayılan değer:
false
|
domain: Çerezin gönderileceği ana makine. Özel değere ayarlanırsa "auto" değerine ayarlanırsa ana makine, şu stratejiyi kullanabilirsiniz:
- Varsa
Forwarded
başlığının eTLD+1'i. - Varsa
X-Forwarded-Host
başlığının eTLD+1'i. Host
başlığının eTLD+1'i.
- Varsa
expires: Çerezin maksimum ömrü. Bu değer UTC biçiminde olmalıdır tarih dizesi, ör. "Cmt, 26 Ekim 1985 08:21:00 GMT". Hem
expires
hem demax-age
ayarlandı,max-age
öncelikli.httpOnly:
true
olduğunda JavaScript'in çereze erişimini engeller.max-age: Çerezin süresi dolana kadar geçen saniye sayısı. Sıfır veya negatif çerezin kullanım süresi hemen dolar. Hem
expires
hem demax-age
ayarlanmışsamax-age
önceliklidir.path: İstenen URL'de mevcut olması gereken bir yol. Aksi takdirde tarayıcı Çerez üstbilgisini gönder.
secure:
true
değerine ayarlanırsa çerez yalnızca sunucuya isteğihttps:
uç noktasından yapılır.sameSite: Bir çerezin çapraz kaynakla gönderilmemesi gerektiğini iddia eder kabul edersiniz.
'strict'
,'lax'
veya'none'
olmalıdır.
İlişkilendirilmiş izinler
setPixelResponse
Yanıt gövdesini 1x1 GIF olarak ayarlar, Content-Type başlığını "image/gif" olarak ayarlar, kullanıcı aracılarının yanıtı önbelleğe almayacağı şekilde önbelleğe alma üstbilgilerini ayarlar ve yanıt durumunu 200’e çevirebiliriz.
Şuna yanıt için returnResponse'un çağrılması gerektiğini unutmayın: geri gönderilir.
Söz dizimi
setPixelResponse();
İlişkilendirilmiş izinler
access_response
izni gerektirir. İznin aşağıdaki şekilde yapılandırılması gerekir:
en az şunlara erişim izni ver:
headers
- Aşağıdaki anahtarlara izin verilmelidircontent-type
cache-control
expires
pragma
body
status
setResponseBody
Bağımsız değişkene yanıt gövdesini ayarlar.
Şuna yanıt için returnResponse'un çağrılması gerektiğini unutmayın: geri gönderilir.
Söz dizimi
setResponseBody(body[, encoding]);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
body |
dize | Yanıt gövdesi olarak ayarlanacak değer. |
encoding |
dize |
Yanıt gövdesinin karakter kodlaması (varsayılan olarak
'utf8' ) bilgileri gösterilir. Desteklenen değerler şunları içerir: 'ascii' ,
'utf8' , 'utf16le' , 'ucs2' ,
'base64' , 'latin1' , 'binary' ,
ve 'hex' .
|
İlişkilendirilmiş izinler
access_response
izni gerektirir. İznin aşağıdaki şekilde yapılandırılması gerekir:
en az şunlara erişim izni ver:
body
setResponseHeader
Yanıtta, döndürülecek bir üstbilgi ayarlar. Bu ada sahip bir üstbilgi (büyük/küçük harfe duyarlı değil) bu API tarafından daha önce ayarlanmışsa ikinci çağrı önceki arayan tarafından ayarlanan değerin üzerine yazılması veya temizlenmesi.
Şuna yanıt için returnResponse'un çağrılması gerektiğini unutmayın: geri gönderilir.
Söz dizimi
setResponseHeader(name, value);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
name |
dize | Başlık adı. HTTP üst bilgi adları büyük/küçük harfe duyarlı değildir, bu nedenle adı küçük harfle yazılır. |
value |
dize undefined | Başlık değeri. Null veya tanımlanmamış ise, adlandırılmış üstbilgi temizlenir. bu yanıtı vermelisiniz. |
İlişkilendirilmiş izinler
access_response
izni gerektirir. İznin aşağıdaki şekilde yapılandırılması gerekir:
en az şunlara erişim izni ver:
headers
setResponseStatus
Döndürülecek yanıtın HTTP durum kodunu ayarlar.
Şuna yanıt için returnResponse'un çağrılması gerektiğini unutmayın: geri gönderilir.
Söz dizimi
setResponseStatus(statusCode);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
statusCode |
sayı | Döndürülecek HTTP durum kodu. |
İlişkilendirilmiş izinler
access_response
izni gerektirir. İznin aşağıdaki şekilde yapılandırılması gerekir:
en az şunlara erişim izni ver:
status
sha256
Girişin SHA-256 özetini hesaplar ve
options
nesnesi farklı bir değer belirtmedikçe, base64'te kodlanmış özet
çıkış kodlaması.
Bu API imzası ve davranışı, web kapsayıcıları için sha256
API ile eşleşir;
Ancak sunucu kapsayıcılarındaki Özel Şablonlar,
Daha basit kod için sha256Sync
API.
Ö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 | Tür | Açıklama |
---|---|---|
input |
dize | Karma oluşturma işlemi uygulanacak dize. |
onSuccess |
işlev |
options nesnesi farklı bir çıkış kodlaması belirtiyor.
|
options |
nesne |
Çıkış kodlamasını belirtmek için kullanılan İsteğe bağlı seçenekler nesnesi. Eğer
belirtildiğinde, nesne outputEncoding anahtarını içermelidir
base64 veya hex değerine sahip olmalıdır.
|
İlişkilendirilmiş izinler
Yok.
sha256Sync
Girişin base64'te kodlanan SHA-256 özetini hesaplar ve döndürür.
(options
nesnesi farklı bir çıkış kodlaması belirtmedikçe).
Ö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 | Tür | Açıklama |
---|---|---|
input |
dize | Karma oluşturma işlemi uygulanacak dize. |
options |
nesne |
Çıkış kodlamasını belirtmek için kullanılan İsteğe bağlı seçenekler nesnesi. Eğer
belirtildiğinde, nesne outputEncoding anahtarını içermelidir
base64 veya hex değerine sahip olmalıdır.
|
İlişkilendirilmiş izinler
Yok.
templateDataStorage
Şablon veri depolamasına erişim yöntemleri içeren bir nesneyi döndürür. Şablon veri depolama, verilerin tek bir şablonun yürütmeleri arasında paylaşılmasına olanak tanır. Şablon veri depolamasında depolanan veriler, anlamına gelir. Çoğu durumda, kapsayıcıyı çalıştıran birden fazla sunucu olur. verileri şablon veri depolamasında saklamak, daha sonra gerçekleştirilen her işlemin verilerine erişim sahibi olacağınız anlamına gelir.
"Veriler" "templateDataStorage" adında Düzgün, gerçeğe dönüşen
işlevsiz veri türleri bu API kullanılarak depolanabilir. Herhangi bir işlev veya
API'ye iletilen işlevlere yönelik 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 setResponseStatus = require('setResponseStatus');
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şkilendirilmiş izinler
testRegex
Bir dizeyi, createRegex
API'si aracılığıyla oluşturulan bir normal ifade ile karşılaştırarak test eder. true
döndürür
ifadesini girin. Aksi takdirde false
değerini döndürür.
Global flag ile oluşturulan normal ifade durum bilgilidir. Bkz. Ayrıntılı bilgi için RegExp belgesini inceleyin.
Ö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 | Tür | Açıklama |
---|---|---|
regex |
Nesne | createRegex API'den döndürülen ve test edilecek normal ifade. |
string |
dize | Test edilecek test dizesi. |
İlişkilendirilmiş izinler
Yok.
toBase64
Bir dizeyi base64 veya base64url olarak kodlar. Varsayılan olarak base64 kodlaması kullanılır.
Söz dizimi
toBase64(input, options);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
input |
dize | Kodlanacak dize. |
options
|
nesne | İsteğe bağlı API yapılandırması. (Bkz. Seçenekler aşağıda verilmiştir.) |
Seçenekler
Option | Tür | Açıklama | Minimum sürüm |
---|---|---|---|
urlEncoding
|
boole | True (doğru) ise sonuç
kod kullanıldığında
base64url biçimindedir. |
1.0.0 |
Örnek
const toBase64 = require('toBase64');
const base64Hello = toBase64('hello');
const base64UrlHello = toBase64('hello', {urlEncoding: true});
İlişkilendirilmiş izinler
Yok.
BigQuery
BigQuery işlevleri sağlayan bir nesneyi döndürür.
BigQuery.insert
işlevi, BigQuery tablosuna veri yazmaya olanak tanır. Google
başarılı bir ekleme sonrasında çözümlenen bir vaat döndürür veya
bir hata olduğunda reddedilir.
Ekleme başarılı olduğunda, taahhüt bağımsız değişken olmadan çözümlenir.
Ekleme başarısız olduğunda, taahhüt, hatanın nedeni ve hata oluşursa muhtemelen bir satır nesnesi. Birbirinden farklı isteğin bir bölümünün başarıyla tamamlanması, diğer kısımlarının ise tamamlanmamasıdır. Bu durumda, söz konusu vaat reddedilir. Bunun için, satır nesnesini temsil eder. (Aşağıdaki Hata Örneklerine bakın). Görüntüleyin Microsoft Word’de oluşturulan hata mesajları inceleyin.
Söz dizimi
BigQuery.insert(connectionInfo, rows[, options]);
Parametre | Tür | Açıklama |
---|---|---|
connectionInfo |
nesne |
BigQuery tablosuna bağlanmak için gereken bilgileri tanımlar. Her biri 100'den az gösterim alan
isteğe bağlı bir parametre ve iki zorunlu parametre:
|
rows |
Dizi | Tabloya eklenecek satırlar. |
options |
nesne | İsteğe bağlı istek seçenekleri. Desteklenen seçenekler şunlardır: ignoreUnknownValues ve skipInvalidRows. Bilinmeyen seçenek tuşları yoksayılır. (Bkz. Seçenekler bölümünü inceleyin.) |
Parametre | Tür | Açıklama |
---|---|---|
ignoreUnknownValues |
boole | true olarak ayarlanırsa değer içeren satırları kabul edin
şemayla eşleşmez. Bilinmeyen değerler yoksayılır. Varsayılanlar
false numaralı telefona. |
skipInvalidRows |
boole | true olarak ayarlanırsa bir isteğin tüm geçerli satırlarını ekleyin,
kontrol edebilirsiniz. Varsayılan olarak false değerine ayarlanır. |
Modül bulunamadı hatası, sunucu kapsayıcınızın büyük olasılıkla resmimizin henüz BigQuery modülünü içermeyen eski bir sürümünü yayınladık. Lütfen dağıtım komut dosyası. İşlem tamamlandığında modül otomatik olarak dahil edilir.
Ekleme dışı bir hata genellikle reason
anahtarına sahip bir hata nesnesi içerir:
[{reason: 'invalid'}]
Ekleme hatası, errors
dizisine sahip birden fazla hata nesnesi içerebilir
bir row
nesnesi daha var. Aşağıdaki örnek bir hata yanıtı örneğidir:
yalnızca bir satırda hata bulunan iki satır ekleniyor:
[
{
"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şkilendirilmiş izinler
Firestore
Firestore işlevleri sağlayan bir nesneyi döndürür.
Bu API yalnızca Yerel modda Firestore'u destekler, Firestore'u Datastore modu. Ayrıca, API yalnızca varsayılan veritabanının kullanılmasını destekler.
Firestore.read
Firestore.read
işlevi, Firestore belgesindeki verileri okur ve
iki anahtar içeren bir nesneye çözümlenen bir söz verme döndürür:
id
ve data
. Belge mevcut değilse taahhüt,
not_found
değerine eşit reason
anahtarı içeren nesne.
Söz dizimi
Firestore.read(path[, options]);
Parametre | Tür | Açıklama |
---|---|---|
path |
dize | Doküman veya koleksiyonun yolu. Şununla başlamamalı veya bitmemelidir: "/" karakteridir. |
options |
nesne | İsteğe bağlı istek seçenekleri. Desteklenen seçenekler şunlardır: projectId, disableCache ve transaction. Bilinmiyor seçenek tuşları yoksayılır. (Bkz. Seçenekler bölümünü inceleyin.) |
Parametre | Tür | Açıklama |
---|---|---|
projectId |
dize | İsteğe bağlı. Google Cloud Platform proje kimliği. Atlanırsa
projectId , ortam değişkeninden alındı
GOOGLE_CLOUD_PROJECT olduğu sürece
access_firestore
proje kimliğinin izin ayarı * veya
GOOGLE_CLOUD_PROJECT . Sunucu kapsayıcısı
Google Cloud, GOOGLE_CLOUD_PROJECT zaten
Google Cloud projesinin kimliği. |
disableCache |
boole | İsteğe bağlı. Önbelleğin devre dışı bırakılıp bırakılmayacağını belirler. Önbelleğe alma varsayılan olarak etkindir ve bu durumda devam eder. |
transaction |
dize | İsteğe bağlı. Şuradan alınan değer: Firestore.runTransaction(). İşlemi bir belirtir. |
Ö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, bir Firestore belgesine veri yazar veya
koleksiyonudur. Yol bir koleksiyona giderse doküman,
rastgele oluşturulmuş kimlik. Yol bir dokümana aitse ve dosya mevcut değilse
oluşturulacaktır. Bu API,
dokümanın eklenmesi veya değiştirilmesi. İşlem seçeneği kullanılırsa API yine de
bir taahhüt döndürür, ancak yazma işlemleri toplu olarak işlendiğinden kimliği içermez.
Söz dizimi
Firestore.write(path, input[, options]);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
path |
dize | Doküman veya koleksiyonun yolu. Şununla başlamamalı veya bitmemelidir: "/" karakteridir. |
input |
nesne | Dokümana 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 tuşları yoksayılır. (Bkz. Seçenekler bölümünü inceleyin.) |
Parametre | Tür | Açıklama |
---|---|---|
projectId |
dize | İsteğe bağlı. Google Cloud Platform proje kimliği. Atlanırsa
projectId , ortam değişkeninden alındı
GOOGLE_CLOUD_PROJECT olduğu sürece
access_firestore
proje kimliğinin izin ayarı * veya
GOOGLE_CLOUD_PROJECT . Sunucu kapsayıcısı
Google Cloud, GOOGLE_CLOUD_PROJECT zaten
Google Cloud projesinin kimliği. |
merge |
boole | İsteğe bağlı. Ayarlandığı takdirde
true , ardından girişteki tuşları dokümanda birleştirin ve
Aksi takdirde bu yöntem dokümanın tamamını geçersiz kılar. Varsayılan değer:
false |
transaction |
dize | İsteğe bağlı. Şuradan alınan değer: Firestore.runTransaction(). İşlemi bir belirtir. |
Ö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, belirtilen koleksiyonu sorgular ve bir
sorguyla eşleşen bir dizi Firestore dokümanıyla sonuçlandığını
koşullar. Firestore belge nesnesi, yukarıda listelenen
Firestore.read
Sorgu koşullarıyla eşleşen belge yoksa
işlevi boş bir diziye çözümlenir.
Söz dizimi
Firestore.query(collection, queryConditions[, options]);
Parametre | Tür | Açıklama |
---|---|---|
collection |
dize | Koleksiyonun yolu. Şununla başlamamalı veya bitmemelidir: "/" karakteridir. |
queryConditions |
Dizi | Sorgu koşulları dizisi. Her sorgu,
şu üç değere sahip dizi: key,
operator ve expectedValue olarak ayarlanmalıdır. Örneğin:
[[‘id’, ‘<’, ‘5’], [‘eyalet’, ‘==’, ‘CA’]]. Koşullar, sorgu sonucunu oluşturmak için VE mantığıyla birleştirilir. Lütfen referans: Uyumlu sorgu listesi için Firestore'un sorgu operatörleri işleci. |
options |
nesne | İsteğe bağlı istek seçenekleri. Desteklenen seçenekler şunlardır: projectId, disableCache, limit ve transaction. Bilinmiyor seçenek tuşları yoksayılır. (Bkz. Seçenekler bölümünü inceleyin.) |
Parametre | Tür | Açıklama |
---|---|---|
projectId |
dize | İsteğe bağlı. Google Cloud Platform proje kimliği. Atlanırsa
projectId , ortam değişkeninden alındı
GOOGLE_CLOUD_PROJECT olduğu sürece
access_firestore
proje kimliğinin izin ayarı * veya
GOOGLE_CLOUD_PROJECT . Sunucu kapsayıcısı
Google Cloud, GOOGLE_CLOUD_PROJECT zaten
Google Cloud projesinin kimliği. |
disableCache |
boole | İsteğe bağlı. Önbelleğin devre dışı bırakılıp bırakılmayacağını belirler. Önbelleğe alma varsayılan olarak etkindir ve bu durumda devam eder. |
limit |
sayı | İsteğe bağlı. Şu sorgu tarafından döndürülen maksimum sonuç sayısını değiştirir: sorgu, varsayılan olarak 5 değerine ayarlanır. |
transaction |
dize | İsteğe bağlı. Şuradan alınan değer: Firestore.runTransaction(). İşlemi bir belirtir. |
Ö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'dan okuma ve yazma. Eşzamanlı yazma veya başka bir işlem
çakışma olursa işlem en fazla iki kez yeniden denenir. Başarısız olursa
API, toplam üç denemeden sonra bir hatayla reddeder. Bu API şunları döndürür:
Her yazma işlemi için bir belge kimliği dizisine dönüşen bir taahhüt
işlem başarılı olursa; başarısız olursa hata mesajıyla reddeder.
Söz dizimi
Firestore.runTransaction(callback[, options]);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
callback |
işlev | Dize işlem kimliğiyle çağrılan bir geri çağırma. İlgili içeriği oluşturmak için kullanılan işlem kimliği, okuma/yazma/sorgu API çağrılarına iletilebilir. Bu geri çağırma işlevi bir taahhüt döndürmelidir. Geri çağırma, başarısız olmadan önce en fazla üç kez çalıştırılabilir. |
options |
nesne | İsteğe bağlı istek seçenekleri. Yalnızca desteklenen seçenek projectId'dir. Bilinmeyen seçenek tuşları yoksayılır. (Bkz. Seçenekler bölümünü inceleyin.) |
Parametre | Tür | Açıklama |
---|---|---|
projectId |
dize | İsteğe bağlı. Google Cloud Platform proje kimliği. Atlanırsa
projectId , ortam değişkeninden alındı
GOOGLE_CLOUD_PROJECT olduğu sürece
access_firestore
proje kimliğinin izin ayarı * veya
GOOGLE_CLOUD_PROJECT . Sunucu kapsayıcısı
Google Cloud, GOOGLE_CLOUD_PROJECT zaten
Google Cloud projesinin kimliği. |
Ö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 bir Firestore işlevinde bulunan hatalar bir nesneyle reddedilecektir
reason
anahtarı içeren:
Firestore.read(...).then(onSuccess, (error) => {
if (error.reason === 'unknown') {
// Handle the unknown error here.
}
});
Hata nedenleri şunları içerebilir ancak bunlarla sınırlı değildir: Firestore REST API Hatası Kodlar.
İlişkilendirilmiş izinler
JSON
JSON işlevleri sağlayan bir nesne döndürür.
parse()
işlevi, değeri veya nesneyi oluşturmak için bir JSON dizesini ayrıştırır.
dizeyle açıklanır. Değer ayrıştırılamıyorsa (ör. bozuk JSON),
işlev undefined
değerini döndürür. Giriş değeri bir dize değilse
girdi dizeye dönüştürülür.
stringify()
işlevi, girişi bir JSON dizesine dönüştürür. Değer
ayrıştırılamıyorsa (ör. nesnenin bir döngüsü varsa) yöntem,
undefined
Ö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şkilendirilmiş izinler
Yok.
Math
Math
işlevleri sağlayan bir nesne.
Söz dizimi
const Math = require('Math');
// Retrieve the absolute value.
const absolute = Math.abs(-3);
// Round the input down to the nearest integer.
const roundedDown = Math.floor(3.6);
// Round the input up to the nearest integer.
const roundedUp = Math.ceil(2.2);
// Round the input to the nearest integer.
const rounded = Math.round(3.1);
// Return the largest argument.
const biggest = Math.max(1, 3);
// Return the smallest argument.
const smallest = Math.min(3, 5);
// Return the first argument raised to the power of the second argument.
const powerful = Math.pow(3, 1);
// Return the square root of the argument.
const unsquared = Math.sqrt(9);
Parametreler
Matematiksel fonksiyon parametreleri sayılara dönüştürülür.
İlişkilendirilmiş izinler
Yok.
Messages
Aşağıdaki API'ler, mesajların farklı cihazlar ve kanallar arasında iletilmesini sağlamak için bölümleri bulunur.
addMessageListener
Belirli türdeki mesajları dinleyen bir işlev ekler. Bir ileti
sendMessage
API (genellikle bir etiket tarafından) kullanılarak gönderilirse
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 geri çağırma, mesajları
Müşteri tarafından oluşturulan tüm etkinlikler. Geri aramanın mesaj alması gerekiyorsa
yalnızca belirli bir etkinlikten alıp bindToEvent
kullanarak bu API'yi etkinliğe bağlayın
runContainer
API'nin onStart
işlevinde. Ö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 | Tür | Açıklama |
---|---|---|
messageType |
dize | Dinlenecek mesaj türü. Değer bir dize değilse dizeye dönüştürülür. |
callback |
işlev | Geçerli mesaj türünde bir mesaj şu olduğunda çalıştırılacak geri çağırma: gönderilir. Geri çağırma bir işlev değilse API'nin herhangi bir işlem yapması gerekmez. |
Ö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şkilendirilmiş izinler
use_message
izni gerektirir. İznin, izin vermek üzere
en az:
Usage
/listen
veyalisten_and_send
içeren mesaj türü.
hasMessageListener
Belirtilen mesaj türü için bir mesaj işleyici eklenmişse true değerini döndürür. Aksi takdirde false (yanlış) değerini döndürür.
Söz dizimi
const hasMessageListener = require('hasMessageListener');
hasMessageListener('send_pixel');
İlişkilendirilmiş izinler
Yok.
sendMessage
Kayıtlı bir dinleyiciye belirtilen türde bir mesaj gönderir. Bu, kullanılabilir kullanarak kapsayıcıyı çalıştıran istemciye bir etiketten mesaj gönderebilirsiniz.
Söz dizimi
const sendMessage = require('sendMessage');
sendMessage('send_pixel', {url: 'https://analytics.example.com/collect'});
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
messageType |
dize | Gönderilecek mesajın türü. Değer bir dize değilse dizeye dönüştürülür. |
message |
nesne | Gönderilecek mesaj. Mesaj bir nesne değilse API'nin herhangi bir işlem yapması gerekmez. |
İlişkilendirilmiş izinler
use_message
izni gerektirir. İznin, izin vermek üzere
en az:
Usage
/listen_and_send
veyasend
içeren mesaj türü.
Object
Object
yöntemleri sağlayan bir nesneyi döndürür.
keys()
yöntemi, Standart Kitaplık Object.keys()'i sağlar
gösterir. Belirli bir nesnenin kendi numaralandırılabilir özelliğinin bir dizisini döndürür
adları for...in...
döngüsüyle aynı sırayla gösterilmiştir. Giriş değeri
bir nesneye geçmeye zorlanır.
values()
yöntemi, Standart Kitaplık Object.values() öğesini sağlar
gösterir. Belirli bir nesnenin kendi numaralanabilir özellik değerleri dizisini döndürür
aynı sırayla bir for...in...
döngüsüne sahip olabilir. Giriş değeri
bir nesneye geçmeye zorlanır.
entries()
yöntemi, Standart Kitaplık Object.entries() öğesini sağlar
gösterir. Belirli bir nesnenin kendi numaralandırılabilir özelliğinin bir dizisini döndürür
[key, value]
, bir for...in...
döngüsüyle aynı sırada eşlenir. Öğe
girdi değeri bir nesne değil, bir nesneye dönüştürülür.
freeze()
yöntemi, Standart Kitaplık Object.freeze()'i sağlar
gösterir. Donmuş bir nesne artık değiştirilemez; bir nesnenin dondurulması,
veya mevcut mülklerin kaldırılmasını ya da
ve mevcut özelliklerin değerlerinin değiştirilmesini engeller. freeze()
şunu döndürür:
ele alacağız. Temel veya boş bağımsız değişken olarak
geri döner ve donmuş bir nesne olursa döndürülür.
delete()
yöntemi, Standart Kitaplık silme operatörünü sağlar
gösterir. Nesne donmadığı sürece belirtilen anahtarı nesneden kaldırır.
Standart Kitaplık silme operatörü gibi, ilk girişse true
değerini döndürür
değer (objectInput
), ikinci giriş olsa bile donmayan bir nesnedir
değeri (keyToDelete
) mevcut olmayan bir anahtarı belirtiyor. Şu kadar süre içinde false
döndürür:
durumlardan biridir. Ancak bu, Standart Kitaplık silme operatöründen farklıdır
aşağıdaki şekillerde kullanabilirsiniz:
keyToDelete
, iç içe yerleştirilmiş bir anahtar belirten ve noktayla ayrılmış bir dize olamaz.delete()
, bir diziden öğe kaldırmak için kullanılamaz.delete()
, herhangi bir mülkü global kapsamdan kaldırmak için kullanılamaz.
Söz dizimi
Object.keys(objectInput)
Object.values(objectInput)
Object.entries(objectInput)
Object.freeze(objectInput)
Object.delete(objectInput, keyToDelete)
Parametreler
Object.keys
Parametre | Tür | Açıklama |
---|---|---|
objectInput | herhangi biri | Anahtarlarının numaralandırılacağı nesne. Giriş bir nesne değilse zorlamaya zorlanır. |
Object.values
Parametre | Tür | Açıklama |
---|---|---|
objectInput | herhangi biri | Değerleri numaralandırılacak nesne. Giriş bir nesne değilse bir nesneye geçmeye zorlanır. |
Object.entries
Parametre | Tür | Açıklama |
---|---|---|
objectInput | herhangi biri | Anahtar/değer çiftleri numaralandırılacak nesne. Giriş bir bir nesneye geçmeye zorlanır. |
Object.freeze
Parametre | Tür | Açıklama |
---|---|---|
objectInput | herhangi biri | Dondurulacak nesne. Giriş bir nesne değilse bu, donmuş bir nesne olarak değerlendirilir. |
Object.delete
Parametre | Tür | Açıklama |
---|---|---|
objectInput | herhangi biri | Anahtarı silinecek nesne. |
keyToDelete | 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
Vaatlerle etkileşim için yöntemler sağlayan bir nesneyi döndürür.
Vaatler, işlevsel olarak JavaScript'in vaatlerine eşdeğerdir. Her örnekte Sözü döndüren ve vaat söz konusu olduğunda başka işlemler yapılmasını sağlayan üç yöntem gelir:
.then()
- Hem çözülmüş hem de reddedilen destek kayıtlarını ele alır. İki saat sürer geri çağırmaları parametre olarak kullanır: biri başarılı, diğeri başarısız durum için dava açın..catch()
- Yalnızca reddedilen destek kayıtlarıyla ilgilenir. Şu şekilde bir geri arama alır: parametresinden sonra bir değer girin..finally()
- Vadettiklerinizden bağımsız olarak kodun çalıştırılması için bir yol sağlar. emin olmanız gerekir. Şununla çağrılan bir parametre olarak bir geri çağırma alır: bağımsız değişken yok.
Vaat döndüren bir değişken, vaadin çözümlenen değerine eşit veya
Vaat reddedilirse false
.
Ö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 içeren bir vaat döndürür:
- tüm girişler çözümlendiğinde çözümlenir veya
- girişlerden herhangi biri reddedildiğinde reddeder
Söz dizimi
Promise.all(inputs);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
inputs |
Dizi | Değerler veya vaatler dizisi. Bir girdi bir vaat değilse girdi sanki bir vaatin çözümlenmiş değeriymiş gibi geçirilir. Şunu atar: hatasını döndürür. |
Ö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şkilendirilmiş izinler
Yok.
Promise.create
İşlevsel olarak bir JavaScript vaadi ile eşdeğer bir vaat oluşturur.
Söz dizimi
Promise.create(resolver);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
resolver |
işlev | İki işlevle çağrılan bir işlev: çözümleme ve reddetme. İade edilen vaat, ilgili parametresi çağrılır. Çö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şkilendirilmiş izinler
Yok.
API'leri test et
Bu API'ler, özel verilere yönelik testler oluşturmak üzere korumalı alana alınmış JavaScript testleriyle çalışır
Google Etiket Yöneticisi'ndeki şablonlar. Bu test API'leri için require()
gerekmez
ifade eder. [Özel şablon testleri hakkında daha fazla bilgi edinin].
assertApi
görebilirsiniz.
Söz dizimi
assertApi(apiName)
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
apiName |
dize | Kontrol edilecek API'nin adı; iletilecek dizeyle aynı
require() .
|
Eşleştiriciler
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 [Truth] kitaplığına göre modellenmiştir. Şunun bir değerini döndürür:
bir öznenin değeri hakkında akıcı bir şekilde iddiada bulunmak için kullanılabilecek nesnedir.
onay hatası, testi anında durdurur ve başarısız olarak işaretler. Ancak,
bir testteki hata diğer test durumlarını etkilemez.
Söz dizimi
assertThat(actual, opt_message)
Parametreler
Parametre | Tür | 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şleştiriciler
Eşleştirici | Açıklama |
---|---|
isUndefined() |
Konunun undefined olduğunu iddia eder. |
isDefined() |
Konunun undefined olmadığını iddia eder. |
isNull() |
Konunun null olduğunu iddia eder. |
isNotNull() |
Konunun null olmadığını iddia eder. |
isFalse() |
Konunun false olduğunu iddia eder. |
isTrue() |
Konunun true olduğunu iddia eder. |
isFalsy() |
Konunun yanlış olduğunu iddia eder. Sahte değerler
undefined , null , false ,
NaN , 0 ve '' (boş dize). |
isTruthy() |
Konunun doğru olduğunu iddia ediyor. Sahte değerler
undefined , null , false ,
NaN , 0 ve '' (boş dize). |
isNaN() |
Öznenin NaN değeri olduğunu iddia eder. |
isNotNaN() |
Öznenin, NaN dışında herhangi bir değer olduğunu iddia eder. |
isInfinity() |
Öznenin pozitif veya negatif Sonsuzluk olduğunu iddia eder. |
isNotInfinity() |
Konunun pozitif veya negatif dışında herhangi bir değer olduğunu iddia eder Sonsuzluk. |
isEqualTo(expected) |
Öznenin verilen değere eşit olduğunu iddia eder. Bu bir değerdir karşılaştırma yapmayın. Nesnelerin ve dizilerin içeriği yinelemeli olarak karşılaştırılır. |
isNotEqualTo(expected) |
Öznenin verilen değere eşit olmadığını iddia eder. Bu, referans karşılaştırması değil, değer karşılaştırmasıdır. Nesnelerin ve yinelemeli olarak karşılaştırılır. |
isAnyOf(...expected) |
Öznenin, verilen değerlerden birine eşit olduğunu iddia eder. Bu, referans karşılaştırması değil, değer karşılaştırmasıdır. Nesnelerin ve yinelemeli olarak karşılaştırılır. |
isNoneOf(...expected) |
Konunun, verilen değerlerin herhangi birine eşit olmadığını iddia eder. Bu referans karşılaştırması değil, değer karşılaştırmasıdır. Nesnelerin içeriği ve diziler yinelemeli olarak karşılaştırılır. |
isStrictlyEqualTo(expected) |
Konunun===
değer. |
isNotStrictlyEqualTo(expected) |
Öznenin tam olarak eşit olmadığını iddia eder (!== )
verilen değer. |
isGreaterThan(expected) |
Konunun belirtilenden (> ) büyük olduğunu iddia eder
değeri için de kullanılabilir. |
isGreaterThanOrEqualTo(expected) |
Konunun şundan büyük veya şuna eşit olduğunu iddia eder:
Sıralı karşılaştırmada belirtilen değer (>= ). |
isLessThan(expected) |
Konunun, belirtilenden (< ) küçük olduğunu iddia eder
değeri için de kullanılabilir. |
isLessThanOrEqualTo(expected) |
Konunun (<= ) değerinden küçük veya ona eşit olduğunu iddia eder
sıralı karşılaştırmada verilen değer. |
contains(...expected) |
Konunun, şunların tümünü içeren bir dizi veya dize olduğunu iddia eder gösterilen değerleri herhangi bir sırada gösterir. Bu bir referans değil, değer karşılaştırmasıdır isteyebilirsiniz. Nesnelerin ve dizilerin içerikleri karşılaştırılır yinelemeli olarak. |
doesNotContain(...expected) |
Konunun, aşağıdakilerden hiçbirini içermeyen bir dizi veya dize olduğunu iddia eder anlamına gelir. Bu bir referans karşılaştırması değil, değer karşılaştırmasıdır. Nesnelerin ve dizilerin içerikleri yinelemeli olarak karşılaştırılır. |
containsExactly(...expected) |
Konunun, verilen tüm öğeleri içeren bir dizi olduğunu iddia eder herhangi bir sırada olan ve başka hiçbir değer içermeyen. Bu bir değer karşılaştırmasıdır, referans karşılaştırması yapabilirsiniz. Nesnelerin ve dizilerin içerikleri karşılaştırılır yinelemeli olarak. |
doesNotContainExactly(...expected) |
Konunun, farklı bir küme içeren bir dizi olduğunu iddia eder sayısındaki değerleri ifade eder. Bu bir değer karşılaştırmasıdır. bir referans karşılaştırması değildir. Nesnelerin ve dizilerin içerikleri yinelenen bir şekilde karşılaştırılır. |
hasLength(expected) |
Konunun belirtilen uzunlukta bir dizi veya dize olduğunu iddia eder. Değer bir dizi veya dize değilse onay her zaman başarısız olur. |
isEmpty() |
Konunun boş bir dizi veya dize olduğunu iddia eder (uzunluk = 0) gösterilir. Onaylama, değer bir dizi değilse veya dize. |
isNotEmpty() |
Konunun boş olmayan bir dizi veya dize olduğunu iddia eder (uzunluk > 0). Değer bir dizi değilse onay işlemi her zaman başarısız olur veya dize. |
isArray() |
Konu türünün bir dizi olduğunu iddia eder. |
isBoolean() |
Konu türünün boole olduğunu iddia eder. |
isFunction() |
Özne türünün bir fonksiyon olduğunu iddia eder. |
isNumber() |
Özne türünün bir sayı olduğunu iddia eder. |
isObject() |
Özne türünün bir 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 sağlanmışsa verilen iletiyi yazdırır.
Söz dizimi
fail(opt_message);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
opt_message |
dize | İsteğe bağlı hata mesajı metni. |
Örnek
fail('This test has failed.');
mock
mock
API, Korumalı Alana Sahip API'lerin davranışını geçersiz kılmanıza olanak tanır. Model
API, şablon kodunda güvenle kullanılabilir ancak yalnızca test modunda çalışır.
Her test çalıştırılmadan önce örnekler sıfırlanır.
Söz dizimi
mock(apiName, returnValue);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
apiName |
dize | Örnek alınacak API'nin adı; iletilecek dizeyle aynı
require() |
returnValue |
herhangi biri | API için döndürülecek değer veya
API'ye gidin. returnValue bir fonksiyon ise, bu işlev
Sandboxed API'nin yerine geçer. returnValue başka bir şeyse
değeri Korumalı Alan'ın yerine döndürülür.
API'ye gidin. |
Örnekler
mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
onSuccess();
});
mockObject
mockObject
API, Korumalı Alana Sahip API'lerin davranışını geçersiz kılmanıza olanak tanır.
bir nesne döndürür. API, şablon kodunda güvenle kullanılabilir ancak çalışır durumdadır
yalnızca test modunda kullanın. Her test çalıştırılmadan önce örnekler sıfırlanır.
Söz dizimi
mockObject(apiName, objectMock);
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
apiName |
dize | Örnek alınacak API'nin adı; iletilecek dizeyle aynı
require() |
objectMock |
nesne | API için döndürülecek değer veya API'ye gidin. Bir nesne olmalıdır. |
Örnekler
const storage = {};
let firestoreId = 1;
function asTestPromise(result) {
return {
then: (callback) => callback(result)
};
}
mockObject('Firestore', {
write: (collection, input) => {
storage[collection + '/' + (++firestoreId)] = input;
return asTestPromise(firestoreId);
},
read: (document) => asTestPromise({data: storage[document]})
});
runCode
Şablonun kodunu (ör. Kod sekmesinin içeriğini) mevcut test ortamını temsil eder.
Söz dizimi
runCode(data)
Parametreler
Parametre | Tür | Açıklama |
---|---|---|
data |
nesne | Testte kullanılacak veri nesnesi. |
Döndürülen Değer
Değişken şablonları için bir değişkenin değerini döndürür; şunun için undefined
değerini döndürür:
şablon türünde olması gerekir.
Örnek
runCode({field1: 123, field2: 'value'});