कस्टम टेंप्लेट एपीआई

कोर एपीआई

ये एपीआई, सैंडबॉक्स JavaScript के साथ काम करते हैं. इनकी मदद से, Google Tag Manager में कस्टम टेंप्लेट बनाए जा सकते हैं. हर एपीआई को require() स्टेटमेंट के साथ जोड़ा जाता है. उदाहरण के लिए:

const myAPI = require('myAPI');

addConsentListener

यह कुकी, लिसनर फ़ंक्शन को रजिस्टर करती है. यह फ़ंक्शन, सहमति के चुने गए टाइप का स्टेटस बदलने पर काम करता है.

यह लिसनर, सहमति के लिए तय किए गए टाइप की स्थिति में बदलाव होने पर हर बार चालू होगा. जैसे, 'सहमति नहीं दी गई' से 'सहमति दी गई' या 'सहमति दी गई' से 'सहमति नहीं दी गई' में बदलाव होने पर. सहमति के ऐसे टाइप को 'मंज़ूरी मिल चुकी है' के तौर पर माना जाता है जिसकी स्थिति सेट नहीं की गई है. इसलिए, अगर सहमति के किसी ऐसे टाइप को 'मंज़ूरी मिल चुकी है' के तौर पर अपडेट किया जाता है जिसकी स्थिति सेट नहीं की गई है, तो लिसनर को कॉल नहीं किया जाएगा. लिसनर फ़ंक्शन यह पक्का करने के लिए ज़िम्मेदार होंगे कि उनका कोड सही संख्या में चले.

उदाहरण:

const isConsentGranted = require('isConsentGranted');
const addConsentListener = require('addConsentListener');

if (!isConsentGranted('ad_storage')) {
  let wasCalled = false;
  addConsentListener('ad_storage', (consentType, granted) => {
    if (wasCalled) return;
    wasCalled = true;

    const cookies = getMyCookies();
    sendFullPixel(cookies);
  });
}

सिंटैक्स

addConsentListener(consentType, listener)

पैरामीटर

पैरामीटर टाइप ब्यौरा
consentType स्ट्रिंग सहमति का वह टाइप जिस पर स्थिति में हुए बदलावों को सुना जाना है.
listener function सहमति के लिए चुने गए टाइप की स्थिति बदलने पर, इस फ़ंक्शन को चलाया जाता है.

जब किसी लिसनर को शुरू किया जाता है, तो उसे सहमति के उस टाइप की जानकारी दी जाती है जिसमें बदलाव किया जा रहा है. साथ ही, उसे सहमति के उस टाइप की नई वैल्यू भी दी जाती है:

पैरामीटर टाइप ब्यौरा
consentType स्ट्रिंग सहमति का वह टाइप जिसमें बदलाव किया जा रहा है.
granted boolean यह एक बूलियन है. अगर सहमति के टाइप को बदलकर 'मंज़ूरी मिल चुकी है' पर सेट किया जा रहा है, तो इसकी वैल्यू सही होती है.

इससे जुड़ी अनुमतियां

सहमति के टाइप के लिए, पढ़ने के ऐक्सेस के साथ access_consent की अनुमति.


addEventCallback

addEventCallback एपीआई की मदद से, एक कॉलबैक फ़ंक्शन रजिस्टर किया जा सकता है. यह फ़ंक्शन, इवेंट के खत्म होने पर कॉल किया जाएगा. यह कॉलबैक तब शुरू होगा, जब इवेंट के लिए सभी टैग एक्ज़ीक्यूट हो गए हों या पेज पर मौजूद इवेंट का टाइम आउट पूरा हो गया हो. कॉलबैक को दो वैल्यू पास की जाती हैं. पहली वैल्यू, उस कंटेनर का आईडी होती है जो फ़ंक्शन को कॉल करता है. दूसरी वैल्यू, एक ऐसा ऑब्जेक्ट होता है जिसमें इवेंट के बारे में जानकारी होती है.

सिंटैक्स

addEventCallback(callback)

पैरामीटर

पैरामीटर टाइप ब्यौरा
callback function इवेंट के खत्म होने पर कॉल किया जाने वाला फ़ंक्शन.

eventData ऑब्जेक्ट में यह डेटा शामिल होता है:

कुंजी का नाम टाइप ब्यौरा
tags ऐरे टैग डेटा ऑब्जेक्ट का कलेक्शन. इवेंट के दौरान फ़ायर होने वाले हर टैग की एंट्री इस ऐरे में होगी. टैग डेटा ऑब्जेक्ट में टैग का आईडी (id), उसके चालू होने की स्थिति (status), और उसके चालू होने का समय (executionTime) शामिल होता है. टैग डेटा में, टैग पर कॉन्फ़िगर किया गया अतिरिक्त टैग मेटाडेटा भी शामिल होगा.

उदाहरण

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

इससे जुड़ी अनुमतियां

read_event_metadata


aliasInWindow

aliasInWindow एपीआई की मदद से, कोई उपनाम (जैसे, window.foo = window.bar) बनाया जा सकता है. इससे उन टैग को इस्तेमाल करने में मदद मिलती है जिनके लिए उपनाम की ज़रूरत होती है. fromPath पर मौजूद window ऑब्जेक्ट में मौजूद वैल्यू को, toPath पर मौजूद window ऑब्जेक्ट में मौजूद कुंजी को असाइन करता है. अगर अनुरोध पूरा हो जाता है, तो true दिखाता है. अगर अनुरोध पूरा नहीं होता है, तो false दिखाता है.

सिंटैक्स

aliasInWindow(toPath, fromPath)

पैरामीटर

पैरामीटर टाइप ब्यौरा
toPath स्ट्रिंग window ऑब्जेक्ट में बिंदु से अलग किया गया पाथ, जहां वैल्यू को कॉपी किया जाना चाहिए. पाथ में मौजूद सभी कॉम्पोनेंट, window ऑब्जेक्ट में पहले से मौजूद होने चाहिए.
fromPath स्ट्रिंग कॉपी की जाने वाली वैल्यू के लिए, window में डॉट से अलग किया गया पाथ. अगर वैल्यू मौजूद नहीं है, तो ऑपरेशन पूरा नहीं होगा.

उदाहरण

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

इससे जुड़ी अनुमतियां

toPath और fromPath, दोनों के लिए access_globals ज़रूरी है. toPath के लिए लिखने का ऐक्सेस ज़रूरी है, जबकि fromPath के लिए पढ़ने का ऐक्सेस ज़रूरी है.


callInWindow

इसकी मदद से, window ऑब्जेक्ट के बाहर के पाथ से फ़ंक्शन कॉल किए जा सकते हैं. हालांकि, ऐसा नीति के तहत किया जाता है. यह फ़ंक्शन, दिए गए आर्ग्युमेंट के साथ window में दिए गए पाथ पर फ़ंक्शन को कॉल करता है और वैल्यू दिखाता है. अगर रिटर्न टाइप को सीधे तौर पर, सैंडबॉक्स वाली JavaScript में इस्तेमाल किए जा सकने वाले टाइप से मैप नहीं किया जा सकता, तो undefined दिखेगा. सैंडबॉक्स किए गए JavaScript में, इन आठ तरह के डेटा का इस्तेमाल किया जा सकता है: null, undefined, boolean, number, string, Array, Object, और function. अगर दिया गया पाथ मौजूद नहीं है या किसी फ़ंक्शन का रेफ़रंस नहीं देता है, तो undefined दिखेगा.

सिंटैक्स

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

पैरामीटर

पैरामीटर टाइप ब्यौरा
pathToFunction स्ट्रिंग window में फ़ंक्शन को कॉल करने के लिए, बिंदु से अलग किया गया पाथ.
args * फ़ंक्शन में पास किए जाने वाले आर्ग्युमेंट.

इससे जुड़ी अनुमतियां

access_globals के लिए execute की अनुमति चालू की गई हो.


callLater

यह फ़ंक्शन, किसी फ़ंक्शन को एसिंक्रोनस तरीके से कॉल करने के लिए शेड्यूल करता है. यह फ़ंक्शन, मौजूदा कोड के वापस आने के बाद कॉल किया जाएगा. यह setTimeout(<function>, 0) के बराबर है.

सिंटैक्स

callLater(function)

पैरामीटर

पैरामीटर टाइप ब्यौरा
function function कॉल करने के लिए फ़ंक्शन.

copyFromDataLayer

यह फ़ंक्शन, डेटा लेयर में मौजूद किसी कुंजी को असाइन की गई मौजूदा वैल्यू दिखाता है: अगर दी गई कुंजी, प्रिमिटिव टाइप, फ़ंक्शन या ऑब्जेक्ट लिटरल है, तो उससे जुड़ी वैल्यू दिखेगी. अगर ऐसा नहीं है, तो undefined दिखेगा.

सिंटैक्स

copyFromDataLayer(key[, dataLayerVersion])

पैरामीटर

पैरामीटर टाइप ब्यौरा
key स्ट्रिंग "a.b.c" फ़ॉर्मैट में मौजूद कुंजी.
dataLayerVersion number डेटा लेयर का वैकल्पिक वर्शन. डिफ़ॉल्ट वैल्यू 2 होती है. हमारा सुझाव है कि वैल्यू 1 का इस्तेमाल न करें.

इससे जुड़ी अनुमतियां

read_data_layer


copyFromWindow

