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

मुख्य एपीआई

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

const myAPI = require('myAPI');
require()

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 फ़ंक्शन किसी खास तरह की सहमति की स्थिति बदलने पर, चलाया जाने वाला फ़ंक्शन.

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

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

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

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


addEventCallback

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

सिंटैक्स

addEventCallback(callback)

पैरामीटर

पैरामीटर टाइप ब्यौरा
callback फ़ंक्शन इवेंट के आखिर में शुरू किया जाने वाला फ़ंक्शन.

eventData ऑब्जेक्ट में नीचे दिया गया डेटा होता है:

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

उदाहरण

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

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

read_event_metadata


aliasInWindow

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

सिंटैक्स

aliasInWindow(toPath, fromPath)

पैरामीटर

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

उदाहरण

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

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

access_globals, toPath और fromPath, दोनों के लिए ज़रूरी है; 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 फ़ंक्शन कॉल करने के लिए फ़ंक्शन.

copyFromDataLayer

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

सिंटैक्स

copyFromDataLayer(key[, dataLayerVersion])

पैरामीटर

पैरामीटर टाइप ब्यौरा
key स्ट्रिंग "a.b.c" फ़ॉर्मैट में कुंजी.
dataLayerVersion नंबर डेटा लेयर का वैकल्पिक वर्शन. डिफ़ॉल्ट वैल्यू 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

टैग समाधानों में मदद करने के लिए, यह तर्क ऑब्जेक्ट से भरी हुई सूची बनाता है.

fnKey तर्क (createQueue जैसे सिमैंटिक का इस्तेमाल करके) का इस्तेमाल करके ग्लोबल स्कोप (जैसे कि window) में फ़ंक्शन बनाता है. फ़ंक्शन बनने के बाद, यह एपीआई 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 में अरे बनाता है (अगर यह पहले से मौजूद नहीं है) और ऐसा फ़ंक्शन दिखाता है जो उस अरे में वैल्यू पुश करेगा.

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

उदाहरण:

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

दिए गए यूआरआई कॉम्पोनेंट में, कोड में बदले गए किसी भी वर्ण को डिकोड करता है. एक स्ट्रिंग दिखाता है, जो डिकोड किया गया यूआरआई कॉम्पोनेंट दिखाता है. अमान्य इनपुट दिए जाने पर 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 नंबर दिए गए पूर्णांक का कम से कम संभावित मान.
max नंबर दिए गए पूर्णांक का ज़्यादा से ज़्यादा संभावित मान.

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

कोई नहीं.


getContainerVersion

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

{
  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() से मिला है.

सिंटैक्स

getTimestamp();

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

कोई नहीं.


getTimestampMillis

ऐसी संख्या दिखाता है जो Unix Epoch के बाद के मौजूदा समय को मिलीसेकंड में दिखाती है, जैसा कि Date.now() से मिला है.

सिंटैक्स

getTimestampMillis();

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

कोई नहीं.


getType

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

सिंटैक्स

getType(data.someField)

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

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

इनपुट मान नतीजा
undefined 'तय नहीं है'
null 'शून्य'
true 'boolean'
12 'नंबर'
'string' 'स्ट्रिंग'
{ a: 3 } 'ऑब्जेक्ट'
[ 1, 3 ] 'कलेक्शन'
(x) => x + 1 'फ़ंक्शन'

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

कोई नहीं.


getUrl

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

सिंटैक्स

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 स्ट्रिंग iframe की src एट्रिब्यूट की वैल्यू के तौर पर इस्तेमाल किया जाने वाला यूआरएल.
onSuccess फ़ंक्शन फ़्रेम लोड होने पर कॉल किया जाता है.

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

inject_hidden_iframe


injectScript

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

सिंटैक्स

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

पैरामीटर

पैरामीटर टाइप ब्यौरा
url स्ट्रिंग इंजेक्ट की जाने वाली स्क्रिप्ट का पता.
onSuccess फ़ंक्शन स्क्रिप्ट लोड होने पर कॉल किया जाता है.
onFailure फ़ंक्शन इसे तब कॉल किया जाता है, जब स्क्रिप्ट लोड नहीं हो पाती.
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 कोई भी वह वैल्यू जिसे बदलना है. अगर वैल्यू कोई स्ट्रिंग नहीं है, तो इनपुट को स्ट्रिंग बना दिया जाएगा.

JSON.stringify

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

उदाहरण

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] कोई भी तर्क

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

