Sunucu tarafı etiketleme API'leri

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


addEventCallback

Bir etkinliğin sonunda çağrılacak bir geri çağırma işlevi kaydeder. İ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

read_event_metadata


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ü

2.0.0


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

read_event_data


getClientName

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

Söz dizimi

getClientName();

İlişkilendirilmiş izinler

read_container_data


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

read_container_data


getCookieValues

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

Örnek

const getCookieValues = require('getCookieValues');

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

Söz dizimi

getCookieValues(name[, noDecode]);

Parametreler

Parametre 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

get_cookies


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

read_event_data


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 ve X-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

read_request


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

read_request


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

read_request


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

read_request


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

read_request


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

read_request


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

use_custom_private_keys

Minimum görüntü sürümü

1.0.0


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

logging


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

return_response


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

run_container


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

send_http


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

send_http


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

send_pixel_from_browser


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.
  • 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 de max-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 de max-age ayarlanmışsa max-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ği https: 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

set_cookie


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 verilmelidir
    • content-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

access_template_storage


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:
  • projectId - İsteğe bağlı Google Cloud Platform proje kimliği. Atlanırsa projectId şuradan alınır: GOOGLE_CLOUD_PROJECT ortam değişkeni olarak access_bigquery proje kimliğinin izin ayarı * veya GOOGLE_CLOUD_PROJECT. Sunucu kapsayıcısı Google Cloud'da yüklü olduğu sürece GOOGLE_CLOUD_PROJECT, Google Cloud projesinin kimliğine zaten ayarlanmış olmalıdır.
  • datasetId - BigQuery Veri Kümesi Kimliği.
  • tableId - BigQuery Tablo Kimliği.
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.

Hata Örnekleri

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

access_bigquery


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

Hata Örneği

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

access_firestore


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:

  1. messageType:string
  2. 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 veya listen_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 veya send 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'});