यह फ़ंक्शन, window ऑब्जेक्ट से किसी वैरिएबल को कॉपी करता है. अगर window में मौजूद वैल्यू को सीधे तौर पर, सैंडबॉक्स किए गए JavaScript में इस्तेमाल किए जा सकने वाले टाइप से मैप नहीं किया जा सकता, तो undefined दिखेगा. सैंडबॉक्स किए गए JavaScript में इन आठ टाइप का इस्तेमाल किया जा सकता है: null, undefined, boolean, number, string, Array, Object, और function. यह फ़ेच की गई (और बदली गई) वैल्यू दिखाता है.

सिंटैक्स

copyFromWindow(key)

पैरामीटर

पैरामीटर टाइप ब्यौरा
key स्ट्रिंग window में मौजूद वह कुंजी जिसकी वैल्यू कॉपी करनी है.

इससे जुड़ी अनुमतियां

access_globals


createArgumentsQueue

यह फ़ंक्शन, एक ऐसी कतार बनाता है जिसमें आर्ग्युमेंट ऑब्जेक्ट शामिल होते हैं. यह उन टैग सलूशन के लिए ज़रूरी है जिनके लिए इसकी ज़रूरत होती है.

यह ग्लोबल स्कोप (यानी कि window) में एक फ़ंक्शन बनाता है.इसके लिए, fnKey आर्ग्युमेंट का इस्तेमाल करता है (createQueue के जैसा ही सिमैंटिक). फ़ंक्शन बनने के बाद, यह एपीआई arrayKey आर्ग्युमेंट का इस्तेमाल करके, window में एक ऐरे बनाता है. अगर यह ऐरे पहले से मौजूद नहीं है, तो ही ऐसा किया जाता है.

fnKey में बनाए गए फ़ंक्शन को कॉल करने पर, यह अपने आर्ग्युमेंट ऑब्जेक्ट को arrayKey में बनाए गए अरे में पुश करता है. एपीआई की रिटर्न वैल्यू, fnKey में बनाया गया फ़ंक्शन है.

इस फ़ंक्शन के लिए, access_globals अनुमति पर fnKey और arrayKey के लिए पढ़ने और लिखने की सेटिंग की ज़रूरत होती है.

उदाहरण:

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

सिंटैक्स

createArgumentsQueue(fnKey, arrayKey)

पैरामीटर

पैरामीटर टाइप ब्यौरा
fnKey स्ट्रिंग window में वह पाथ जहां फ़ंक्शन सेट किया गया है. हालांकि, ऐसा तब होगा, जब वह पाथ पहले से मौजूद न हो. यह आर्ग्युमेंट, स्टैंडर्ड डॉट नोटेशन के साथ काम करता है. अगर कुंजी का पाथ मौजूद नहीं है, तो एक अपवाद थ्रो किया जाता है. इसका मतलब है कि अगर fnKey 'one.two' है, तो यह एक अपवाद देगा.
arrayKey स्ट्रिंग अगर ऐरे पहले से मौजूद नहीं है, तो window में वह पाथ जहां ऐरे सेट किया गया है. यह आर्ग्युमेंट, स्टैंडर्ड डॉट नोटेशन के साथ काम करता है. अगर कुंजी का पाथ मौजूद नहीं है, तो एक अपवाद थ्रो किया जाता है. इसका मतलब है कि अगर arrayKey 'one.two' है और 'one' नाम का कोई ग्लोबल ऑब्जेक्ट मौजूद नहीं है, तो यह एक अपवाद होगा.

इससे जुड़ी अनुमतियां

access_globals


createQueue

window में एक ऐरे बनाता है (अगर यह पहले से मौजूद नहीं है) और एक ऐसा फ़ंक्शन दिखाता है जो उस ऐरे में वैल्यू पुश करेगा.

इस फ़ंक्शन के लिए, arrayKey की सेटिंग को पढ़ने और लिखने की अनुमति ज़रूरी है.access_globals

उदाहरण:

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

सिंटैक्स

createQueue(arrayKey)

पैरामीटर

पैरामीटर टाइप ब्यौरा
arrayKey स्ट्रिंग window में मौजूद वह कुंजी जहां ऐरे सेट किया गया है. हालांकि, ऐसा तब होगा, जब वह कुंजी पहले से मौजूद न हो. यह आर्ग्युमेंट, स्टैंडर्ड डॉट नोटेशन के साथ काम करता है. अगर कुंजी का पाथ मौजूद नहीं है, तो एक अपवाद थ्रो किया जाता है. उदाहरण के लिए, अगर arrayKey, 'one.two' है और 'one' नाम का कोई ग्लोबल ऑब्जेक्ट नहीं है, तो यह एक अपवाद होगा.

इससे जुड़ी अनुमतियां

access_globals


decodeUri

यह फ़ंक्शन, दिए गए यूआरआई में कोड में बदले गए वर्णों को डिकोड करता है. यह फ़ंक्शन, डिकोड किए गए यूआरआई को दिखाने वाली स्ट्रिंग दिखाता है. गलत इनपुट देने पर, यह undefined दिखाता है.

उदाहरण:

const decode = require('decodeUri');

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

सिंटैक्स

decodeUri(encoded_uri)

पैरामीटर

पैरामीटर टाइप ब्यौरा
encoded_uri स्ट्रिंग ऐसा यूआरआई जिसे encodeUri() या किसी अन्य तरीके से कोड में बदला गया हो.

इससे जुड़ी अनुमतियां

कोई नहीं.


decodeUriComponent

यह फ़ंक्शन, दिए गए यूआरआई कॉम्पोनेंट में कोड में बदले गए वर्णों को डिकोड करता है. यह डिकोड किए गए यूआरआई कॉम्पोनेंट को दिखाने वाली string दिखाता है. अमान्य इनपुट दिए जाने पर, यह फ़ंक्शन undefined दिखाता है.

उदाहरण:

const decode = require('decodeUriComponent');

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

सिंटैक्स

decodeUriComponent(encoded_uri_component)

पैरामीटर

पैरामीटर टाइप ब्यौरा
encoded_uri_component स्ट्रिंग यह एक यूआरआई कॉम्पोनेंट है, जिसे encodeUriComponent() या किसी अन्य तरीके से कोड में बदला गया है.

इससे जुड़ी अनुमतियां

कोई नहीं.


encodeUri

यह फ़ंक्शन, खास वर्णों को हटाकर एन्कोड किया गया यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर (यूआरआई) दिखाता है. यह फ़ंक्शन, ऐसी स्ट्रिंग दिखाता है जो यूआरआई के तौर पर कोड में बदली गई स्ट्रिंग को दिखाती है. अमान्य इनपुट (सिर्फ़ सरोगेट) दिए जाने पर, undefined दिखाता है.

उदाहरण:

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

सिंटैक्स

encodeUri(uri)

पैरामीटर

पैरामीटर टाइप ब्यौरा
uri स्ट्रिंग पूरा यूआरआई.

इससे जुड़ी अनुमतियां

कोई नहीं.


encodeUriComponent

यह फ़ंक्शन, खास वर्णों को हटाकर एन्कोड किया गया यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर (यूआरआई) दिखाता है. यह फ़ंक्शन, ऐसी स्ट्रिंग दिखाता है जो यूआरआई के तौर पर कोड में बदली गई स्ट्रिंग को दिखाती है. अमान्य इनपुट (सिर्फ़ सरोगेट) दिए जाने पर, undefined दिखाता है.

उदाहरण:

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

सिंटैक्स

encodeUriComponent(str)

पैरामीटर

पैरामीटर टाइप ब्यौरा
str स्ट्रिंग यूआरआई का एक कॉम्पोनेंट.

इससे जुड़ी अनुमतियां

कोई नहीं.


fromBase64

fromBase64 एपीआई की मदद से, स्ट्रिंग को उनके base64 फ़ॉर्मैट से डिकोड किया जा सकता है. अमान्य इनपुट दिए जाने पर, यह फ़ंक्शन undefined दिखाता है.

सिंटैक्स

fromBase64(base64EncodedString)

पैरामीटर

पैरामीटर टाइप ब्यौरा
base64EncodedString स्ट्रिंग Base64 कोड में बदली गई स्ट्रिंग.

उदाहरण

const fromBase64 = require('fromBase64');

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

इससे जुड़ी अनुमतियां

कोई नहीं


generateRandom

यह फ़ंक्शन, दी गई रेंज में कोई भी संख्या (पूर्णांक) दिखाता है.

सिंटैक्स

generateRandom(min, max)

पैरामीटर

पैरामीटर टाइप ब्यौरा
min number लौटाए गए पूर्णांक की कम से कम संभावित वैल्यू.
max number लौटाए गए पूर्णांक की ज़्यादा से ज़्यादा संभावित वैल्यू.

इससे जुड़ी अनुमतियां

कोई नहीं.


getContainerVersion

यह फ़ंक्शन, मौजूदा कंटेनर के बारे में डेटा वाला object दिखाता है. जवाब में मिले ऑब्जेक्ट में ये फ़ील्ड शामिल होते हैं:

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

उदाहरण

const getContainerVersion = require('getContainerVersion');
const sendPixel = require('sendPixel');

if (query('read_container_data')) {
  const cv = getContainerVersion();

  const pixelUrl = 'https://pixel.com/' +
    '?version=' + cv.version +
    '&envName=' + cv.environmentName +
    '&ctid=' + cv.containerId +
    '&debugMode=' + cv.debugMode +
    '&previewMode=' + cv.previewMode;
  if (query('send_pixel', pixelUrl)) {
    sendPixel(pixelUrl);
  }
}