logging


makeInteger

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

सिंटैक्स

makeInteger(value)

पैरामीटर

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

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

कोई नहीं.


makeNumber

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

सिंटैक्स

makeNumber(value)

पैरामीटर

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

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

कोई नहीं.


makeString

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

सिंटैक्स

makeString(value)

पैरामीटर

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

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

कोई नहीं.


makeTableMap

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

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

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

मैप में:

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

ऑब्जेक्ट लौटाता है: अगर कुंजी-वैल्यू पेयर को उसमें जोड़ा गया है, तो बदला गया 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() वाला तरीका, स्टैंडर्ड लाइब्रेरी Object.keys() का व्यवहार बताता है. यह किसी दिए गए ऑब्जेक्ट की गिनने लायक प्रॉपर्टी के नामों का कलेक्शन उसी क्रम में दिखाता है जिस क्रम में for...in... लूप करता है. अगर इनपुट वैल्यू कोई ऑब्जेक्ट नहीं है, तो उसे और एक ऑब्जेक्ट बना दिया जाएगा.

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

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

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

delete() वाला तरीका, स्टैंडर्ड लाइब्रेरी का मिटाने वाला ऑपरेटर व्यवहार बताता है. यह ऑब्जेक्ट से दी गई कुंजी को तब तक हटा देता है, जब तक कि ऑब्जेक्ट फ़्रीज़ न हो जाए. स्टैंडर्ड लाइब्रेरी को मिटाने वाले ऑपरेटर की तरह, यह 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 कोई भी वह ऑब्जेक्ट जिसकी कुंजियों की गिनती करनी है. अगर इनपुट कोई ऑब्जेक्ट नहीं है, तो उसे किसी ऑब्जेक्ट से जोड़ दिया जाएगा.

Object.values

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

Object.entries

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

Object.freeze

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

Object.delete

पैरामीटर टाइप ब्यौरा
objectInput कोई भी वह ऑब्जेक्ट जिसकी कुंजी को मिटाना है.
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

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

सिंटैक्स

queryPermission(permission, functionArgs*)

पैरामीटर

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

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

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

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

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

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

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

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

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

कोई नहीं.


readCharacterSet

document.characterSet का मान देता है.

सिंटैक्स

readCharacterSet()

पैरामीटर

कोई नहीं.

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

read_character_set


readTitle

document.title का मान देता है.

सिंटैक्स

readTitle()

पैरामीटर

कोई नहीं.

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

read_title


require

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

सिंटैक्स

require(name)

पैरामीटर

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

उदाहरण

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

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

कोई नहीं.


sendPixel

बताए गए यूआरएल एंडपॉइंट पर जीईटी अनुरोध करता है.

सिंटैक्स

sendPixel(url, onSuccess, onFailure)

पैरामीटर

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

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

send_pixel


setCookie

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

सिंटैक्स

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

