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

कोर एपीआई

ये एपीआई, सैंडबॉक्स की हुई 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 फ़ंक्शन तय किए गए सहमति के टाइप की स्थिति बदलने पर चलने वाला फ़ंक्शन.

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

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

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

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 एपीआई आपको एक उपनाम (जैसे कि 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 फ़ंक्शन कॉल करने का फ़ंक्शन.

copyFromDataLayer

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

सिंटैक्स

copyFromDataLayer(key[, dataLayerVersion])

पैरामीटर

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

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

read_data_layer


copyFromWindow

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

सिंटैक्स

copyFromWindow(key)

पैरामीटर

पैरामीटर टाइप जानकारी
key स्ट्रिंग window की कुंजी, जिसका मान कॉपी करना है.

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

access_globals


createArgumentsQueue

टैग समाधानों के समर्थन में, तर्क ऑब्जेक्ट के साथ पॉप्युलेट हुई एक पंक्ति बनाता है.

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

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

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

उदाहरण:

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

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

उदाहरण:

const decode = require('decodeUriComponent');

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

सिंटैक्स

decodeUriComponent(encoded_uri_component)

पैरामीटर

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

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

कोई नहीं.


encodeUri

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

उदाहरण:

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

सिंटैक्स

encodeUri(uri)

पैरामीटर

पैरामीटर टाइप जानकारी
uri स्ट्रिंग पूरा यूआरआई.

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

कोई नहीं.


encodeUriComponent

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

उदाहरण:

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 बूलियन यह नीति कंट्रोल करती है कि कुकी की वैल्यू को JavaScript के decodeURIComponent() से डिकोड करना है या नहीं. डिफ़ॉल्ट सेटिंग true.

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

get_cookies


getQueryParameters

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

सिंटैक्स

getQueryParameters(queryKey[, retrieveAll])

पैरामीटर

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

उदाहरण के लिए, अगर मौजूदा यूआरएल 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 बूलियन सभी वैल्यू को वापस पाना है या नहीं.

उदाहरण के लिए, अगर रेफ़रल देने वाला यूआरएल 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 'बूलियन'
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 ऑब्जेक्ट ऐसा ऑब्जेक्ट जो अपनी प्रॉपर्टी के लिए ग्लोबल स्थिति को अपडेट करता है.

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

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

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

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

दिए गए मान को number (पूर्णांक) में बदलता है.

सिंटैक्स

makeInteger(value)

पैरामीटर

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

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

कोई नहीं.


makeNumber

दिए गए मान को संख्या में बदलता है.

सिंटैक्स

makeNumber(value)

पैरामीटर

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

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

कोई नहीं.


makeString

string के तौर पर दी गई वैल्यू देता है.

सिंटैक्स

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

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

सिंटैक्स

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

पैरामीटर

Object.keys

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

Object.values

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

Object.entries

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

Object.freeze

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

Object.delete

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

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

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

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

सिंटैक्स

require(name)

पैरामीटर

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

उदाहरण

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

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

कोई नहीं.


sendPixel

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

सिंटैक्स

sendPixel(url, onSuccess, onFailure)

पैरामीटर

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

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

send_pixel


setCookie

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

सिंटैक्स

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

पैरामीटर

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

विकल्प

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

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

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

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

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


setInWindow

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

सिंटैक्स

setInWindow(key, value, overrideExisting)

पैरामीटर

पैरामीटर टाइप जानकारी
key स्ट्रिंग वह window जिसमें कुंजी को रखना है.
value * window में सेट किया जाने वाला मान.
overrideExisting बूलियन फ़्लैग बताता है कि वैल्यू को 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 ऑब्जेक्ट वैकल्पिक विकल्प, आउटपुट एन्कोडिंग तय करने के लिए ऑब्जेक्ट करते हैं. अगर बताया गया हो, तो ऑब्जेक्ट में कुंजी 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 ऑब्जेक्ट ऐसा ऑब्जेक्ट जो तय किए गए सहमति टाइप की स्थिति अपडेट करता है.

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

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

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

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


टेस्ट एपीआई

ये एपीआई, Google Tag Manager में कस्टम टेंप्लेट की जांच बनाने के लिए, सैंडबॉक्स की गई JavaScript जांच के साथ काम करते हैं. इन टेस्ट एपीआई के लिए 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 की [ट्रुथ] लाइब्रेरी के आधार पर बनाया जाता है. यह एक ऐसा ऑब्जेक्ट देता है जिसका इस्तेमाल किसी विषय की वैल्यू के बारे में अच्छी तरह से दावा करने में किया जा सकता है. एक आकलन की गड़बड़ी जांच को तुरंत रोक देगी और इसे 'पूरा नहीं हुआ' के तौर पर मार्क करेगी. हालांकि, एक टेस्ट में फ़ेल होने पर, टेस्ट के अन्य मामलों पर कोई असर नहीं पड़ेगा.

सिंटैक्स

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() दावा करता है कि विषय की वैल्यू NN है.
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 एक फ़ंक्शन है, तो इसे सैंडबॉक्स किए गए एपीआई की जगह पर कॉल किया जाता है; अगर किसी फ़ंक्शन के अलावा कोई और returnValue है, तो वह वैल्यू सैंडबॉक्स एपीआई के बजाय दी जाती है.

उदाहरण

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

runCode

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

सिंटैक्स

runCode(data)

पैरामीटर

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

सामान लौटाने की वैल्यू

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

उदाहरण

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