सिंटैक्स

getContainerVersion();

इससे जुड़ी अनुमतियां

read_container_data


getCookieValues

यह फ़ंक्शन, दिए गए नाम वाली सभी कुकी की वैल्यू दिखाता है.

सिंटैक्स

getCookieValues(name[, decode])

पैरामीटर

पैरामीटर टाइप ब्यौरा
name स्ट्रिंग कुकी का नाम.
decode boolean इस कुकी से यह कंट्रोल होता है कि कुकी की वैल्यू को JavaScript के decodeURIComponent() का इस्तेमाल करके डिकोड किया जाए या नहीं. डिफ़ॉल्ट रूप से, यह true पर सेट होती है.

इससे जुड़ी अनुमतियां

get_cookies


getQueryParameters

यह फ़ंक्शन, मौजूदा यूआरएल के queryKey के लिए, पहले या सभी पैरामीटर दिखाता है. queryKey से पहली वैल्यू या queryKey से वैल्यू की एक सरणी दिखाता है.

सिंटैक्स

getQueryParameters(queryKey[, retrieveAll])

पैरामीटर

पैरामीटर टाइप ब्यौरा
queryKey स्ट्रिंग क्वेरी पैरामीटर से पढ़ने के लिए कुंजी.
retrieveAll boolean क्या सभी वैल्यू वापस लानी हैं.

उदाहरण के लिए, अगर मौजूदा यूआरएल https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo है, तो:

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

इससे जुड़ी अनुमतियां

get_url को query कॉम्पोनेंट की अनुमति देनी होगी. साथ ही, उसे अनुमति वाली क्वेरी कुंजियों में queryKey तय करना होगा. इसके अलावा, वह किसी भी क्वेरी कुंजी की अनुमति दे सकता है.


getReferrerQueryParameters

getReferrerQueryParameters एपीआई, getQueryParameters की तरह ही काम करता है. हालांकि, यह मौजूदा यूआरएल के बजाय रेफ़रर पर काम करता है. यह फ़ंक्शन, दिए गए रेफ़रर के queryKey के लिए, पहले या सभी पैरामीटर दिखाता है. queryKey से पहली वैल्यू या queryKey से वैल्यू की एक सरणी दिखाता है.

सिंटैक्स

getReferrerQueryParameters(queryKey[, retrieveAll])

पैरामीटर

पैरामीटर टाइप ब्यौरा
queryKey स्ट्रिंग क्वेरी पैरामीटर से पढ़ने के लिए कुंजी.
retrieveAll boolean क्या सभी वैल्यू वापस लानी हैं.

उदाहरण के लिए, अगर रेफ़रर यूआरएल https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo है, तो:

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

इससे जुड़ी अनुमतियां

get_referrer को query कॉम्पोनेंट को अनुमति देनी होगी. साथ ही, उसे अनुमति वाली क्वेरी कुंजियों में queryKey को शामिल करना होगा. इसके अलावा, वह किसी भी क्वेरी कुंजी को अनुमति दे सकता है.


getReferrerUrl

कॉम्पोनेंट टाइप दिए जाने पर, एपीआई रेफ़रर के लिए दस्तावेज़ ऑब्जेक्ट को पढ़ता है और एक स्ट्रिंग दिखाता है. यह स्ट्रिंग, रेफ़रर के एक हिस्से को दिखाती है. अगर कोई कॉम्पोनेंट नहीं दिया गया है, तो रेफ़र करने वाले का पूरा यूआरएल दिखता है.

सिंटैक्स

getReferrerUrl([component])

पैरामीटर

पैरामीटर टाइप ब्यौरा
component स्ट्रिंग यूआरएल से वापस मिलने वाला कॉम्पोनेंट. इनमें से कोई एक स्थिति हो सकती है: protocol, host, port, path, query, extension. अगर component, undefined या null है या इनमें से किसी कॉम्पोनेंट से मेल नहीं खाता है, तो पूरा यूआरएल दिखेगा.

इससे जुड़ी अनुमतियां

get_referrer को query कॉम्पोनेंट को अनुमति देनी होगी. साथ ही, उसे अनुमति वाली क्वेरी कुंजियों में queryKey को शामिल करना होगा. इसके अलावा, वह किसी भी क्वेरी कुंजी को अनुमति दे सकता है.


getTimestamp

अब काम नहीं करता. getTimestampMillis का इस्तेमाल करें.

यह फ़ंक्शन, Unix epoch के बाद से अब तक के समय को मिलीसेकंड में दिखाता है. इसे Date.now() फ़ंक्शन से मिले number के तौर पर दिखाया जाता है.

सिंटैक्स

getTimestamp();

इससे जुड़ी अनुमतियां

कोई नहीं.


getTimestampMillis

यह फ़ंक्शन, Unix epoch के बाद से अब तक के समय को मिलीसेकंड में दिखाता है. इसे Date.now() फ़ंक्शन से मिले number के तौर पर दिखाया जाता है.

सिंटैक्स

getTimestampMillis();

इससे जुड़ी अनुमतियां

कोई नहीं.


getType

यह फ़ंक्शन, दी गई वैल्यू के टाइप की जानकारी देने वाली स्ट्रिंग दिखाता है. typeof के उलट, getType, array और object के बीच अंतर करता है.

सिंटैक्स

getType(data.someField)

ज़रूरी जानकारी

यहां दी गई टेबल में, हर इनपुट वैल्यू के लिए दिखाई गई स्ट्रिंग की सूची दी गई है.

इनपुट मान नतीजा
undefined 'undefined'
null 'null'
true 'boolean'
12 'number'
'string' 'string'
{ a: 3 } 'object'
[ 1, 3 ] 'array'
(x) => x + 1 'function'

इससे जुड़ी अनुमतियां

कोई नहीं.


getUrl

यह फ़ंक्शन, मौजूदा यूआरएल के पूरे या किसी हिस्से को दिखाता है. इसके लिए, कॉम्पोनेंट टाइप और कुछ कॉन्फ़िगरेशन पैरामीटर दिए जाते हैं. यह फ़ंक्शन, string दिखाता है.

सिंटैक्स

getUrl(component)

पैरामीटर

पैरामीटर टाइप ब्यौरा
component स्ट्रिंग यूआरएल से वापस मिलने वाला कॉम्पोनेंट. इनमें से कोई एक होना चाहिए: protocol, host, port, path, query, extension, fragment. अगर कॉम्पोनेंट undefined या null है या इनमें से किसी कॉम्पोनेंट से मेल नहीं खाता है, तो href की पूरी वैल्यू दिखाई जाएगी.

इससे जुड़ी अनुमतियां

get_url


gtagSet

यह gtag सेट कमांड को डेटा लेयर में पुश करता है, ताकि मौजूदा इवेंट और उससे ट्रिगर होने वाले टैग की प्रोसेसिंग पूरी होने के बाद (या टैग प्रोसेसिंग का टाइम आउट पूरा होने के बाद) इसे जल्द से जल्द प्रोसेस किया जा सके. इस अपडेट को इस कंटेनर में प्रोसेस किया जाएगा. इसके बाद, डेटा लेयर की कतार में मौजूद किसी भी आइटम को प्रोसेस किया जाएगा.

उदाहरण के लिए, अगर इसे सहमति की प्रोसेस शुरू करने वाले ट्रिगर से ट्रिगर हुए टैग से कॉल किया जाता है, तो अपडेट, सहमति की प्रोसेस शुरू करने वाले इवेंट के प्रोसेस होने से पहले लागू हो जाएगा. उदाहरण के लिए, ads_data_redaction को true या false पर सेट करना या url_passthrough को true या false पर सेट करना.

उदाहरण:

const gtagSet = require('gtagSet');

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

सिंटैक्स

gtagSet(object)

पैरामीटर

पैरामीटर टाइप ब्यौरा
Object object यह एक ऐसा ऑब्जेक्ट होता है जो अपनी प्रॉपर्टी के लिए ग्लोबल स्टेट को अपडेट करता है.

इससे जुड़ी अनुमतियां

write_data_layer, सभी तय की गई कुंजियों के लिए dataLayer में लिखने की अनुमति की जांच करता है. अगर gtagSet में इनपुट एक सामान्य ऑब्जेक्ट है, तो एपीआई उस ऑब्जेक्ट में मौजूद सभी फ़्लैट किए गए कुंजियों के लिए, लिखने की अनुमति की जांच करेगा. उदाहरण के लिए, gtagSet({foo: {bar: 'baz'}}) के लिए, एपीआई foo.bar के लिए लिखने की अनुमति की जांच करेगा.

अगर gtagSet में इनपुट के तौर पर कोई कुंजी और कुछ नॉन-प्लेन ऑब्जेक्ट वैल्यू दी जाती है, तो एपीआई उस कुंजी के लिए लिखने की अनुमति की जांच करेगा. उदाहरण के लिए, gtagSet('abc', true) के लिए, एपीआई 'abc' के लिए लिखने की अनुमति की जांच करेगा.

ध्यान दें कि अगर इनपुट ऑब्जेक्ट में कोई साइकल है, तो सिर्फ़ उसी ऑब्जेक्ट तक पहुंचने से पहले की कुंजियों की जांच की जाएगी.


injectHiddenIframe

यह कुकी, पेज में न दिखने वाला iframe जोड़ती है.

कॉलबैक को फ़ंक्शन इंस्टेंस के तौर पर दिया जाता है. इन्हें JavaScript फ़ंक्शन में रैप किया जाता है, जो इन्हें कॉल करते हैं.