पैरामीटर

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

  • डोमेन: अगर यह मौजूद है, तो options['domain'] प्रॉपर्टी से सेट किया जाता है. दस्तावेज़ की जगह के आधार पर, सबसे बड़े डोमेन का इस्तेमाल करके कुकी लिखने की कोशिश करने के लिए, इस वैल्यू को 'auto' पर सेट करें. अगर यह काम नहीं करता, तो यह लगातार सीमित सबडोमेन की कोशिश करेगा. अगर वे सभी काम नहीं करते हैं, तो यह डोमेन के बिना कुकी लिखने की कोशिश करेगा. अगर कोई वैल्यू सेट नहीं है, तो इससे डोमेन तय किए बिना, कुकी लिखने की कोशिश की जाएगी. ध्यान दें: जब बिना डोमेन वाली किसी कुकी को document.cookie पर लिखा जाता है, तो उपयोगकर्ता एजेंट कुकी के डोमेन को डिफ़ॉल्ट रूप से दस्तावेज़ की मौजूदा जगह के होस्ट पर सेट कर देता है.
  • पाथ: मौजूद होने पर, options['path'] ने सेट किया. जब ऐसी कुकी के लिए document.cookie में पाथ नहीं लिखा जाता है, तो उपयोगकर्ता एजेंट, कुकी के पाथ को डिफ़ॉल्ट रूप से दस्तावेज़ की मौजूदा जगह के पाथ पर ले जाएगा.
  • ज़्यादा से ज़्यादा उम्र: 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 स्ट्रिंग हर सहमति टाइप की वैल्यू, `'मंज़ूरी दी गई'` या `'अनुमति नहीं दी गई'` पर सेट की जा सकती है. `'अनुमति है'` के अलावा किसी भी वैल्यू को `'अनुमति नहीं दी गई'` के तौर पर माना जाएगा. वैल्यू को `undefined` पर सेट करने से, उसकी पिछली वैल्यू पर कोई असर नहीं पड़ेगा.
region कलेक्शन क्षेत्र कोड का एक वैकल्पिक कलेक्शन इससे तय होता है कि सहमति की सेटिंग किस इलाके के लिए लागू होती हैं. इलाके के कोड, देश और/या सबग्रुप के हिसाब से ISO 3166-2 फ़ॉर्मैट में दिखाए जाते हैं.
wait_for_update नंबर यह एक मिलीसेकंड वैल्यू तय करता है, ताकि यह कंट्रोल किया जा सके कि डेटा भेजे जाने से पहले कितने समय तक इंतज़ार करना पड़े. इसका इस्तेमाल, एसिंक्रोनस लोड होने वाले सहमति टूल के साथ किया जाता है.

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

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


setInWindow

दी गई कुंजी पर window में दी गई वैल्यू सेट करता है. अगर पहले से कोई वैल्यू मौजूद है, तो यह तरीका डिफ़ॉल्ट रूप से window में वैल्यू सेट नहीं करेगा. मौजूदा वैल्यू चाहे जो भी हो, window में वैल्यू को सेट करने के लिए, overrideExisting को true पर सेट करें. वैल्यू सही तरीके से सेट होने पर boolean दिखाता है: अगर वैल्यू सही तरीके से सेट हो गई है, तो 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 फ़ंक्शन मिलने वाले डाइजेस्ट के साथ कॉल किया जाता है, जिसे base64 में कोड में बदला गया है. ऐसा तब तक किया जाता है, जब तक कि options ऑब्जेक्ट कोई अलग आउटपुट एन्कोडिंग तय नहीं करता.
onFailure फ़ंक्शन इसे तब कॉल किया जाता है, जब डाइजेस्ट का हिसाब लगाते समय कोई गड़बड़ी होती है या ब्राउज़र में 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 स्ट्रिंग हर तरह की सहमति के लिए, वैल्यू को 'मंज़ूरी दी गई' या 'अनुमति नहीं दी गई' पर सेट किया जा सकता है. 'मंज़ूरी दी गई' के अलावा किसी भी वैल्यू को 'अनुमति नहीं दी गई' माना जाएगा. वैल्यू को '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 कोई भी बेहतर जांच में इस्तेमाल किया जाने वाला मान.
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 एपीआई की मदद से, सैंडबॉक्स किए गए एपीआई के व्यवहार को बदला जा सकता है. मॉक एपीआई को टेंप्लेट कोड में इस्तेमाल करना सुरक्षित है. हालांकि, टेस्ट मोड में न होने पर, यह काम नहीं करता. हर जांच के चलने से पहले, मॉक रीसेट हो जाते हैं.

सिंटैक्स

mock(apiName, returnValue);

पैरामीटर

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

उदाहरण

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

runCode

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

सिंटैक्स

runCode(data)

पैरामीटर

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

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

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

उदाहरण

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