सिंटैक्स

injectHiddenIframe(url, onSuccess)

पैरामीटर

पैरामीटर टाइप ब्यौरा
url स्ट्रिंग आईफ़्रेम के src एट्रिब्यूट की वैल्यू के तौर पर इस्तेमाल किया जाने वाला यूआरएल.
onSuccess function जब फ़्रेम लोड हो जाता है, तब इसे कॉल किया जाता है.

इससे जुड़ी अनुमतियां

inject_hidden_iframe


injectScript

यह फ़ंक्शन, पेज में एक स्क्रिप्ट टैग जोड़ता है, ताकि दिए गए यूआरएल को एसिंक्रोनस तरीके से लोड किया जा सके. कॉलबैक को फ़ंक्शन इंस्टेंस के तौर पर दिया जाता है. साथ ही, इन्हें JavaScript फ़ंक्शन में रैप किया जाता है. ये फ़ंक्शन, कॉलबैक को कॉल करते हैं.

सिंटैक्स

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

पैरामीटर

पैरामीटर टाइप ब्यौरा
url स्ट्रिंग इंजेक्ट की जाने वाली स्क्रिप्ट का पता.
onSuccess function जब स्क्रिप्ट लोड हो जाती है, तब इसे कॉल किया जाता है.
onFailure function यह तब कॉल किया जाता है, जब स्क्रिप्ट लोड नहीं हो पाती है.
cacheToken स्ट्रिंग यह एक वैकल्पिक स्ट्रिंग है. इसका इस्तेमाल यह बताने के लिए किया जाता है कि दिए गए यूआरएल को कैश मेमोरी में सेव किया जाना चाहिए. अगर यह वैल्यू दी जाती है, तो JavaScript का अनुरोध करने के लिए सिर्फ़ एक स्क्रिप्ट एलिमेंट बनाया जाएगा. लोड करने की किसी भी अतिरिक्त कोशिश के बाद, दिए गए onSuccess और onFailure तरीकों को तब तक कतार में रखा जाएगा, जब तक स्क्रिप्ट लोड नहीं हो जाती.

इससे जुड़ी अनुमतियां

inject_script


isConsentGranted

अगर चुनी गई सहमति के लिए मंज़ूरी मिल चुकी है, तो यह फ़ंक्शन 'सही' दिखाता है.

किसी खास सहमति टाइप के लिए सहमति को तब 'मंज़ूरी दी गई' माना जाता है, जब सहमति टाइप को 'मंज़ूरी दी गई' पर सेट किया गया हो या उसे सेट न किया गया हो. अगर सहमति के टाइप को किसी अन्य वैल्यू पर सेट किया जाता है, तो इसे सहमति नहीं दी गई के तौर पर माना जाएगा.

टैग सेटिंग के लिए Tag Manager का यूज़र इंटरफ़ेस, हमेशा ट्रिगर होने का विकल्प देगा. अगर 'हमेशा चालू रहता है' विकल्प वाला कोई टैग इस एपीआई का इस्तेमाल करता है, तो सहमति को 'सहमति दी गई' माना जाता है. साथ ही, true को वापस भेज दिया जाता है. भले ही, सहमति की मौजूदा स्थिति कुछ भी हो.

उदाहरण:

const isConsentGranted = require('isConsentGranted');

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

सिंटैक्स

isConsentGranted(consentType)

पैरामीटर

पैरामीटर टाइप ब्यौरा
consentType स्ट्रिंग सहमति का वह टाइप जिसकी स्थिति की जांच करनी है.

इससे जुड़ी अनुमतियां

सहमति के टाइप के लिए, पढ़ने के ऐक्सेस के साथ access_consent की अनुमति.


JSON

यह एक ऐसा ऑब्जेक्ट दिखाता है जो JSON फ़ंक्शन उपलब्ध कराता है.

parse() फ़ंक्शन, JSON स्ट्रिंग को पार्स करता है, ताकि स्ट्रिंग में बताई गई वैल्यू या ऑब्जेक्ट बनाया जा सके. अगर वैल्यू को पार्स नहीं किया जा सकता (जैसे, गलत तरीके से बनाया गया JSON), तो फ़ंक्शन undefined दिखाएगा. अगर इनपुट वैल्यू कोई स्ट्रिंग नहीं है, तो इनपुट को स्ट्रिंग में बदल दिया जाएगा.

stringify() फ़ंक्शन, इनपुट को JSON स्ट्रिंग में बदलता है. अगर वैल्यू को पार्स नहीं किया जा सकता (जैसे, ऑब्जेक्ट में कोई साइकल है), तो यह तरीका undefined दिखाएगा.

सिंटैक्स

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

पैरामीटर

JSON.parse

पैरामीटर टाइप ब्यौरा
stringInput any वह वैल्यू जिसे बदलना है. अगर वैल्यू स्ट्रिंग नहीं है, तो इनपुट को स्ट्रिंग में बदल दिया जाएगा.

JSON.stringify

पैरामीटर टाइप ब्यौरा
मान any वह वैल्यू जिसे बदलना है.

उदाहरण

const JSON = require('JSON');

// The JSON input string is converted to an object.
const object = JSON.parse('{"foo":"bar"}');

// The input object is converted to a JSON string.
const str = JSON.stringify({foo: 'bar'});

localStorage

यह फ़ंक्शन, लोकल स्टोरेज को ऐक्सेस करने के तरीकों वाला ऑब्जेक्ट दिखाता है.

सिंटैक्स

const localStorage = require('localStorage');

// Requires read access for the key. Returns null if the key does not exist.
localStorage.getItem(key);

// Requires write access for the key. Returns true if successful.
localStorage.setItem(key, value);

// Requires write access for the key.
localStorage.removeItem(key);

इससे जुड़ी अनुमतियां

access_local_storage

उदाहरण

const localStorage = require('localStorage');
if (localStorage) {
  const value = localStorage.getItem('my_key');
  if (value) {
    const success = localStorage.setItem('my_key', 'new_value');
    if (success) {
      localStorage.removeItem('my_key');
    }
  }
}

logToConsole

यह फ़ंक्शन, ब्राउज़र कंसोल में आर्ग्युमेंट लॉग करता है.

सिंटैक्स

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

पैरामीटर

पैरामीटर टाइप ब्यौरा
obj1 [, obj2,... objN] any तर्क

इससे जुड़ी अनुमतियां

logging


makeInteger

यह दी गई वैल्यू को संख्या (पूर्णांक) में बदलता है.

सिंटैक्स

makeInteger(value)

पैरामीटर

पैरामीटर टाइप ब्यौरा
value any वह वैल्यू जिसे बदलना है.

इससे जुड़ी अनुमतियां

कोई नहीं.


makeNumber

यह दी गई वैल्यू को संख्या में बदलता है.

सिंटैक्स

makeNumber(value)

पैरामीटर

पैरामीटर टाइप ब्यौरा
value any वह वैल्यू जिसे बदलना है.

इससे जुड़ी अनुमतियां

कोई नहीं.


makeString

दी गई वैल्यू को स्ट्रिंग के तौर पर दिखाता है.

सिंटैक्स

makeString(value)

पैरामीटर

पैरामीटर टाइप ब्यौरा
value any वह वैल्यू जिसे बदलना है.

इससे जुड़ी अनुमतियां

कोई नहीं.


makeTableMap

यह दो कॉलम वाले सामान्य टेबल ऑब्जेक्ट को Map में बदलता है. इसका इस्तेमाल, दो कॉलम वाले SIMPLE_TABLE टेंप्लेट फ़ील्ड को मैनेज करने में आसान फ़ॉर्मैट में बदलने के लिए किया जाता है.

उदाहरण के लिए, यह फ़ंक्शन किसी टेबल ऑब्जेक्ट को बदल सकता है:

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

में बदलें:

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

यह एक Object दिखाता है: अगर इसमें की-वैल्यू पेयर जोड़े गए हैं, तो बदला गया Map या अगर ऐसा नहीं है, तो null.

सिंटैक्स

makeTableMap(tableObj, keyColumnName, valueColumnName)

पैरामीटर

पैरामीटर टाइप ब्यौरा
tableObj सूची बदलने के लिए टेबल ऑब्जेक्ट. यह मैप की एक सूची है, जिसमें हर Map टेबल में एक पंक्ति को दिखाता है. लाइन ऑब्जेक्ट में मौजूद हर प्रॉपर्टी का नाम, कॉलम का नाम होता है. साथ ही, प्रॉपर्टी की वैल्यू, लाइन में मौजूद कॉलम की वैल्यू होती है.
keyColumnName स्ट्रिंग उस कॉलम का नाम जिसकी वैल्यू, बदले गए Map में कुंजियां बन जाएंगी.
valueColumnName स्ट्रिंग उस कॉलम का नाम जिसकी वैल्यू, बदले गए Map में वैल्यू बन जाएंगी.

इससे जुड़ी अनुमतियां

कोई नहीं.


Math

Math फ़ंक्शन उपलब्ध कराने वाला ऑब्जेक्ट.

सिंटैक्स

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

पैरामीटर

गणित के फ़ंक्शन के पैरामीटर को संख्याओं में बदल दिया जाता है.

इससे जुड़ी अनुमतियां

कोई नहीं.


Object

यह एक ऐसा ऑब्जेक्ट दिखाता है जो Object तरीके उपलब्ध कराता है.

keys() तरीके से, Standard Library Object.keys() के बारे में जानकारी मिलती है. यह फ़ंक्शन, दिए गए ऑब्जेक्ट की अपनी इन्यूमरेबल प्रॉपर्टी के नामों की एक ऐसी ऐरे दिखाता है जिसमें प्रॉपर्टी के नाम उसी क्रम में होते हैं जिस क्रम में for...in... लूप में होते हैं. अगर इनपुट वैल्यू कोई ऑब्जेक्ट नहीं है, तो उसे ऑब्जेक्ट में बदल दिया जाएगा.

values() तरीके से, स्टैंडर्ड लाइब्रेरी Object.values() के जैसा व्यवहार होता है. यह फ़ंक्शन, दिए गए ऑब्जेक्ट की अपनी इन्यूमरेबल प्रॉपर्टी वैल्यू का एक ऐरे दिखाता है. यह ऐरे, उसी क्रम में होता है जिस क्रम में for...in... लूप होता है. अगर इनपुट वैल्यू कोई ऑब्जेक्ट नहीं है, तो उसे ऑब्जेक्ट में बदल दिया जाएगा.

entries() तरीके से, स्टैंडर्ड लाइब्रेरी Object.entries() का व्यवहार मिलता है. यह फ़ंक्शन, दिए गए ऑब्जेक्ट की अपनी इन्यूमरेबल प्रॉपर्टी [key, value] पेयर की एक ऐसी ऐरे दिखाता है जिसमें प्रॉपर्टी उसी क्रम में होती हैं जिस क्रम में for...in... लूप में होती हैं. अगर इनपुट वैल्यू कोई ऑब्जेक्ट नहीं है, तो उसे ऑब्जेक्ट में बदल दिया जाएगा.

freeze() तरीके से, स्टैंडर्ड लाइब्रेरी Object.freeze() का व्यवहार मिलता है. फ़्रीज़ किए गए ऑब्जेक्ट में अब बदलाव नहीं किया जा सकता. किसी ऑब्जेक्ट को फ़्रीज़ करने से, उसमें नई प्रॉपर्टी नहीं जोड़ी जा सकतीं, मौजूदा प्रॉपर्टी नहीं हटाई जा सकतीं, और मौजूदा प्रॉपर्टी की वैल्यू नहीं बदली जा सकतीं. freeze() उसी ऑब्जेक्ट को दिखाता है जिसे पास किया गया था. प्रिमिटिव या शून्य आर्ग्युमेंट को ऐसे माना जाएगा जैसे कि वह फ़्रीज़ किया गया ऑब्जेक्ट हो. साथ ही, उसे वापस कर दिया जाएगा.

delete() तरीके से, स्टैंडर्ड लाइब्रेरी के delete operator का इस्तेमाल किया जाता है. यह ऑब्जेक्ट से दी गई कुंजी को हटाता है, जब तक कि ऑब्जेक्ट फ़्रीज़ न हो. स्टैंडर्ड लाइब्रेरी के डिलीट ऑपरेटर की तरह, यह true दिखाता है. ऐसा तब होता है, जब पहली इनपुट वैल्यू (objectInput) ऐसा ऑब्जेक्ट हो जिसे फ़्रीज़ नहीं किया गया है. भले ही, दूसरी इनपुट वैल्यू (keyToDelete) ऐसी कुंजी तय करती हो जो मौजूद नहीं है. अन्य सभी मामलों में, यह false दिखाता है. हालांकि, यह स्टैंडर्ड लाइब्रेरी के डिलीट ऑपरेटर से इन मामलों में अलग है:

  • keyToDelete ऐसी स्ट्रिंग नहीं हो सकती जिसमें डॉट-डिलिमिटेड का इस्तेमाल किया गया हो और जो नेस्ट की गई कुंजी के बारे में बताती हो.
  • delete() का इस्तेमाल, किसी ऐरे से एलिमेंट हटाने के लिए नहीं किया जा सकता.
  • delete() का इस्तेमाल, ग्लोबल स्कोप से किसी भी प्रॉपर्टी को हटाने के लिए नहीं किया जा सकता.

सिंटैक्स

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

पैरामीटर

Object.keys

पैरामीटर टाइप ब्यौरा
objectInput any वह ऑब्जेक्ट जिसकी कुंजियों को गिनना है. अगर इनपुट कोई ऑब्जेक्ट नहीं है, तो उसे ऑब्जेक्ट में बदल दिया जाएगा.

Object.values

पैरामीटर टाइप ब्यौरा
objectInput any वह ऑब्जेक्ट जिसकी वैल्यू की गिनती करनी है. अगर इनपुट कोई ऑब्जेक्ट नहीं है, तो उसे ऑब्जेक्ट में बदल दिया जाएगा.

Object.entries

पैरामीटर टाइप ब्यौरा
objectInput any वह ऑब्जेक्ट जिसके की/वैल्यू पेयर की गिनती करनी है. अगर इनपुट कोई ऑब्जेक्ट नहीं है, तो उसे ऑब्जेक्ट में बदल दिया जाएगा.

Object.freeze

पैरामीटर टाइप ब्यौरा
objectInput any फ़्रीज़ करने के लिए ऑब्जेक्ट. अगर इनपुट कोई ऑब्जेक्ट नहीं है, तो उसे फ़्रीज़ किया गया ऑब्जेक्ट माना जाएगा.

Object.delete

पैरामीटर टाइप ब्यौरा
objectInput any वह ऑब्जेक्ट जिसकी कुंजी को मिटाना है.
keyToDelete स्ट्रिंग मिटाने के लिए टॉप-लेवल की कुंजी.

उदाहरण

const Object = require('Object');

// The keys of an object are enumerated in an array.
const keys = Object.keys({foo: 'bar'});

// The values of an object are enumerated in an array.
const values = Object.values({foo: 'bar'});

// The key/value pairs of an object are enumerated in an array.
const entries = Object.entries({foo: 'bar'});

// The input object is frozen.
const frozen = Object.freeze({foo: 'bar'});

// The key is removed from the input object.
const obj1 = {deleteme: 'value'};
Object.delete(obj1, 'deleteme');
// Only a top-level key can be specified as the key to delete.
const obj2 = {nested: {key: 'value'}};
Object.delete(obj2, 'nested.key'); // This has no effect.
Object.delete(obj2.nested, 'key'); // This deletes the nested key.

parseUrl

यह एक ऐसा ऑब्जेक्ट दिखाता है जिसमें दिए गए यूआरएल के सभी कॉम्पोनेंट शामिल होते हैं. यह URL ऑब्जेक्ट की तरह होता है.

यह एपीआई, गलत फ़ॉर्मैट वाले किसी भी यूआरएल के लिए undefined दिखाएगा. सही फ़ॉर्मैट वाले यूआरएल के लिए, यूआरएल स्ट्रिंग में मौजूद नहीं होने वाले फ़ील्ड की वैल्यू एक खाली स्ट्रिंग होगी. इसके अलावा, searchParams के मामले में, यह एक खाली ऑब्जेक्ट होगा.

जवाब में मिले ऑब्जेक्ट में ये फ़ील्ड होंगे:

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

उदाहरण

const parseUrl = require('parseUrl');

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

सिंटैक्स

parseUrl(url);

पैरामीटर

पैरामीटर टाइप ब्यौरा
url स्ट्रिंग वह पूरा यूआरएल जिसे पार्स किया जाएगा.

इससे जुड़ी अनुमतियां

कोई नहीं.


queryPermission

अनुमति दी गई और सीमित की गई अनुमतियों के बारे में क्वेरी करना. यह फ़ंक्शन बूलियन वैल्यू दिखाता है: अनुमति मिलने पर true और अनुमति न मिलने पर false.

सिंटैक्स

queryPermission(permission, functionArgs*)

पैरामीटर

पैरामीटर टाइप ब्यौरा
permission स्ट्रिंग अनुमति का नाम.
functionArgs any जिस अनुमति के बारे में क्वेरी की जा रही है उसके हिसाब से, फ़ंक्शन के आर्ग्युमेंट अलग-अलग होते हैं. नीचे फ़ंक्शन के तर्क देखें.

फ़ंक्शन के आर्ग्युमेंट

sendPixel, injectScript, injectHiddenIframe: दूसरा पैरामीटर, यूआरएल स्ट्रिंग होना चाहिए.

writeGlobals, readGlobals: दूसरे पैरामीटर में, लिखी या पढ़ी जा रही कुंजी होनी चाहिए.

readUrl: पूरे यूआरएल को पढ़ा जा सकता है या नहीं, यह क्वेरी करने के लिए किसी और तर्क की ज़रूरत नहीं होती. यह क्वेरी करने के लिए कि क्या किसी कॉम्पोनेंट को पढ़ा जा सकता है, कॉम्पोनेंट का नाम दूसरे आर्ग्युमेंट के तौर पर पास करें:

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

यह देखने के लिए कि किसी क्वेरी की को पढ़ा जा सकता है या नहीं, क्वेरी की को तीसरे पैरामीटर के तौर पर पास करें:

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

इससे जुड़ी अनुमतियां

कोई नहीं.


readAnalyticsStorage

यह कुकी, Analytics के लिए सेव किया गया डेटा वापस लाती है. साथ ही, client_id और sessions के साथ एक ऑब्जेक्ट दिखाती है.

  • client_id: यह एक स्ट्रिंग है, जो Analytics के लिए इस्तेमाल किए गए क्लाइंट आईडी को दिखाती है.
  • sessions: ऑब्जेक्ट का एक ऐसा कलेक्शन जिसमें मौजूदा सेशन के बारे में जानकारी होती है. हर ऑब्जेक्ट में ये शामिल हैं:
    • measurement_id: Analytics डेस्टिनेशन के मेज़रमेंट आईडी को दिखाने वाली स्ट्रिंग.
    • session_id: यह एक स्ट्रिंग है, जो टाइमस्टैंप को दिखाती है. इससे मौजूदा सेशन की पहचान होती है.
    • session_number: यह एक संख्या है. इससे पता चलता है कि मौजूदा सेशन तक पहुंचने से पहले, उपयोगकर्ता ने कितने सेशन शुरू किए.

सिंटैक्स

const readAnalyticsStorage = require('readAnalyticsStorage');

const cookieOptions = {
  cookie_prefix: "xyz",
  cookie_domain: "google.com",
  cookie_path: "/",
};

readAnalyticsStorage(cookieOptions);

पैरामीटर

पैरामीटर टाइप ब्यौरा
cookieOptions object ज़रूरी नहीं है. किसी खास cookie_prefix, cookie_domain या cookie_path के साथ कुकी पढ़ने के विकल्प.

इससे जुड़ी अनुमतियां

read_analytics_storage

उदाहरण

const readAnalyticsStorage = require('readAnalyticsStorage');

const analyticsStorageData = readAnalyticsStorage();

sendOfflineEvent(analyticsStorageData.client_id, "tutorial_begin");

readCharacterSet

document.characterSet की वैल्यू दिखाता है.

सिंटैक्स

readCharacterSet()

पैरामीटर

कोई नहीं.

इससे जुड़ी अनुमतियां

read_character_set


readTitle

document.title की वैल्यू दिखाता है.

सिंटैक्स

readTitle()

पैरामीटर

कोई नहीं.

इससे जुड़ी अनुमतियां

read_title


require

यह फ़ंक्शन, नाम के हिसाब से बिल्ट-इन फ़ंक्शन को इंपोर्ट करता है. यह एक फ़ंक्शन या ऑब्जेक्ट दिखाता है, जिसे आपके प्रोग्राम से कॉल किया जा सकता है. अगर ब्राउज़र में बिल्ट-इन फ़ंक्शन काम नहीं करता है, तो यह undefined दिखाता है.

सिंटैक्स

require(name)

पैरामीटर

पैरामीटर टाइप ब्यौरा
name स्ट्रिंग इंपोर्ट किए जाने वाले फ़ंक्शन का नाम.

उदाहरण

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

इससे जुड़ी अनुमतियां

कोई नहीं.


sendPixel

यह अनुमति मिलने पर, दिए गए यूआरएल एंडपॉइंट पर GET अनुरोध किया जा सकता है.

सिंटैक्स

sendPixel(url, onSuccess, onFailure)

पैरामीटर

पैरामीटर टाइप ब्यौरा
url स्ट्रिंग पिक्सल को कहां भेजना है.
onSuccess function यह फ़ंक्शन तब कॉल किया जाता है, जब पिक्सल लोड हो जाता है. ध्यान दें: अनुरोध के सही तरीके से भेजे जाने के बावजूद, ब्राउज़र को onSuccess को चलाने के लिए, मान्य इमेज रिस्पॉन्स की ज़रूरत पड़ सकती है.
onFailure function यह तब कॉल किया जाता है, जब पिक्सल लोड नहीं हो पाता. ध्यान दें: अनुरोध के सफलतापूर्वक भेजे जाने के बाद भी, अगर सर्वर से मान्य इमेज रिस्पॉन्स नहीं मिलता है, तो onFailure फ़ंक्शन चल सकता है.

इससे जुड़ी अनुमतियां

send_pixel


setCookie

यह कुकी को सेट या मिटाता है. इसके लिए, कुकी का नाम, वैल्यू, और विकल्प तय किए जाते हैं.

सिंटैक्स

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

पैरामीटर

पैरामीटर टाइप ब्यौरा
name स्ट्रिंग कुकी का नाम.
value स्ट्रिंग कुकी की वैल्यू.
options object यह Domain, Path, Expires, Max-Age, Secure, और SameSite एट्रिब्यूट के बारे में बताता है. (नीचे दिए गए विकल्प देखें.)
encode boolean यह कुकी कंट्रोल करती है कि कुकी की वैल्यू को JavaScript के encodeURIComponent() के साथ कोड में बदला जाना है या नहीं. डिफ़ॉल्ट रूप से, यह true पर सेट होती है.

विकल्प

  • डोमेन: अगर मौजूद है, तो इसे options['domain'] प्रॉपर्टी सेट करती है. इस वैल्यू को 'auto' पर सेट करें, ताकि दस्तावेज़ की जगह के आधार पर, सबसे बड़े डोमेन का इस्तेमाल करके कुकी को लिखा जा सके. अगर ऐसा नहीं होता है, तो यह एक के बाद एक छोटे सबडोमेन आज़माएगा. अगर ये सभी तरीके काम नहीं करते हैं, तो यह बिना डोमेन के कुकी लिखने की कोशिश करेगा. अगर कोई वैल्यू सेट नहीं की जाती है, तो यह बिना किसी डोमेन के कुकी को लिखने की कोशिश करेगा. ध्यान दें: जब डोमेन की जानकारी के बिना किसी कुकी को document.cookie में लिखा जाता है, तो उपयोगकर्ता एजेंट, कुकी के डोमेन को मौजूदा दस्तावेज़ की जगह के होस्ट पर डिफ़ॉल्ट कर देगा.
  • पाथ: अगर मौजूद है, तो इसे options['path'] ने सेट किया है. जब पाथ की जानकारी के बिना किसी कुकी को document.cookie में लिखा जाता है, तो उपयोगकर्ता एजेंट, कुकी के पाथ को डिफ़ॉल्ट रूप से मौजूदा दस्तावेज़ की जगह के पाथ पर सेट कर देगा.
  • Max-Age: अगर मौजूद है, तो इसे options['max-age'] सेट करता है.
  • समयसीमा खत्म होने की तारीख: अगर मौजूद है, तो options['expires'] ने सेट की है. अगर यह मौजूद है, तो यह यूटीसी फ़ॉर्मैट में तारीख की स्ट्रिंग होनी चाहिए. Date.toUTCString() का इस्तेमाल, इस पैरामीटर के लिए Date को फ़ॉर्मैट करने के लिए किया जा सकता है.
  • सुरक्षित: अगर मौजूद है, तो इसे options['secure'] सेट करता है.
  • SameSite: अगर मौजूद है, तो इसे options['samesite'] सेट करता है.

इससे जुड़ी अनुमतियां

set_cookies


setDefaultConsentState

यह डेटा लेयर में सहमति से जुड़ा डिफ़ॉल्ट अपडेट पुश करता है, ताकि मौजूदा इवेंट और उससे ट्रिगर होने वाले टैग के प्रोसेस होने के बाद, इसे जल्द से जल्द प्रोसेस किया जा सके. ऐसा तब भी किया जा सकता है, जब टैग को प्रोसेस करने का टाइम आउट खत्म हो गया हो. इस कंटेनर में अपडेट को प्रोसेस करने की गारंटी है. ऐसा डेटा लेयर में मौजूद किसी भी आइटम से पहले किया जाता है. सहमति के बारे में ज़्यादा जानें.

उदाहरण:

const setDefaultConsentState = require('setDefaultConsentState');

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

सिंटैक्स

setDefaultConsentState(consentSettings)

पैरामीटर

पैरामीटर टाइप ब्यौरा
consentSettings object यह एक ऐसा ऑब्जेक्ट है जो सहमति के लिए तय किए गए टाइप की डिफ़ॉल्ट स्थिति तय करता है.

consentSettings ऑब्जेक्ट, सहमति के किसी भी टाइप की स्ट्रिंग को 'granted' या 'denied' में से किसी एक पर मैप करता है. इसके लिए, ये वैल्यू इस्तेमाल की जा सकती हैं:

कुंजी का नाम टाइप ब्यौरा
consentType स्ट्रिंग सहमति के हर टाइप के लिए, वैल्यू को `'granted'` या `'denied'` पर सेट किया जा सकता है. `'granted'` के अलावा किसी भी वैल्यू को `'denied'` के तौर पर माना जाएगा. वैल्यू को `undefined` पर सेट करने से, इसकी पिछली वैल्यू पर कोई असर नहीं पड़ेगा.
region ऐरे क्षेत्र के कोड का एक वैकल्पिक कलेक्शन. इससे यह तय किया जाता है कि सहमति की सेटिंग किस क्षेत्र पर लागू होंगी. क्षेत्र के कोड, ISO 3166-2 फ़ॉर्मैट में देश और/या उपविभागों के हिसाब से दिखाए जाते हैं.
wait_for_update number यह नीति, मिलीसेकंड में वैल्यू तय करती है. इससे यह कंट्रोल किया जाता है कि डेटा भेजने से पहले कितनी देर तक इंतज़ार करना है. इस कुकी का इस्तेमाल, सहमति लेने वाले उन टूल के साथ किया जाता है जो एसिंक्रोनस तरीके से लोड होते हैं.

इससे जुड़ी अनुमतियां

consentSettings ऑब्जेक्ट में, सहमति के सभी टाइप के लिए access_consent अनुमति.


setInWindow

यह फ़ंक्शन, दी गई कुंजी पर window में दी गई वैल्यू सेट करता है. डिफ़ॉल्ट रूप से, अगर window में कोई वैल्यू पहले से मौजूद है, तो यह तरीका उस वैल्यू को सेट नहीं करेगा. window में वैल्यू सेट करने के लिए, overrideExisting से true तक की वैल्यू सेट करें. इससे कोई फ़र्क़ नहीं पड़ता कि कोई मौजूदा वैल्यू मौजूद है या नहीं. यह फ़ंक्शन बूलियन वैल्यू दिखाता है: वैल्यू सेट होने पर true और वैल्यू सेट न होने पर false.

सिंटैक्स

setInWindow(key, value, overrideExisting)

पैरामीटर

पैरामीटर टाइप ब्यौरा
key स्ट्रिंग window में मौजूद वह कुंजी जहां वैल्यू को रखना है.
value * window में सेट की जाने वाली वैल्यू.
overrideExisting boolean यह फ़्लैग यह दिखाता है कि वैल्यू को window में सेट किया जाना चाहिए. भले ही, वहां कोई वैल्यू मौजूद हो या न हो.

इससे जुड़ी अनुमतियां

access_globals


sha256

यह फ़ंक्शन, इनपुट का SHA-256 डाइजेस्ट कैलकुलेट करता है. साथ ही, base64 में एन्कोड किए गए डाइजेस्ट के साथ कॉलबैक शुरू करता है. ऐसा तब तक होता है, जब तक options ऑब्जेक्ट किसी दूसरे आउटपुट एन्कोडिंग के बारे में नहीं बताता.

उदाहरण:

sha256('inputString', (digest) => {
  sendPixel('https://example.com/collect?id=' + digest);
  data.gtmOnSuccess();
}, data.gtmOnFailure);

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

सिंटैक्स

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

पैरामीटर

पैरामीटर टाइप ब्यौरा
input स्ट्रिंग वह स्ट्रिंग जिसके लिए हैश का हिसाब लगाना है.
onSuccess function इस फ़ंक्शन को, base64 में कोड किए गए डाइजेस्ट के साथ कॉल किया जाता है. हालांकि, अगर options ऑब्जेक्ट में कोई दूसरा आउटपुट एन्कोडिंग तय किया गया है, तो ऐसा नहीं किया जाता.
onFailure function इस फ़ंक्शन को तब कॉल किया जाता है, जब डाइजेस्ट का हिसाब लगाते समय कोई गड़बड़ी होती है या ब्राउज़र में sha256 के लिए नेटिव सपोर्ट नहीं होता. इस कॉलबैक को एक ऐसे ऑब्जेक्ट के साथ कॉल किया जाता है जिसमें गड़बड़ी का नाम और मैसेज होता है.
options object आउटपुट एन्कोडिंग तय करने के लिए, वैकल्पिक विकल्पों वाला ऑब्जेक्ट. अगर यह ऑब्जेक्ट तय किया गया है, तो इसमें outputEncoding कुंजी होनी चाहिए. इसकी वैल्यू base64 या hex में से कोई एक होनी चाहिए.

इससे जुड़ी अनुमतियां

कोई नहीं.


templateStorage

यह फ़ंक्शन, टेंप्लेट स्टोरेज को ऐक्सेस करने के तरीकों वाला ऑब्जेक्ट दिखाता है. टेंप्लेट स्टोरेज की मदद से, एक ही टेंप्लेट के अलग-अलग वर्शन के बीच डेटा शेयर किया जा सकता है. टेंप्लेट स्टोरेज में सेव किया गया डेटा, पेज के लाइफ़टाइम तक बना रहता है.

सिंटैक्स

const templateStorage = require('templateStorage');

templateStorage.getItem(key);

templateStorage.setItem(key, value);

templateStorage.removeItem(key);

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

इससे जुड़ी अनुमतियां

access_template_storage

उदाहरण

const templateStorage = require('templateStorage');
const sendPixel = require('sendPixel');

// Ensure sendPixel is called only once per page.
if (templateStorage.getItem('alreadyRan')) {
  data.gtmOnSuccess();
  return;
}

templateStorage.setItem('alreadyRan', true);

sendPixel(
  data.oncePerPagePixelUrl,
  data.gtmOnSuccess,
  () => {
    templateStorage.setItem('alreadyRan', false);
    data.gtmOnFailure();
  });

toBase64

toBase64 एपीआई की मदद से, किसी स्ट्रिंग को base64 कोड में बदला जा सकता है.

सिंटैक्स

toBase64(input)

पैरामीटर

पैरामीटर टाइप ब्यौरा
input स्ट्रिंग कोड में बदलने के लिए स्ट्रिंग.

उदाहरण

const toBase64 = require('toBase64');

const base64Hello = toBase64('hello');

इससे जुड़ी अनुमतियां

कोई नहीं


updateConsentState

यह डेटा लेयर में सहमति से जुड़ा अपडेट पुश करता है, ताकि मौजूदा इवेंट और उससे ट्रिगर होने वाले टैग के प्रोसेस होने के बाद, इसे जल्द से जल्द प्रोसेस किया जा सके. इसके अलावा, ऐसा तब भी किया जा सकता है, जब टैग को प्रोसेस करने का टाइम आउट पूरा हो गया हो. इस कंटेनर में अपडेट को प्रोसेस करने की गारंटी है. ऐसा डेटा लेयर में मौजूद किसी भी आइटम से पहले किया जाता है. सहमति के बारे में ज़्यादा जानें.

उदाहरण:

const updateConsentState = require('updateConsentState');

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

सिंटैक्स

updateConsentState(consentSettings)

पैरामीटर

पैरामीटर टाइप ब्यौरा
consentSettings object यह एक ऐसा ऑब्जेक्ट है जो सहमति के तय किए गए टाइप के लिए, स्थिति को अपडेट करता है.

consentSettings ऑब्जेक्ट, सहमति के किसी भी टाइप की स्ट्रिंग को 'granted' या 'denied' में से किसी एक पर मैप करता है. इसके लिए, ये वैल्यू इस्तेमाल की जा सकती हैं:

कुंजी का नाम टाइप ब्यौरा
consentType स्ट्रिंग हर तरह की सहमति के लिए, वैल्यू को 'मंज़ूरी दी गई' या 'अस्वीकार की गई' पर सेट किया जा सकता है. 'granted' के अलावा किसी भी वैल्यू को 'denied' माना जाएगा. वैल्यू को 'undefined' पर सेट करने से, इसकी पिछली वैल्यू पर कोई असर नहीं पड़ेगा.

इससे जुड़ी अनुमतियां

consentSettings ऑब्जेक्ट में, सहमति के सभी टाइप के लिए access_consent अनुमति.


टेस्ट एपीआई

ये एपीआई, सैंडबॉक्स JavaScript टेस्ट के साथ काम करते हैं. इनकी मदद से, Google Tag Manager में कस्टम टेंप्लेट के लिए टेस्ट बनाए जा सकते हैं. इन टेस्ट एपीआई के लिए, require() स्टेटमेंट की ज़रूरत नहीं होती. कस्टम टेंप्लेट टेस्ट के बारे में ज़्यादा जानें.


assertApi

यह फ़ंक्शन, एक मैच करने वाला ऑब्जेक्ट दिखाता है. इसका इस्तेमाल, दिए गए एपीआई के बारे में आसानी से दावे करने के लिए किया जा सकता है.

सिंटैक्स

assertApi(apiName)

पैरामीटर

पैरामीटर टाइप ब्यौरा
apiName स्ट्रिंग जांच करने के लिए एपीआई का नाम; यह वही स्ट्रिंग है जिसे require() को पास किया गया था.

मैचर

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

उदाहरण

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

assertThat

assertThat एपीआई को Google की [Truth] लाइब्रेरी के आधार पर बनाया गया है. यह एक ऐसा ऑब्जेक्ट दिखाता है जिसका इस्तेमाल, किसी विषय की वैल्यू के बारे में आसानी से दावे करने के लिए किया जा सकता है. दावे के फ़ेल होने पर, टेस्ट तुरंत बंद हो जाएगा और उसे फ़ेल के तौर पर मार्क कर दिया जाएगा. हालांकि, एक टेस्ट में फ़ेल होने से अन्य टेस्ट केस पर कोई असर नहीं पड़ेगा.

सिंटैक्स

assertThat(actual, opt_message)

पैरामीटर

पैरामीटर टाइप ब्यौरा
actual any फ़्लुएंट चेक में इस्तेमाल की जाने वाली वैल्यू.
opt_message स्ट्रिंग अगर पुष्टि नहीं हो पाती है, तो प्रिंट करने के लिए वैकल्पिक मैसेज.

मैचर

मैचर ब्यौरा
isUndefined() इससे यह दावा किया जाता है कि विषय undefined है.
isDefined() यह दावा करता है कि विषय undefined नहीं है.
isNull() इससे यह दावा किया जाता है कि विषय null है.
isNotNull() यह दावा करता है कि विषय null नहीं है.
isFalse() इससे यह दावा किया जाता है कि विषय false है.
isTrue() इससे यह दावा किया जाता है कि विषय true है.
isFalsy() यह पुष्टि करता है कि विषय गलत है. ये फ़ॉल्सी वैल्यू हैं: undefined, null, false, NaN, 0, और '' (खाली स्ट्रिंग).
isTruthy() यह दावा करता है कि विषय सही है. ये फ़ॉल्सी वैल्यू हैं: undefined, null, false, NaN, 0, और '' (खाली स्ट्रिंग).
isNaN() यह पुष्टि करता है कि विषय की वैल्यू NaN है.
isNotNaN() यह पुष्टि करता है कि विषय, NaN के अलावा कोई भी वैल्यू है.
isInfinity() यह पुष्टि करता है कि विषय पॉज़िटिव या नेगेटिव इनफ़िनिटी है.
isNotInfinity() यह पुष्टि करता है कि विषय, पॉज़िटिव या नेगेटिव इनफ़िनिटी के अलावा कोई भी वैल्यू है.
isEqualTo(expected) यह पुष्टि करता है कि विषय, दी गई वैल्यू के बराबर है. यह वैल्यू की तुलना है, रेफ़रंस की तुलना नहीं. ऑब्जेक्ट और ऐरे के कॉन्टेंट की तुलना बार-बार की जाती है.
isNotEqualTo(expected) यह दावा करता है कि विषय, दी गई वैल्यू के बराबर नहीं है. यह वैल्यू की तुलना है, रेफ़रंस की तुलना नहीं. ऑब्जेक्ट और ऐरे के कॉन्टेंट की तुलना बार-बार की जाती है.
isAnyOf(...expected) यह दावा करता है कि विषय, दी गई वैल्यू में से किसी एक के बराबर है. यह वैल्यू की तुलना है, रेफ़रंस की तुलना नहीं. ऑब्जेक्ट और ऐरे के कॉन्टेंट की तुलना बार-बार की जाती है.
isNoneOf(...expected) यह दावा करता है कि विषय, दी गई किसी भी वैल्यू के बराबर नहीं है. यह वैल्यू की तुलना है, रेफ़रंस की तुलना नहीं है. ऑब्जेक्ट और ऐरे के कॉन्टेंट की तुलना बार-बार की जाती है.
isStrictlyEqualTo(expected) यह दावा करता है कि विषय, दी गई वैल्यू के ठीक बराबर (===) है.
isNotStrictlyEqualTo(expected) यह दावा करता है कि विषय, दी गई वैल्यू के ठीक बराबर (!==) नहीं है.
isGreaterThan(expected) इस फ़ंक्शन का इस्तेमाल यह पुष्टि करने के लिए किया जाता है कि क्रम से तुलना करने पर, विषय की वैल्यू दी गई वैल्यू (>) से ज़्यादा है.
isGreaterThanOrEqualTo(expected) इस फ़ंक्शन का इस्तेमाल यह पुष्टि करने के लिए किया जाता है कि क्रम से तुलना करने पर, विषय की वैल्यू दी गई वैल्यू (>=) से ज़्यादा या उसके बराबर है.
isLessThan(expected) इस फ़ंक्शन का इस्तेमाल यह पुष्टि करने के लिए किया जाता है कि विषय, क्रम से तुलना करने पर दी गई वैल्यू से कम (<) है.
isLessThanOrEqualTo(expected) यह दावा करता है कि विषय, क्रम के हिसाब से तुलना करने पर दी गई वैल्यू (<=) से कम या उसके बराबर है.
contains(...expected) यह पुष्टि करता है कि विषय, एक ऐसी सरणी या स्ट्रिंग है जिसमें दिए गए सभी मान किसी भी क्रम में शामिल हैं. यह वैल्यू की तुलना है, रेफ़रंस की तुलना नहीं है. ऑब्जेक्ट और ऐरे के कॉन्टेंट की तुलना, बार-बार की जाती है.
doesNotContain(...expected) यह पुष्टि करता है कि विषय एक ऐसा ऐरे या स्ट्रिंग है जिसमें दी गई कोई भी वैल्यू शामिल नहीं है. यह वैल्यू की तुलना है, न कि रेफ़रंस की तुलना. ऑब्जेक्ट और ऐरे के कॉन्टेंट की तुलना बार-बार की जाती है.
containsExactly(...expected) यह पुष्टि करता है कि विषय एक ऐसा ऐरे है जिसमें दी गई सभी वैल्यू किसी भी क्रम में शामिल हैं और कोई अन्य वैल्यू शामिल नहीं है. यह वैल्यू की तुलना है, न कि रेफ़रंस की तुलना. ऑब्जेक्ट और ऐरे के कॉन्टेंट की तुलना, बार-बार की जाती है.
doesNotContainExactly(...expected) यह पुष्टि करता है कि विषय एक ऐसी सरणी है जिसमें दिए गए मानों से अलग वैल्यू का सेट शामिल है. हालांकि, वैल्यू किसी भी क्रम में हो सकती हैं. यह वैल्यू की तुलना है, रेफ़रंस की तुलना नहीं. ऑब्जेक्ट और ऐरे के कॉन्टेंट की तुलना, बार-बार की जाती है.
hasLength(expected) यह पुष्टि करता है कि विषय, दी गई लंबाई वाली एक सरणी या स्ट्रिंग है. अगर वैल्यू ऐरे या स्ट्रिंग नहीं है, तो यह दावा हमेशा फ़ेल हो जाता है.
isEmpty() यह पुष्टि करता है कि विषय एक ऐसी स्ट्रिंग या ऐरे है जो खाली है (लंबाई = 0). अगर वैल्यू ऐरे या स्ट्रिंग नहीं है, तो यह दावा हमेशा फ़ेल हो जाता है.
isNotEmpty() यह पुष्टि करता है कि विषय एक ऐसा कलेक्शन या स्ट्रिंग है जो खाली नहीं है (लंबाई > 0). अगर वैल्यू, ऐरे या स्ट्रिंग नहीं है, तो यह दावा हमेशा फ़ेल हो जाता है.
isArray() यह दावा करता है कि विषय का टाइप एक ऐरे है.
isBoolean() यह पुष्टि करता है कि विषय का टाइप बूलियन है.
isFunction() यह पुष्टि करता है कि विषय का टाइप एक फ़ंक्शन है.
isNumber() यह पुष्टि करता है कि विषय का टाइप एक संख्या है.
isObject() यह दावा करता है कि विषय का टाइप एक ऑब्जेक्ट है.
isString() यह पुष्टि करता है कि विषय का टाइप स्ट्रिंग है.

उदाहरण

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

यह फ़ंक्शन, मौजूदा टेस्ट को तुरंत फ़ेल कर देता है. अगर कोई मैसेज दिया गया है, तो उसे प्रिंट करता है.

सिंटैक्स

fail(opt_message);

पैरामीटर

पैरामीटर टाइप ब्यौरा
opt_message स्ट्रिंग गड़बड़ी के मैसेज का टेक्स्ट लिखना ज़रूरी नहीं है.

उदाहरण

fail('This test has failed.');

mock

mock API की मदद से, सैंडबॉक्स किए गए एपीआई के काम करने के तरीके को बदला जा सकता है. टेंप्लेट कोड में मॉक एपीआई का इस्तेमाल सुरक्षित है. हालांकि, यह सिर्फ़ टेस्ट मोड में काम करता है. हर टेस्ट को चलाने से पहले, मॉक को रीसेट किया जाता है.

सिंटैक्स

mock(apiName, returnValue);

पैरामीटर

पैरामीटर टाइप ब्यौरा
apiName स्ट्रिंग जिस एपीआई को मॉक करना है उसका नाम. यह वही स्ट्रिंग है जिसे require() को पास किया गया था
returnValue any एपीआई या एपीआई की जगह कॉल किए गए फ़ंक्शन के लिए, वैल्यू को वापस लाने का विकल्प. अगर returnValue कोई फ़ंक्शन है, तो Sandboxed API की जगह उस फ़ंक्शन को कॉल किया जाता है. अगर returnValue कोई फ़ंक्शन नहीं है, तो Sandboxed API की जगह उस वैल्यू को दिखाया जाता है.

उदाहरण

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

mockObject

mockObject एपीआई की मदद से, सैंडबॉक्स किए गए उन एपीआई के व्यवहार को बदला जा सकता है जो ऑब्जेक्ट दिखाते हैं. एपीआई का इस्तेमाल, टेंप्लेट कोड में सुरक्षित तरीके से किया जा सकता है. हालांकि, यह सिर्फ़ टेस्ट मोड में काम करता है. हर टेस्ट को चलाने से पहले, मॉक को रीसेट किया जाता है.

सिंटैक्स

mockObject(apiName, objectMock);

पैरामीटर

पैरामीटर टाइप ब्यौरा
apiName स्ट्रिंग जिस एपीआई को मॉक करना है उसका नाम. यह वही स्ट्रिंग है जिसे require() को पास किया गया था
objectMock object एपीआई या एपीआई की जगह कॉल किए गए फ़ंक्शन के लिए, वैल्यू को वापस लाने का विकल्प. यह एक ऑब्जेक्ट होना चाहिए.

उदाहरण

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

runCode

यह टेम्प्लेट के लिए कोड को रन करता है. इसका मतलब है कि यह कोड टैब के कॉन्टेंट को, मौजूदा टेस्ट एनवायरमेंट में दिए गए इनपुट डेटा ऑब्जेक्ट के साथ रन करता है.

सिंटैक्स

runCode(data)

पैरामीटर

पैरामीटर टाइप ब्यौरा
data object टेस्ट में इस्तेमाल किया जाने वाला डेटा ऑब्जेक्ट.

रिटर्न वैल्यू

वैरिएबल टेंप्लेट के लिए, किसी वैरिएबल की वैल्यू दिखाता है. साथ ही, अन्य सभी टेंप्लेट टाइप के लिए undefined दिखाता है.

उदाहरण

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