इस दस्तावेज़ में, सर्वर साइड टैगिंग के लिए एपीआई के बारे में बताया गया है.
addEventCallback
कॉलबैक फ़ंक्शन को रजिस्टर करता है, जिसे किसी इवेंट के आखिर में शुरू किया जाएगा. कॉन्टेंट बनाने इवेंट के सभी टैग के एक्ज़ीक्यूट होने पर कॉलबैक शुरू हो जाएगा. कॉन्टेंट बनाने कॉलबैक में दो वैल्यू पास की जाती हैं: फ़ंक्शन को शुरू करने वाले कंटेनर का आईडी और एक ऑब्जेक्ट होता है, जिसमें इवेंट के बारे में जानकारी होती है.
जब किसी टैग में इस एपीआई का इस्तेमाल किया जाता है, तो वह मौजूदा इवेंट से जुड़ा होता है. जब यह
एपीआई का इस्तेमाल क्लाइंट में किया जाता है, तो उसे
runContainer
एपीआई का bindToEvent
फ़ंक्शन. ज़्यादा जानकारी के लिए,
उदाहरण देखें.
सिंटैक्स
const addEventCallback = require('addEventCallback');
addEventCallback((containerId, eventData) => {
// Take some action based on the event data.
});
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
callback |
फ़ंक्शन | इवेंट के आखिर में शुरू करने के लिए फ़ंक्शन. |
eventData
ऑब्जेक्ट में यह डेटा शामिल है:
कुंजी का नाम | टाइप | ब्यौरा |
---|---|---|
tags |
कलेक्शन |
टैग डेटा ऑब्जेक्ट का कलेक्शन. इवेंट के दौरान सक्रिय होने वाला हर टैग
इस अरे में एक एंट्री होगी. टैग डेटा ऑब्जेक्ट में
टैग का आईडी (id ), इसकी निष्पादन स्थिति
(status ) और इसके एक्ज़ीक्यूशन का समय
(executionTime ). टैग डेटा में अतिरिक्त जानकारी भी शामिल होगी
टैग पर कॉन्फ़िगर किया गया टैग मेटाडेटा.
|
क्लाइंट में:
const addEventCallback = require('addEventCallback');
const claimRequest = require('claimRequest');
const extractEventsFromMpv1 = require('extractEventsFromMpv1');
const logToConsole = require('logToConsole');
const returnResponse = require('returnResponse');
const runContainer = require('runContainer');
claimRequest();
const events = extractEventsFromMpv1();
let eventsCompleted = 0;
events.forEach((evt, i) => {
runContainer(evt, /* onComplete= */ (bindToEvent) => {
bindToEvent(addEventCallback)((containerId, eventData) => {
logToConsole('Event Number: ' + i);
eventData.tags.forEach((tag) => {
logToConsole('Tag ID: ' + tag.id);
logToConsole('Tag Status: ' + tag.status);
logToConsole('Tag Execution Time: ' + tag.executionTime);
});
});
if (events.length === ++eventsCompleted) {
returnResponse();
}
});
});
टैग में:
const addEventCallback = require('addEventCallback');
addEventCallback((containerId, eventData) => {
// This will be called at the end of the current event.
});
किसी डिवाइस से जुड़ी अनुमतियां
callLater
एसिंक्रोनस रूप से होने के लिए किसी फ़ंक्शन को कॉल शेड्यूल करता है. फ़ंक्शन होगा
मौजूदा कोड के रिटर्न के बाद कॉल किया जाता है. यह इसके बराबर है
setTimeout(<function>, 0)
.
उदाहरण
const callLater = require('callLater');
const logToConsole = require('logToConsole');
callLater(() => {
logToConsole('Logged asynchronously');
});
सिंटैक्स
callLater(function)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
function |
फ़ंक्शन | कॉल करने के लिए फ़ंक्शन. |
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
claimRequest
अनुरोध पर दावा करने के लिए, क्लाइंट में इस एपीआई का इस्तेमाल करें. अनुरोध पर दावा करने के बाद, कंटेनर अतिरिक्त क्लाइंट नहीं चलाता है.
किसी टैग या वैरिएबल में कॉल करने पर, यह एपीआई अपवाद दिखाता है. यह एपीआई एक
अपवाद, अगर क्लाइंट के वापस आने के बाद कॉल किया जाता है (उदाहरण के लिए, अगर एक साथ काम नहीं करने वाली प्रोसेस में कॉल किया गया हो)
कॉलबैक जैसे कि callLater
या runContainer
onComplete
फ़ंक्शन).
क्लाइंट को कॉल करने से पहले
runContainer
एपीआई.
उदाहरण
const claimRequest = require('claimRequest');
claimRequest();
सिंटैक्स
claimRequest();
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
computeEffectiveTldPlusOne
दिए गए डोमेन या यूआरएल का टॉप लेवल डोमेन + 1 (eTLD+1) दिखाता है. eTLD+1 का हिसाब लगाने के लिए, डोमेन की तुलना सार्वजनिक सफ़िक्स सूची से की जाती है नियम. आम तौर पर, eTLD+1 सबसे ऊंचे लेवल का डोमेन होता है, जिस पर कुकी.
अगर आर्ग्युमेंट शून्य या तय नहीं है, तो आर्ग्युमेंट वैल्यू दी जाती है बदलाव नहीं किए जा सकेंगे. अगर ऐसा नहीं होता है, तो आर्ग्युमेंट को एक स्ट्रिंग की तरह इस्तेमाल किया जाता है. अगर तर्क यह नहीं है मान्य डोमेन या यूआरएल का इस्तेमाल करते हैं, तो एक खाली स्ट्रिंग दिखती है. अगर सर्वर काम नहीं कर पा रहा है, तो का इस्तेमाल करता है, तो आर्ग्युमेंट वैल्यू बिना बदलाव के दिखती है.
उदाहरण
const computeEffectiveTldPlusOne = require('computeEffectiveTldPlusOne');
// Returns 'example.co.uk'
computeEffectiveTldPlusOne('analytics.example.co.uk');
// Returns 'example.co.uk'
computeEffectiveTldPlusOne('https://analytics.example.co.uk/path');
सिंटैक्स
computeEffectiveTldPlusOne(domainOrUrl);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
domainOrUrl |
स्ट्रिंग | वह डोमेन या यूआरएल जिस पर eTLD+1 की गिनती करनी है. |
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
createRegex
एक नया रेगुलर एक्सप्रेशन इंस्टेंस बनाता है और उसे किसी ऑब्जेक्ट में रैप करता है. आपके पास ये विकल्प नहीं हैं
रेगुलर एक्सप्रेशन को सीधे ऐक्सेस करें. हालांकि, इसे testRegex
एपीआई में पास किया जा सकता है,
String.replace()
, String.match()
, और String.search()
.
अगर रेगुलर एक्सप्रेशन अमान्य है या Re2 सर्वर पर उपलब्ध नहीं है, तो यह null
दिखाता है.
यह एपीआई Re2 का इस्तेमाल करता है लागू करना. सर्वर की Docker इमेज, 2.0.0 या उसके बाद के वर्शन पर होनी चाहिए.
उदाहरण
const createRegex = require('createRegex');
const domainRegex = createRegex('\\w+\\.com', 'i');
// Returns '/foobar'
'example.com/foobar'.replace(domainRegex, '');
सिंटैक्स
createRegex(pattern, flags);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
pattern |
स्ट्रिंग | रेगुलर एक्सप्रेशन का टेक्स्ट. |
flags |
स्ट्रिंग | एक वैकल्पिक स्ट्रिंग, जिसमें बनाए जा रहे रेगुलर एक्सप्रेशन के फ़्लैग शामिल होते हैं. `g` (ग्लोबल) और `i` (छोटे-बड़े अक्षरों को अनदेखा करें) इस्तेमाल किए जा सकते हैं. अन्य सभी वर्ण हैं उन्हें अनदेखा किया गया. |
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
इमेज का कम से कम वर्शन
decodeUri
दिए गए यूआरआई में, कोड में बदले गए किसी भी वर्ण को डिकोड करता है. ऐसी स्ट्रिंग दिखाता है जो
डिकोड किया गया यूआरआई दिखाता है. गलत वैल्यू के साथ दिए जाने पर undefined
लौटाता है
इनपुट.
उदाहरण
const decodeUri = require('decodeUri');
const decodedUrl = decodeUri(data.encodedUrl);
if (decodedUrl) {
// ...
}
सिंटैक्स
decodeUri(encoded_uri);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
encoded_uri |
स्ट्रिंग |
ऐसा यूआरआई जिसे कोड में बदला गया है
encodeUri() या किसी दूसरे तरीके से.
|
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
decodeUriComponent
दिए गए यूआरआई कॉम्पोनेंट में, कोड में बदले गए किसी भी वर्ण को डिकोड करता है. यह वैल्यू दिखाता है
string, जो डिकोड किया गया यूआरआई कॉम्पोनेंट दिखाता है. जब undefined
मिलता है
यह अमान्य इनपुट दिया गया है.
उदाहरण
const decodeUriComponent = require('decodeUriComponent');
const decodedQuery = decodeUriComponent(data.query);
if (decodedQuery) {
// ...
}
सिंटैक्स
decodeUriComponent(encoded_uri_component);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
encoded_uri_component |
स्ट्रिंग |
ऐसा यूआरआई कॉम्पोनेंट जिसे कोड में बदला गया है
encodeUriComponent()
या किसी दूसरे तरीके से पहुंच सकते हैं.
|
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
encodeUri
विशेष को एस्केप करके कोड में बदला गया यूनिफ़ॉर्म रिसॉर्स आइडेंटिफ़ायर (यूआरआई) लौटाता है वर्ण कोड में बदली गई दी गई स्ट्रिंग को दिखाने वाली स्ट्रिंग दिखाता है के तौर पर लिखें.
उदाहरण
const encodeUri = require('encodeUri');
const sendHttpGet = require('sendHttpGet');
sendHttpGet('https://www.example.com/' + encodeUri(pathInput));
सिंटैक्स
encodeUri(uri);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
uri |
स्ट्रिंग | पूरा यूआरआई. |
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
encodeUriComponent
विशेष को एस्केप करके कोड में बदला गया यूनिफ़ॉर्म रिसॉर्स आइडेंटिफ़ायर (यूआरआई) लौटाता है वर्ण ऐसी स्ट्रिंग दिखाता है जो दी गई स्ट्रिंग को इस फ़ॉर्मैट में कोड में दिखाती है: यूआरआई.
उदाहरण
const encodeUriComponent = require('encodeUriComponent');
const sendHttpGet = require('sendHttpGet');
sendHttpGet('https://www.example.com/?' + encodeUriComponent(queryInput));
सिंटैक्स
encodeUriComponent(str);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
str |
स्ट्रिंग | यूआरआई का कॉम्पोनेंट. |
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
extractEventsFromMpv1
आने वाले मेज़रमेंट प्रोटोकॉल V1 अनुरोध का अनुवाद, इवेंट की सूची में करता है यूनिफ़ाइड स्कीमा फ़ॉर्मैट. एक्सट्रैक्ट किए गए इवेंट की सूची दिखाता है. गड़बड़ी की जानकारी देता है, अगर अनुरोध सही फ़ॉर्मैट में नहीं है.
उदाहरण
const extractEventsFromMpv1 = require('extractEventsFromMpv1');
const isRequestMpv1 = require('isRequestMpv1');
if (isRequestMpv1()) {
const events = extractEventsFromMpv1();
for (let i = 0; i < events.length; ++i) {
const event = events[i];
// Process event.
}
}
सिंटैक्स
extractEventsFromMpv1();
किसी डिवाइस से जुड़ी अनुमतियां
read_request
की अनुमति ज़रूरी है. अनुमति इस समय के लिए कॉन्फ़िगर की जानी चाहिए
कम से कम इन्हें ऐक्सेस करने की अनुमति दें:
body
query parameters
extractEventsFromMpv2
यह आने वाले मेज़रमेंट प्रोटोकॉल V2 अनुरोध को, इवेंट की सूची में बदलता है यूनिफ़ाइड स्कीमा फ़ॉर्मैट. एक्सट्रैक्ट किए गए इवेंट की सूची दिखाता है. गड़बड़ी की जानकारी देता है, अगर अनुरोध सही फ़ॉर्मैट में नहीं है.
उदाहरण
const extractEventsFromMpv2 = require('extractEventsFromMpv2');
const isRequestMpv2 = require('isRequestMpv2');
if (isRequestMpv2()) {
const events = extractEventsFromMpv2();
for (let i = 0; i < events.length; ++i) {
const event = events[i];
// Process event.
}
}
सिंटैक्स
extractEventsFromMpv2();
किसी डिवाइस से जुड़ी अनुमतियां
read_request
की अनुमति ज़रूरी है. अनुमति इस समय के लिए कॉन्फ़िगर की जानी चाहिए
कम से कम इन्हें ऐक्सेस करने की अनुमति दें:
body
query parameters
fromBase64
यह Base64 कोड में बदली गई स्ट्रिंग को डिकोड करता है. इनपुट अमान्य होने पर, undefined
नतीजा दिखाता है.
सिंटैक्स
fromBase64(base64EncodedString);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
base64EncodedString |
स्ट्रिंग | Base64 से कोड में बदली गई स्ट्रिंग. |
उदाहरण
const fromBase64 = require('fromBase64');
const greeting = fromBase64('aGVsbG8=');
if (greeting === 'hello') {
// ...
}
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
generateRandom
दी गई रेंज में से किसी भी संख्या (पूर्णांक) की जानकारी देता है.
उदाहरण
const generateRandom = require('generateRandom');
const randomValue = generateRandom(0, 10000000);
सिंटैक्स
generateRandom(min, max);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
min |
नंबर | दिखाए गए पूर्णांक का कम से कम संभावित मान (शामिल) |
max |
नंबर | दिए गए पूर्णांक का ज़्यादा से ज़्यादा संभावित मान (शामिल) |
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
getAllEventData
इवेंट डेटा की कॉपी दिखाता है.
सिंटैक्स
getAllEventData();
किसी डिवाइस से जुड़ी अनुमतियां
getClientName
ऐसी स्ट्रिंग दिखाता है जिसमें मौजूदा क्लाइंट का नाम होता है.
सिंटैक्स
getClientName();
किसी डिवाइस से जुड़ी अनुमतियां
getContainerVersion
मौजूदा कंटेनर का डेटा वाला ऑब्जेक्ट दिखाता है. रिटर्न ऑब्जेक्ट में ये फ़ील्ड होंगे:
{
containerId: string,
debugMode: boolean,
environmentName: string,
environmentMode: boolean,
previewMode: boolean,
version: string,
}
उदाहरण
const getContainerVersion = require('getContainerVersion');
const containerVersion = getContainerVersion();
const containerId = containerVersion['containerId'];
const isDebug = containerVersion['debugMode'];
सिंटैक्स
getContainerVersion();
किसी डिवाइस से जुड़ी अनुमतियां
getCookieValues
दिए गए नाम के साथ सभी कुकी की वैल्यू वाला अरे दिखाता है.
उदाहरण
const getCookieValues = require('getCookieValues');
const lastVisit = getCookieValues('lastVisit')[0];
if (lastVisit) {
// ...
}
सिंटैक्स
getCookieValues(name[, noDecode]);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
name |
स्ट्रिंग | कुकी का नाम. |
noDecode |
बूलियन |
अगर true , कुकी की वैल्यू को
वापस किया गया. डिफ़ॉल्ट तौर पर, यह false पर सेट होती है.
|
किसी डिवाइस से जुड़ी अनुमतियां
getEventData
इवेंट डेटा में दिए गए पाथ पर वैल्यू की कॉपी दिखाता है. लौटाए जाने वाले प्रॉडक्ट
अगर दिए गए पाथ में कोई इवेंट डेटा नहीं है या कोई वैल्यू नहीं है, तो undefined
.
उदाहरण
const getEventData = require('getEventData');
const campaignId = getEventData('campaign.id');
const itemId = getEventData('items.0.id');
const referrer = getEventData('page_referrer');
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
keyPath |
कोई भी |
कुंजी का पाथ, जिसमें पाथ के कॉम्पोनेंट को बिंदु लगाकर अलग-अलग किया जाता है. कॉन्टेंट बनाने
पाथ कॉम्पोनेंट, किसी ऑब्जेक्ट की कुंजियां हो सकती हैं या किसी अरे में इंडेक्स हो सकते हैं. अगर आपने
keyPath कोई स्ट्रिंग नहीं है, इसे स्ट्रिंग के तौर पर जोड़ा गया है.
|
सिंटैक्स
getEventData(keyPath);
किसी डिवाइस से जुड़ी अनुमतियां
getGoogleAuth
ऐसा करने पर, पुष्टि करने वाला वह ऑब्जेक्ट लौटाता है जिसके साथ इस्तेमाल किया जा सकता है
sendHttpGet
या sendHttpRequest
Google Cloud API के लिए, अनुमति देने वाला हेडर शामिल करना होगा. यह एपीआई,
ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल:
सर्वर एनवायरमेंट की ज़रूरत नहीं है.
उदाहरण
const getGoogleAuth = require('getGoogleAuth');
const logToConsole = require('logToConsole');
const sendHttpGet = require('sendHttpGet');
const auth = getGoogleAuth({
scopes: ['https://www.googleapis.com/auth/datastore']
});
sendHttpGet(
'https://firestore.googleapis.com/v1/projects/my-project/databases/(default)/documents/collection/document',
{authorization: auth}
).then((result) => {
if (result.statusCode >= 200 && result.statusCode < 300) {
logToConsole('Result: ' + result.body);
data.gtmOnSuccess();
} else {
data.gtmOnFailure();
}
});
सिंटैक्स
getGoogleAuth(scopes);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
scopes
|
कलेक्शन | OAuth 2.0 Google API के दायरों का कलेक्शन इसके लिए ऐक्सेस का अनुरोध करें. |
किसी डिवाइस से जुड़ी अनुमतियां
use_google_credentials
की अनुमति ज़रूरी है. अनुमति
कॉन्फ़िगर किया गया हो.
getGoogleScript
Google स्क्रिप्ट के पहले से तय सेट से कोई संसाधन लेता है, और नतीजे के तौर पर प्रॉमिस करना.
प्रॉमिस दो पासकोड वाले ऑब्जेक्ट के साथ रिज़ॉल्व हो जाएगा: script
और
metadata
. अगर अनुरोध पूरा नहीं होता है, तो reason
की मदद से प्रॉमिस अस्वीकार कर दिया जाएगा.
metadata
ऑब्जेक्ट में, नीचे दी गई कैश मेमोरी में मौजूद मेटाडेटा शामिल होगा.
रिसॉर्स रिस्पॉन्स हेडर; हर फ़ील्ड सिर्फ़ तभी मौजूद होगा, जब
हेडर, संसाधन के रिस्पॉन्स में मौजूद होता है.
{
'cache-control': string,
'expires': string,
'last-modified': string,
}
उदाहरण
const getGoogleScript = require('getGoogleScript');
getGoogleScript('ANALYTICS').then((result) => {
// Operate on result.script and result.metadata here.
});
सिंटैक्स
getGoogleScript(script[, options]);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
script |
स्ट्रिंग |
स्क्रिप्ट का नाम. ये स्क्रिप्ट इस्तेमाल की जा सकती हैं
'ANALYTICS' , 'GTAG' , और
'GTM' .'ANALYTICS'
विकल्प Google Analytics स्क्रिप्ट को यहां से फ़ेच करता है
https://www.google-analytics.com/analytics.js .इस 'GTAG' विकल्प, ग्लोबल साइट टैग (gtag.js) को फ़ेच करता है
https://www.googletagmanager.com/gtag/js से मिली स्क्रिप्ट.'GTM' विकल्प Google टैग प्रबंधक को प्राप्त करता है
https://www.googletagmanager.com/gtm.js से मिली स्क्रिप्ट.
|
options |
object | अनुरोध करने के वैकल्पिक विकल्प. यहां दिए गए विकल्पों के बारे में जानें. |
विकल्प
विकल्प | टाइप | ब्यौरा |
---|---|---|
id |
स्ट्रिंग |
gtag मेज़रमेंट आईडी और आईडी के साथ 'GTAG' पर लागू होता है
वेब कंटेनर आईडी वाला 'GTM' (उदाहरण के लिए, (GTM-XXXX) फ़ॉर्मैट में होता है.
|
debug |
कोई भी | अगर सही है, तो मेज़रमेंट के डीबग वर्शन का अनुरोध किया जाता है और उसे लौटाया जाता है स्क्रिप्ट. |
timeout |
नंबर |
अनुरोध का टाइम आउट मिलीसेकंड में; जो वैल्यू पॉज़िटिव नहीं होती हैं उन्हें अनदेखा कर दिया जाता है. अगर आपने
अनुरोध का समय खत्म होने के बाद, कॉलबैक को इसके साथ शुरू किया जाएगा
स्क्रिप्ट वैल्यू के लिए undefined और स्क्रिप्ट वैल्यू के लिए {}
मेटाडेटा ऑब्जेक्ट.
|
ऐसी विकल्प कुंजियों को अनदेखा कर दिया जाता है जिनकी पहचान नहीं की जा सकी.
किसी डिवाइस से जुड़ी अनुमतियां
send_http
की अनुमति ज़रूरी है. अनुमति देने के लिए, अनुमति को कॉन्फ़िगर करना ज़रूरी है
कम से कम इतने तक ऐक्सेस करें:
- Google Domains को अनुमति दें
getRemoteAddress
जहां अनुरोध किया जाता है वहां आईपी पते को string दिखाता है
जनरेट हुआ, उदाहरण के लिए आईपीवी4 या 2001:0db8:85a3:0:0:8a2e:0370:7334
के लिए 12.345.67.890
के लिए अनुरोध किया जा सकता है.
ध्यान दें: यह एपीआई, ओरिजनल आईपी का पता लगाने की पूरी कोशिश करता है, लेकिन
यह नतीजा सटीक होने की गारंटी नहीं दे सकता.
सिंटैक्स
getRemoteAddress();
किसी डिवाइस से जुड़ी अनुमतियां
read_request
की अनुमति ज़रूरी है. अनुमति इस समय के लिए कॉन्फ़िगर की जानी चाहिए
कम से कम इन्हें ऐक्सेस करने की अनुमति दें:
- हेडर
Forwarded
औरX-Forwarded-For
- रिमोट आईपी पता
getRequestBody
अनुरोध के मुख्य हिस्से को स्ट्रिंग के तौर पर दिखाता है. अगर यह मौजूद है, तो यह जवाब undefined
के तौर पर दिखता है.
सिंटैक्स
getRequestBody();
किसी डिवाइस से जुड़ी अनुमतियां
getRequestHeader
नाम वाले अनुरोध के हेडर की वैल्यू को स्ट्रिंग के तौर पर दिखाता है. अगर यह मौजूद है, तो या
अगर ऐसा नहीं है, तो undefined
. अगर हेडर दोहराया गया है, तो दिखाई गई वैल्यू जोड़ दी जाती हैं
', '
के साथ.
उदाहरण
const getRequestHeader = require('getRequestHeader');
const host = getRequestHeader('host');
सिंटैक्स
getRequestHeader(headerName);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
headerName |
स्ट्रिंग | हेडर का नाम. यह वैल्यू, केस-इनसेंसिटिव होती है. |
किसी डिवाइस से जुड़ी अनुमतियां
getRequestMethod
यह विकल्प अनुरोध का तरीका दिखाता है, जैसे कि स्ट्रिंग के तौर पर 'GET'
या 'POST'
.
उदाहरण
const getRequestMethod = require('getRequestMethod');
if (getRequestMethod() === 'POST') {
// Handle the POST request here.
}
सिंटैक्स
getRequestMethod();
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
getRequestPath
यह क्वेरी स्ट्रिंग के बिना अनुरोध का पाथ दिखाता है. उदाहरण के लिए, अगर URL
'/foo?id=123'
, यह '/foo'
दिखाता है. सर्वर अपने-आप हट जाता है
पाथ से कंटेनर यूआरएल प्रीफ़िक्स है. उदाहरण के लिए, अगर सर्वर कंटेनर का यूआरएल
https://example.com/analytics
और अनुरोध का पाथ '/analytics/foo'
है. यह
'/foo'
दिखाता है.
उदाहरण
const getRequestPath = require('getRequestPath');
const requestPath = getRequestPath();
if (requestPath === '/') {
// Handle a request for the root path.
}
सिंटैक्स
getRequestPath();
किसी डिवाइस से जुड़ी अनुमतियां
getRequestQueryParameter
यह नाम वाली क्वेरी स्ट्रिंग पैरामीटर की डिकोड की गई वैल्यू, string के तौर पर दिखाता है.
या undefined
पैरामीटर के मौजूद न होने पर. अगर पैरामीटर को
क्वेरी स्ट्रिंग में, क्वेरी स्ट्रिंग में दिखाई देने वाला पहला मान होगा
वापस किया गया.
उदाहरण
const getRequestQueryParameter = require('getRequestQueryParameter');
const query = getRequestQueryParameter('query');
if (query) {
// Process query here.
}
सिंटैक्स
getRequestQueryParameter(name);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
name |
स्ट्रिंग | क्वेरी पैरामीटर का नाम. |
किसी डिवाइस से जुड़ी अनुमतियां
getRequestQueryParameters
आने वाले एचटीटीपी अनुरोध के क्वेरी पैरामीटर को ऐसे ऑब्जेक्ट के रूप में लौटाता है जो मैप करता है क्वेरी पैरामीटर नामों को उनसे जुड़े मान या उनसे जुड़ी वैल्यू में शामिल कर सकता है. पैरामीटर के नाम और वैल्यू को डिकोड किया जाता है.
उदाहरण
const getRequestQueryParameters = require('getRequestQueryParameters');
const queryParameters = getRequestQueryParameters();
if (queryParameters['search']) {
// Handle the search query here.
const maxResults = queryParameters['max_results'];
}
सिंटैक्स
getRequestQueryParameters();
किसी डिवाइस से जुड़ी अनुमतियां
getRequestQueryString
यह अनुरोध क्वेरी को स्ट्रिंग के रूप में दिखाता है. इसकी शुरुआत में सवाल का निशान नहीं होता या खाली स्ट्रिंग, अगर अनुरोध यूआरएल में क्वेरी स्ट्रिंग शामिल नहीं है.
उदाहरण
const getRequestQueryString = require('getRequestQueryString');
const queryString = getRequestQueryString();
if (queryString !== '') {
// Handle the query string.
}
सिंटैक्स
getRequestQueryString();
किसी डिवाइस से जुड़ी अनुमतियां
getTimestamp
अब काम नहीं करता. getTimestampMillis को प्राथमिकता दें.
ऐसा नंबर देता है जो यूनिक्स के बाद से मिलीसेकंड में मौजूदा समय दिखाता है
Epoch के लिए, Date.now()
से लौटाया गया है.
सिंटैक्स
getTimestamp();
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
getTimestampMillis
ऐसा नंबर देता है जो यूनिक्स के बाद से मिलीसेकंड में मौजूदा समय दिखाता है
Epoch के लिए, Date.now()
से लौटाया गया है.
सिंटैक्स
getTimestampMillis();
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
getType
दिए गए मान के प्रकार के बारे में बताने वाली स्ट्रिंग देता है.
इनपुट प्रकार | लौटाया गया मान |
---|---|
स्ट्रिंग | 'string' |
नंबर | 'number' |
बूलियन | 'boolean' |
शून्य | 'null' |
तय नहीं है | 'undefined' |
कलेक्शन | 'array' |
ऑब्जेक्ट | 'object' |
फ़ंक्शन | 'function' |
उदाहरण
const getType = require('getType');
const type = getType(value);
if (type === 'string') {
// Handle string input.
} else if (type === 'number') {
// Handle numeric input.
} else {
logToConsole('Unsupported input type: ', type);
}
सिंटैक्स
getType(value);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
value |
कोई भी | इनपुट मान. |
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
hmacSha256
हैश पर आधारित मैसेज की पुष्टि करने की सुविधा का इस्तेमाल करके, कोड में बदले गए हस्ताक्षर की गणना करता है
SHA-256 के साथ कोड (HMAC). इसे कोड में बदलने के लिए, base64url
को डिफ़ॉल्ट तौर पर सेट किया जाता है.
इस एपीआई का इस्तेमाल करने के लिए, सर्वर पर SGTM_CREDENTIALS
एनवायरमेंट वैरिएबल सेट करें
UTF-8 कोड में बदली गई JSON कुंजी वाली फ़ाइल के पाथ पर ले जाएं, जिसका फ़ॉर्मैट नीचे दिया गया है:
{
"key1": "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5",
"key2": "OTg3NjU0MzIxMHp5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2Jh",
...
}
ये वैल्यू, base64 कोड में बदली गई एचएमएसी कुंजियां हैं.
उदाहरण
const hmacSha256 = require('hmacSha256');
const toBase64 = require('toBase64');
const header = toBase64('{"alg":"HS256","typ":"JWT"}', {urlEncoding: true});
const claim = toBase64('{"sub":"1234567890","iat":1698164946}', {urlEncoding: true});
const signature = hmacSha256(header + '.' + claim, 'key1');
const jwt = header + "." + claim + '.' + signature;
सिंटैक्स
hmacSha256(data, keyId, options)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
data |
स्ट्रिंग | एचएमएसी वैल्यू का पता लगाने के लिए इस्तेमाल किया जाने वाला डेटा. |
keyId
|
स्ट्रिंग | JSON कुंजी वाली फ़ाइल से लिया गया एक कुंजी आईडी जो सुरक्षा कुंजी का इस्तेमाल करें. |
options
|
object | ज़रूरी नहीं एपीआई कॉन्फ़िगरेशन. (देखें विकल्प यहां दिए गए हैं.) |
विकल्प
विकल्प | टाइप | ब्यौरा |
---|---|---|
outputEncoding
|
स्ट्रिंग | इस
रिटर्न वैल्यू. hex फ़ॉर्मैट का इस्तेमाल किया जा सकता है.
base64 या base64url . डिफ़ॉल्ट:
अगर बताया नहीं गया है, तो base64url . |
किसी डिवाइस से जुड़ी अनुमतियां
इमेज का कम से कम वर्शन
isRequestMpv1
अगर आने वाला अनुरोध, मेज़रमेंट प्रोटोकॉल V1 अनुरोध है, तो true
दिखाता है या
अगर ऐसा नहीं है, तो false
.
उदाहरण
const isRequestMpv1 = require('isRequestMpv1');
if (isRequestMpv1()) {
// Handle Measurement Protocol V1 request.
const events = extractEventsFromMpv1();
}
सिंटैक्स
isRequestMpv1();
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
isRequestMpv2
अगर आने वाला अनुरोध, मेज़रमेंट प्रोटोकॉल V2 अनुरोध है, तो true
दिखाता है या
अगर ऐसा नहीं है, तो false
.
उदाहरण
const isRequestMpv2 = require('isRequestMpv2');
if (isRequestMpv2()) {
// Handle Measurement Protocol V2 request.
const events = extractEventsFromMpv2();
}
सिंटैक्स
isRequestMpv2();
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
logToConsole
कंसोल में इसके आर्ग्युमेंट लॉग करता है.
ये लॉग, Google Cloud Console में लॉग एक्सप्लोरर में दिखते हैं.
लॉग एंट्री देखने के लिए, लॉग एक्सप्लोरर से logName =~ "stdout"
क्वेरी चलाएं
इस एपीआई की मदद से बनाया गया.
उदाहरण
const logToConsole = require('logToConsole');
const that = 123;
const those = { ... };
logToConsole('that is: ', that, ' and those is: ', those);
सिंटैक्स
logToConsole(argument1[, argument2, ...]);
पैरामीटर
एपीआई एक या उससे ज़्यादा आर्ग्युमेंट इस्तेमाल करता है. इनमें से हर एक आर्ग्युमेंट को स्ट्रिंग में बदल दिया जाता है, अगर डाला गया और कंसोल में लॉग इन किया गया.
किसी डिवाइस से जुड़ी अनुमतियां
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 .
|
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
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 |
स्ट्रिंग | पूरा यूआरएल, जिसे पार्स किया जाएगा. |
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
returnResponse
एपीआई का इस्तेमाल करके, अन्य टेंप्लेट के ज़रिए पहले सेट किए गए रिस्पॉन्स को फ़्लश करता है जो जवाब में बदलाव करती है. इसमें setCookie शामिल है, setPixelResponse, setResponseBody, setResponseHeader, और setResponseStatus. डिफ़ॉल्ट तौर पर, एचटीटीपी स्टेटस कोड 200 होता है, खाली बॉडी, और कोई हेडर नहीं.
हमारा सुझाव है कि इस एपीआई का इस्तेमाल क्लाइंट टेंप्लेट से किया जाए.
सिंटैक्स
returnResponse();
उदाहरण
runContainer
का उदाहरण देखें.
किसी डिवाइस से जुड़ी अनुमतियां
runContainer
किसी इवेंट के स्कोप में कंटेनर लॉजिक (वैरिएबल, ट्रिगर, टैग) चलाता है. अगर कंटेनर को एक्ज़ीक्यूट करने के दौरान इस एपीआई को कॉल किया जाता है, तो कंटेनर को फिर से चलाया जाता है.
onComplete
और onStart
कॉलबैक को कॉल किया जाता है
bindToEvent
. इवेंट के मामले में एपीआई चलाने के लिए, bindToEvent
का इस्तेमाल करें.
ज़्यादा जानकारी के लिए addEventCallback का उदाहरण देखें.
हमारा सुझाव है कि इस एपीआई का इस्तेमाल क्लाइंट टेंप्लेट से किया जाए.
const returnResponse = require('returnResponse');
const runContainer = require('runContainer');
// Runs the container with a simple pageview event and then returns a response.
runContainer({'event_name': 'pageview'}, () => returnResponse());
सिंटैक्स
runContainer(event, onComplete, onStart);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
event |
object | इवेंट पैरामीटर. |
onComplete |
फ़ंक्शन | एक कॉलबैक, जिसे सभी टैग का सक्रियण पूरा होने के बाद शुरू किया जाता है. |
onStart |
फ़ंक्शन | एक कॉलबैक, जिसे टैग सक्रिय होने से ठीक पहले शुरू किया जाता है. |
किसी डिवाइस से जुड़ी अनुमतियां
sendEventToGoogleAnalytics
यह सामान्य इवेंट डेटा का इस्तेमाल करके, Google Analytics को एक इवेंट भेजता है और
ऐसा प्रॉमिस जो location
बटन की मदद से ऑब्जेक्ट के बारे में बताता है या
reason
कुंजी वाले किसी ऑब्जेक्ट को अस्वीकार करता है. डेस्टिनेशन, यूनिवर्सल
Analytics या Google Analytics 4, इवेंट में मेज़रमेंट आईडी पर आधारित होता है
डेटा शामिल है.
अगर location
फ़ील्ड मौजूद है, तो यह location
हेडर पर सेट होता है.
उदाहरण
const logToConsole = require('logToConsole');
const sendEventToGoogleAnalytics = require('sendEventToGoogleAnalytics');
const setResponseHeader = require('setResponseHeader');
const setResponseStatus = require('setResponseStatus');
// Sends an event to Google Analytics and returns failure if the request did not
// succeed. Additionally, if the request resulted in a redirect request, the
// code nominates a redirect response to be returned.
sendEventToGoogleAnalytics(event).then((response) => {
if (response.location) {
setResponseHeader('location', response.location);
setResponseStatus(302);
} else {
setResponseStatus(200);
}
data.gtmOnSuccess();
}).catch((error) => {
logToConsole(error.reason);
setResponseStatus(500);
data.gtmOnFailure();
});
सिंटैक्स
sendEventToGoogleAnalytics(event);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
event |
object | यूनिफ़ाइड स्कीमा फ़ॉर्मैट में इवेंट. |
किसी डिवाइस से जुड़ी अनुमतियां
send_http
की अनुमति ज़रूरी है. अनुमति देने के लिए, अनुमति को कॉन्फ़िगर करना ज़रूरी है
कम से कम इतने तक ऐक्सेस करें:
- Google Domains को अनुमति दें
sendHttpGet
बताए गए यूआरएल पर एचटीटीपी जीईटी अनुरोध करता है और यह प्रॉमिस होना चाहिए, जो अनुरोध पूरा होने पर नतीजे के साथ ठीक हो जाता है या समय खत्म हो गया है.
हल किया गया नतीजा एक ऑब्जेक्ट होता है, जिसमें तीन कुंजियां होती हैं: statusCode
, headers
,
और body
. अगर अनुरोध पूरा नहीं होता (जैसे कि अमान्य यूआरएल, होस्ट के लिए कोई रूट नहीं है,
एसएसएल नेगोशिएशन फ़ेलियर वगैरह), प्रॉमिस इस तरह से अस्वीकार कर दिया जाएगा: {reason:
'failed'}
. अगर timeout
विकल्प सेट किया गया था और अनुरोध का समय खत्म हो गया था, तो
प्रॉमिस इसके साथ अस्वीकार हो जाएगा: {reason: 'timed_out'}
उदाहरण
const sendHttpGet = require('sendHttpGet');
// Returns the response body as the value for a variable.
return sendHttpGet('https://example.com/item/' + data.itemId, {
headers: {key: 'value'},
timeout: 500,
}).then((result) => result.body, () => undefined);
सिंटैक्स
sendHttpGet(url[, options]);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
url |
स्ट्रिंग | अनुरोध किया गया यूआरएल. |
options
|
object | अनुरोध के ज़रूरी नहीं विकल्प. (देखें विकल्प यहां दिए गए हैं.) |
विकल्प
विकल्प | टाइप | ब्यौरा |
---|---|---|
headers |
स्ट्रिंग | अनुरोध के अतिरिक्त हेडर. |
timeout
|
नंबर | मिलीसेकंड में, टाइम आउट से पहले
अनुरोध खारिज कर दिया गया है. डिफ़ॉल्ट तौर पर, यह 15000 पर सेट होती है. |
authorization
|
object | ज़रूरी नहीं ऑथराइज़ेशन ऑब्जेक्ट
इन्हें शामिल करने के लिए getGoogleAuth पर कॉल करें
अनुरोध करते समय अनुमति देने वाले हेडर
googleapis.com तक. |
किसी डिवाइस से जुड़ी अनुमतियां
sendHttpRequest
बताए गए यूआरएल पर एचटीटीपी अनुरोध करता है और प्रॉमिस दिखाता है जो अनुरोध पूरा होने या उसका समय खत्म होने के बाद, जवाब के साथ ठीक हो जाती है.
हल किया गया नतीजा एक ऑब्जेक्ट होता है, जिसमें तीन कुंजियां होती हैं: statusCode
, headers
,
और body
. अगर अनुरोध पूरा नहीं होता (जैसे कि अमान्य यूआरएल, होस्ट के लिए कोई रूट नहीं है,
एसएसएल नेगोशिएशन फ़ेलियर वगैरह), प्रॉमिस इस तरह से अस्वीकार कर दिया जाएगा: {reason:
'failed'}
. अगर timeout
विकल्प सेट किया गया था और अनुरोध का समय खत्म हो गया था, तो
प्रॉमिस इसके साथ अस्वीकार हो जाएगा: {reason: 'timed_out'}
उदाहरण
const sendHttpRequest = require('sendHttpRequest');
const setResponseBody = require('setResponseBody');
const setResponseHeader = require('setResponseHeader');
const setResponseStatus = require('setResponseStatus');
const postBody = 'interaction=click&campaign=promotion&medium=email';
// Sends a POST request and nominates response based on the response to the POST
// request.
sendHttpRequest('https://example.com/collect', {
headers: {key: 'value'},
method: 'POST',
timeout: 500,
}, postBody).then((result) => {
setResponseStatus(result.statusCode);
setResponseBody(result.body);
setResponseHeader('cache-control', result.headers['cache-control']);
});
सिंटैक्स
sendHttpRequest(url[, options[, body]]);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
url |
स्ट्रिंग | अनुरोध किया गया यूआरएल. |
options
|
object | अनुरोध के ज़रूरी नहीं विकल्प. (देखें विकल्प यहां दिए गए हैं.) |
body |
स्ट्रिंग | अनुरोध का मुख्य हिस्सा ज़रूरी नहीं है. |
विकल्प
विकल्प | टाइप | ब्यौरा |
---|---|---|
headers |
स्ट्रिंग | अनुरोध के अतिरिक्त हेडर. |
method |
object | अनुरोध का तरीका. डिफ़ॉल्ट तौर पर, यह GET पर सेट होती है. |
timeout
|
नंबर | मिलीसेकंड में, टाइम आउट से पहले
अनुरोध खारिज कर दिया गया है. डिफ़ॉल्ट तौर पर, यह 15000 पर सेट होती है. |
authorization
|
object | ज़रूरी नहीं ऑथराइज़ेशन ऑब्जेक्ट
इन्हें शामिल करने के लिए getGoogleAuth पर कॉल करें
अनुरोध करते समय अनुमति देने वाले हेडर
googleapis.com तक. |
किसी डिवाइस से जुड़ी अनुमतियां
sendPixelFromBrowser
यह ब्राउज़र को निर्देश भेजता है, ताकि दिए गए यूआरएल को <img>
टैग के तौर पर लोड किया जा सके. यह
कमांड प्रोटोकॉल, GA4 के Google टैग में काम करता है और
Google Analytics: GA इवेंट वेब टैग. आपको सर्वर कंटेनर को कॉन्फ़िगर करना होगा
यूआरएल. ज़्यादा जानकारी के लिए निर्देश देखें.
अगर आने वाला अनुरोध इस निर्देश के साथ काम नहीं करता है, तो यह एपीआई false
दिखाता है
प्रोटोकॉल लागू कर सकता है, या यदि प्रतिक्रिया पहले ही फ़्लश कर दी गई है. अगर ऐसा नहीं है, तो यह एपीआई
true
दिखाता है.
उदाहरण:
const sendPixelFromBrowser = require('sendPixelFromBrowser');
sendPixelFromBrowser('https://example.com/?id=123');
सिंटैक्स
sendPixelFromBrowser(url)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
url |
स्ट्रिंग | ब्राउज़र को भेजने के लिए यूआरएल. |
किसी डिवाइस से जुड़ी अनुमतियां
setCookie
बताए गए विकल्पों वाली कुकी सेट करता है या मिटाता है.
कोई कुकी मिटाने के लिए, किसी कुकी को उसी पाथ और डोमेन से सेट करना होगा जो
कुकी के साथ बनाया गया था और उसे
उदाहरण के लिए, "Thu, 01 Jan 1970 00:00:00 GMT"
.
ध्यान दें कि जवाब देने के लिए returnResponse को कॉल किया जाना चाहिए उसे क्लाइंट को वापस भेज दिया जाएगा.
उदाहरण
const setCookie = require('setCookie');
// Sets an httpOnly cookie with a max-age of 3600.
setCookie('cookieName', 'cookieValue', {'max-age': 3600, httpOnly: true});
सिंटैक्स
setCookie(name, value[, options[, noEncode]]);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
name |
स्ट्रिंग | कुकी का नाम. नाम केस-इनसेंसिटिव होता है. |
value |
स्ट्रिंग | कुकी की वैल्यू. |
options |
object | वैकल्पिक कुकी एट्रिब्यूट:डोमेन, समयसीमा खत्म हो जाती है, fallbackDomain,fallbackDomain, max- उम्र, पाथ, सुरक्षित, औरsameSite. (देखें विकल्प नीचे दिए गए हैं.) |
noEncode |
बूलियन |
अगर सही है, तो कुकी की वैल्यू को कोड में नहीं बदला जाएगा. डिफ़ॉल्ट:
false .
|
domain: वह होस्ट जहां कुकी को भेजा जाएगा. अगर इसे विशेष पर सेट किया जाता है मान 'ऑटो' है, तो होस्ट का आकलन ये रणनीति अपनाएं:
Forwarded
हेडर का eTLD+1, अगर मौजूद हो.X-Forwarded-Host
हेडर का eTLD+1, अगर मौजूद हो.Host
हेडर का eTLD+1.
समयसीमा खत्म हो जाती है: कुकी को ज़्यादा से ज़्यादा समय तक इस्तेमाल किया जा सकता है. यह यूटीसी फ़ॉर्मैट में होना चाहिए तारीख की स्ट्रिंग, जैसे "शनिवार, 26 अक्टूबर, 1985 08:21:00 जीएमटी". अगर
expires
औरmax-age
सेट हैं औरmax-age
को प्राथमिकता दी जाती है.httpOnly: अगर
true
है, तो JavaScript को कुकी ऐक्सेस करने से रोकती है.max-age: कुकी की समयसीमा खत्म होने में लगने वाले सेकंड की संख्या. शून्य या नेगेटिव संख्या कुकी को तुरंत रद्द कर देगा. अगर
expires
औरmax-age
, दोनों सेट हैं औरmax-age
को प्राथमिकता दी जाती है.पाथ: एक पाथ जो अनुरोध किए गए यूआरएल में मौजूद होना चाहिए. ऐसा न करने पर ब्राउज़र कुकी हेडर भेजें.
सुरक्षित: अगर
true
पर सेट की जाती है, तो कुकी सर्वर को सिर्फ़ तब भेजी जाती है, जब यह अनुरोधhttps:
एंडपॉइंट से किया गया है.sameSite: यह पुष्टि करता है कि कुकी को क्रॉस-ऑरिजिन के साथ नहीं भेजा जाना चाहिए अनुरोध.
'strict'
,'lax'
या'none'
होना चाहिए.
किसी डिवाइस से जुड़ी अनुमतियां
setPixelResponse
रिस्पॉन्स के मुख्य हिस्से को 1x1 GIF पर सेट करता है और कॉन्टेंट-टाइप हेडर को 'image/gif' पर सेट करता है, कैश मेमोरी हेडर को इस तरह सेट करता है कि उपयोगकर्ता एजेंट रिस्पॉन्स को कैश मेमोरी में सेव नहीं करेंगे. साथ ही, तो रिस्पॉन्स की स्थिति 200 पर सेट कर दी जाती है.
ध्यान दें कि जवाब देने के लिए returnResponse को कॉल किया जाना चाहिए उसे क्लाइंट को वापस भेज दिया जाएगा.
सिंटैक्स
setPixelResponse();
किसी डिवाइस से जुड़ी अनुमतियां
access_response
की अनुमति ज़रूरी है. अनुमति इस समय के लिए कॉन्फ़िगर की जानी चाहिए
कम से कम इन्हें ऐक्सेस करने की अनुमति दें:
headers
- इन कुंजियों की अनुमति देनी होगीcontent-type
cache-control
expires
pragma
body
status
setResponseBody
जवाब के मुख्य हिस्से को तर्क पर सेट करता है.
ध्यान दें कि जवाब देने के लिए returnResponse को कॉल किया जाना चाहिए उसे क्लाइंट को वापस भेज दिया जाएगा.
सिंटैक्स
setResponseBody(body[, encoding]);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
body |
स्ट्रिंग | जवाब के मुख्य भाग के तौर पर सेट की जाने वाली वैल्यू. |
encoding |
स्ट्रिंग |
रिस्पॉन्स वाले मुख्य हिस्से की कैरेक्टर एन्कोडिंग
'utf8' ). इस्तेमाल की जा सकने वाली वैल्यू में 'ascii' शामिल हैं.
'utf8' , 'utf16le' , 'ucs2' ,
'base64' , 'latin1' , 'binary' ,
और 'hex' .
|
किसी डिवाइस से जुड़ी अनुमतियां
access_response
की अनुमति ज़रूरी है. अनुमति इस समय के लिए कॉन्फ़िगर की जानी चाहिए
कम से कम इन्हें ऐक्सेस करने की अनुमति दें:
body
setResponseHeader
रिस्पॉन्स में एक हेडर सेट करता है, जो रिस्पॉन्स में दिखता है. अगर इस नाम का हेडर (केस-इनसेंसिटिव) को पहले इस एपीआई की मदद से सेट किया गया था. हालांकि, बाद वाला कॉल पूर्व कॉलर के ज़रिए सेट की गई वैल्यू को ओवरराइट करें या हटाएं.
ध्यान दें कि जवाब देने के लिए returnResponse को कॉल किया जाना चाहिए उसे क्लाइंट को वापस भेज दिया जाएगा.
सिंटैक्स
setResponseHeader(name, value);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
name |
स्ट्रिंग | हेडर का नाम. एचटीटीपी हेडर के नाम केस-इनसेंसिटिव होते हैं. इसलिए, हेडर नाम अंग्रेज़ी के छोटे अक्षरों में हो जाएगा. |
value |
string undefined | हेडर की वैल्यू. अगर शून्य या तय नहीं है, तो यह नाम वाला हेडर हटा देता है को वापस भेजा जाएगा. |
किसी डिवाइस से जुड़ी अनुमतियां
access_response
की अनुमति ज़रूरी है. अनुमति इस समय के लिए कॉन्फ़िगर की जानी चाहिए
कम से कम इन्हें ऐक्सेस करने की अनुमति दें:
headers
setResponseStatus
दिखाए जाने वाले रिस्पॉन्स का एचटीटीपी स्टेटस कोड सेट करता है.
ध्यान दें कि जवाब देने के लिए returnResponse को कॉल किया जाना चाहिए उसे क्लाइंट को वापस भेज दिया जाएगा.
सिंटैक्स
setResponseStatus(statusCode);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
statusCode |
नंबर | दिखाया जाने वाला एचटीटीपी स्थिति कोड. |
किसी डिवाइस से जुड़ी अनुमतियां
access_response
की अनुमति ज़रूरी है. अनुमति इस समय के लिए कॉन्फ़िगर की जानी चाहिए
कम से कम इन्हें ऐक्सेस करने की अनुमति दें:
status
sha256
इनपुट के SHA-256 डाइजेस्ट की गणना करता है और
डाइजेस्ट को base64 में एन्कोड किया गया है, जब तक कि options
ऑब्जेक्ट किसी अलग
आउटपुट एन्कोडिंग.
यह एपीआई हस्ताक्षर और व्यवहार, वेब कंटेनर के लिए sha256
एपीआई से मेल खाता है;
हालांकि, सर्वर कंटेनर में कस्टम टेंप्लेट को
आसान कोड के लिए sha256Sync
एपीआई.
उदाहरण
const encodeUriComponent = require('encodeUriComponent');
const sendHttpGet = require('sendHttpGet');
const sha256 = require('sha256');
sha256('inputString', (digest) => {
sendHttpGet('https://example.com/collect?id=' + encodeUriComponent(digest));
});
sha256('inputString', (digest) => {
sendHttpGet('https://example.com/collect?id=' + encodeUriComponent(digest));
}, {outputEncoding: 'hex'});
सिंटैक्स
sha256(input, onSuccess, options = undefined);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
input |
स्ट्रिंग | हैश की जाने वाली स्ट्रिंग. |
onSuccess |
फ़ंक्शन |
मिलने वाले डाइजेस्ट के साथ कॉल किया जाता है, जो base64 में एन्कोड किया गया होता है. हालांकि, ऐसा तब होता है, जब
options ऑब्जेक्ट, कोड में बदलने के अलग तरीके के बारे में बताता है.
|
options |
object |
आउटपुट एन्कोडिंग तय करने के लिए, ज़रूरी नहीं विकल्प ऑब्जेक्ट. अगर आपने
बताया गया है, ऑब्जेक्ट में outputEncoding कुंजी होनी चाहिए
base64 या hex में से एक वैल्यू हो.
|
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
sha256Sync
इनपुट के SHA-256 डाइजेस्ट की गणना करता है और देता है, जिसे base64 में एन्कोड किया गया है,
जब तक कि options
ऑब्जेक्ट, कोड में बदलने के किसी अलग तरीके के बारे में नहीं बताता.
उदाहरण
const encodeUriComponent = require('encodeUriComponent');
const sendHttpGet = require('sendHttpGet');
const sha256Sync = require('sha256Sync');
const digestBase64 = sha256Sync('inputString');
const digestHex = sha256Sync('inputString', {outputEncoding: 'hex'});
sendHttpGet('https://example.com/collect?id=' + encodeUriComponent(digestBase64));
sendHttpGet('https://example.com/collect?id=' + encodeUriComponent(digestHex));
सिंटैक्स
sha256Sync(input, options = undefined);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
input |
स्ट्रिंग | हैश की जाने वाली स्ट्रिंग. |
options |
object |
आउटपुट एन्कोडिंग तय करने के लिए, ज़रूरी नहीं विकल्प ऑब्जेक्ट. अगर आपने
बताया गया है, ऑब्जेक्ट में outputEncoding कुंजी होनी चाहिए
base64 या hex में से एक वैल्यू हो.
|
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
templateDataStorage
टेंप्लेट डेटा स्टोरेज को ऐक्सेस करने के तरीकों वाला ऑब्जेक्ट दिखाता है. टेंप्लेट डेटा स्टोरेज की मदद से, किसी एक टेंप्लेट को लागू करने के सभी चरणों का डेटा शेयर किया जा सकता है. टेंप्लेट डेटा स्टोरेज में सेव किया गया डेटा, कंटेनर. ज़्यादातर मामलों में, कंटेनर चलाने वाले कई सर्वर होते हैं. इसलिए टेंप्लेट के डेटा स्टोरेज में डेटा सेव करने से, इस बात की गारंटी नहीं मिलती कि हर बाद अनुरोध के पास डेटा का ऐक्सेस होगा.
"डेटा" "templateDataStorage" नाम में का मतलब है कि सिर्फ़ साधारण,
इस एपीआई का इस्तेमाल करके, नॉन-फ़ंक्शन डेटा को सेव किया जा सकता है. कोई भी फ़ंक्शन या
एपीआई को पास किए गए फ़ंक्शन के रेफ़रंस, इसके बजाय null
के तौर पर सेव किए जाएंगे.
सिंटैक्स
const templateDataStorage = require('templateDataStorage');
// Returns a copy of the value stored for the given key, or null if nothing
// is stored with that key.
templateDataStorage.getItemCopy(key);
// Stores a copy of the value for the given key (or removes the data stored
// for the given key if the input value is null).
templateDataStorage.setItemCopy(key, value);
// Removes the value stored for the given key, if present.
templateDataStorage.removeItem(key);
// Deletes all values stored for the current template.
templateDataStorage.clear();
उदाहरण
const sendHttpGet = require('sendHttpGet');
const setResponseBody = require('setResponseBody');
const setResponseStatus = require('setResponseStatus');
const templateDataStorage = require('templateDataStorage');
// Check to see if the item is in the cache.
const cachedBody = templateDataStorage.getItemCopy(data.key);
if (cachedBody) {
setResponseBody(cachedBody);
data.gtmOnSuccess();
return;
}
sendHttpGet(data.url).then((result) => {
if (result.statusCode >= 200 && result.statusCode < 300) {
setResponseBody(result.body);
templateDataStorage.setItemCopy(data.key, result.body);
data.gtmOnSuccess();
} else {
data.gtmOnFailure();
}
setResponseStatus(result.statusCode);
});
किसी डिवाइस से जुड़ी अनुमतियां
testRegex
यह फ़ंक्शन, createRegex
एपीआई से बनाए गए रेगुलर एक्सप्रेशन के साथ स्ट्रिंग की जांच करता है. true
को लौटाया जा सकता है
अगर रेगुलर एक्सप्रेशन मैच करता है. अगर ऐसा नहीं है, तो false
दिखाता है.
ग्लोबल फ़्लैग की मदद से बनाया गया रेगुलर एक्सप्रेशन स्टेटफ़ुल होता है. ज़्यादा जानकारी के लिए, ज़्यादा जानकारी के लिए, RegExp दस्तावेज़.
उदाहरण
const createRegex = require('createRegex');
const testRegex = require('testRegex');
const domainRegex = createRegex('\\w+\\.com', 'i');
// createRegex returns null if the regex is invalid or Re2 is not available.
if (domainRegex === null) return;
// Returns true
testRegex(domainRegex, 'example.com/foobar');
सिंटैक्स
testRegex(regex, string);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
regex |
ऑब्जेक्ट | वह रेगुलर एक्सप्रेशन जिसकी जांच करनी है और createRegex API की मदद से. |
string |
स्ट्रिंग | जांचने के लिए स्ट्रिंग को टेस्ट करें. |
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
toBase64
यह स्ट्रिंग को base64 या base64url के रूप में एन्कोड करता है. यह नीति, base64 कोड में बदलने के डिफ़ॉल्ट तरीके को सेट करती है.
सिंटैक्स
toBase64(input, options);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
input |
स्ट्रिंग | एन्कोड करने के लिए स्ट्रिंग. |
options
|
object | ज़रूरी नहीं एपीआई कॉन्फ़िगरेशन. (देखें विकल्प यहां दिए गए हैं.) |
विकल्प
विकल्प | टाइप | ब्यौरा | कम से कम वर्शन |
---|---|---|---|
urlEncoding
|
बूलियन | अगर सही है, तो नतीजे में
कोड में बदलने के लिए इसका इस्तेमाल करें
base64url फ़ॉर्मैट. |
1.0.0 |
उदाहरण
const toBase64 = require('toBase64');
const base64Hello = toBase64('hello');
const base64UrlHello = toBase64('hello', {urlEncoding: true});
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
BigQuery
BigQuery फ़ंक्शन उपलब्ध कराने वाला ऑब्जेक्ट दिखाता है.
BigQuery.insert
फ़ंक्शन की मदद से BigQuery टेबल में डेटा लिखा जा सकता है. यह
यह प्रॉमिस दिखाता है, जो सही तरीके से इंसर्शन डालने पर ठीक हो जाता है या
किसी गड़बड़ी पर अस्वीकार कर देता है.
इंसर्शन की प्रोसेस पूरी होने के बाद, प्रॉमिस बिना किसी आर्ग्युमेंट के रिज़ॉल्व हो जाता है.
जब प्रॉमिस फ़ेल हो जाता है, तो प्रॉमिस उन ऑब्जेक्ट की सूची के साथ अस्वीकार हो जाता है जिनमें ये शामिल हों गड़बड़ी की वजह बताएं और गड़बड़ी होने पर पंक्ति ऑब्जेक्ट. यह उनके लिए संभव है अनुरोध का एक हिस्सा पूरा किया जाना चाहिए, जबकि बाकी के हिस्से को पूरा नहीं किया जा सकता. इस मामले में प्रॉमिस को अस्वीकार कर दिया जाता है. साथ ही, हर लाइन में गड़बड़ियों की सूची और पंक्ति ऑब्जेक्ट की मदद से यह पता लगाया जा सकता है कि कौनसी पंक्तियां डाली गई थीं (नीचे गड़बड़ी के उदाहरण देखें). यहां जाएं: इन पर BigQuery का दस्तावेज़ गड़बड़ी मैसेज देखें.
सिंटैक्स
BigQuery.insert(connectionInfo, rows[, options]);
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
connectionInfo |
object |
BigQuery टेबल से कनेक्ट करने के लिए ज़रूरी जानकारी तय करता है. यहां है
एक वैकल्पिक पैरामीटर और दो ज़रूरी पैरामीटर:
|
rows |
कलेक्शन | टेबल में डाली जाने वाली पंक्तियां. |
options |
object | अनुरोध करने के वैकल्पिक विकल्प. इस्तेमाल किए जा सकने वाले विकल्प यहां दिए गए हैं: ignoreUnknownValues और skipInvalidRows. अनजान विकल्प कुंजियों को अनदेखा किया जाता है. (देखें विकल्प नीचे दिए गए हैं.) |
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
ignoreUnknownValues |
बूलियन | अगर इसे true पर सेट किया जाता है, तो वैल्यू वाली लाइनें स्वीकार करें
जो स्कीमा से मेल नहीं खाते. अज्ञात वैल्यू को अनदेखा कर दिया जाता है. डिफ़ॉल्ट
false तक. |
skipInvalidRows |
बूलियन | अगर यह वैल्यू true पर सेट है, तो अनुरोध की सभी मान्य लाइनें डालें.
अमान्य पंक्तियां होने पर भी. डिफ़ॉल्ट तौर पर, यह false पर सेट होती है. |
मॉड्यूल नहीं मिलने की गड़बड़ी का मतलब है कि शायद आपका सर्वर कंटेनर हमारी इमेज का पुराना वर्शन जिसमें अब तक BigQuery मॉड्यूल शामिल नहीं था. कृपया हमारी डिप्लॉयमेंट स्क्रिप्ट. कार्रवाई पूरी होने के बाद, मॉड्यूल अपने-आप शामिल हो जाएगा.
इनपुट न डालने की गड़बड़ी में आम तौर पर, reason
कुंजी के साथ गड़बड़ी वाला एक ऑब्जेक्ट होता है:
[{reason: 'invalid'}]
इंसर्शन की गड़बड़ी में, errors
कलेक्शन में गड़बड़ी वाले कई ऑब्जेक्ट हो सकते हैं
और एक row
ऑब्जेक्ट. गड़बड़ी के जवाब का एक उदाहरण नीचे दिया गया है
ऐसी दो पंक्तियां जोड़ना जिसमें सिर्फ़ एक पंक्ति में गड़बड़ी हो:
[
{
"errors": [
{
"reason":"invalid"
}
],
"row": {
"string_col":"otherString",
"number_col":-3,
"bool_col":3
}
},
{
"errors": [
{
"reason":"stopped"
}
],
"row": {
"string_col":"stringValue",
"number_col":5,
"bool_col:false
}
}
]
उदाहरण
const BigQuery = require('BigQuery');
const connectionInfo = {
'projectId': 'gcp-cloud-project-id',
'datasetId': 'destination-dataset',
'tableId': 'destination-table',
};
const rows = [{
'column1': 'String1',
'column2': 1234,
}];
const options = {
'ignoreUnknownValues': true,
'skipInvalidRows': false,
};
BigQuery.insert(connectionInfo, rows, options)
.then(data.gtmOnSuccess, data.gtmOnFailure);
किसी डिवाइस से जुड़ी अनुमतियां
Firestore
Firestore फ़ंक्शन उपलब्ध कराने वाला ऑब्जेक्ट दिखाता है.
यह एपीआई सिर्फ़ नेटिव मोड में फ़ायरस्टोर के साथ काम करता है, न कि Datastore मोड. साथ ही, एपीआई सिर्फ़ डिफ़ॉल्ट डेटाबेस का इस्तेमाल करने के साथ काम करता है.
Firestore.read
Firestore.read
फ़ंक्शन, Firestore दस्तावेज़ के डेटा को पढ़ता है और
ऐसा प्रॉमिस नतीजे देता है, जो दो कुंजियों वाले ऑब्जेक्ट के बारे में बताता है:
id
और data
. अगर दस्तावेज़ मौजूद नहीं है, तो प्रॉमिस इसके साथ अस्वीकार हो जाता है:
ऑब्जेक्ट में not_found
के बराबर reason
कुंजी है.
सिंटैक्स
Firestore.read(path[, options]);
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
path |
स्ट्रिंग | दस्तावेज़ या कलेक्शन का पाथ. इससे शुरू या खत्म नहीं होना चाहिए: '/'. |
options |
object | अनुरोध के ज़रूरी नहीं विकल्प. इस्तेमाल किए जा सकने वाले विकल्प यहां दिए गए हैं: projectId, disablecache और लेन-देन के बारे में ज़्यादा जानें. अनजान भाषा है विकल्प कुंजियों को अनदेखा कर दिया जाता है. (देखें विकल्प नीचे दिए गए हैं.) |
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
projectId |
स्ट्रिंग | Optional. Google Cloud Platform प्रोजेक्ट का आईडी. अगर इसे हटाया जाता है, तो
projectId को एनवायरमेंट वैरिएबल से वापस लाया गया है
GOOGLE_CLOUD_PROJECT जब तक
access_firestore
प्रोजेक्ट आईडी के लिए अनुमति की सेटिंग * पर सेट है या
GOOGLE_CLOUD_PROJECT . अगर सर्वर कंटेनर इस पर चल रहा है
Google Cloud, GOOGLE_CLOUD_PROJECT पहले से ही इस पर सेट होगा
Google Cloud प्रोजेक्ट का आईडी डालें. |
disableCache |
बूलियन | Optional. तय करता है कि कैश मेमोरी को बंद करना है या नहीं. कैश मेमोरी में सेव करने की सुविधा डिफ़ॉल्ट रूप से चालू होती है. इससे अनुरोध की अवधि. |
transaction |
स्ट्रिंग | Optional. इनसे मिली वैल्यू Firestore.runTransaction(). किसी कार्रवाई को इसमें मार्क करता है लेन-देन. |
उदाहरण
const Firestore = require('Firestore');
return Firestore.read('collection/document', {
projectId: 'gcp-cloud-project-id',
}).then((result) => result.data.key, () => undefined);
Firestore.write
Firestore.write
फ़ंक्शन, Firestore दस्तावेज़ में डेटा लिखता है या
संग्रह. अगर पाथ किसी कलेक्शन का है, तो एक दस्तावेज़ इस आधार पर बनाया जाएगा
रैंडम तरीके से जनरेट किया गया आईडी. अगर पाथ किसी दस्तावेज़ का है और वह मौजूद नहीं है, तो यह
बनाया जाएगा. यह एपीआई ऐसा प्रॉमिस देता है जो
दस्तावेज़ जोड़ा या बदला गया. अगर लेन-देन के विकल्प का इस्तेमाल किया जाता है, तो एपीआई अब भी
यह प्रॉमिस देता है, लेकिन इसमें आईडी नहीं होगा, क्योंकि राइट बैच में भेजे जाते हैं.
सिंटैक्स
Firestore.write(path, input[, options]);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
path |
स्ट्रिंग | दस्तावेज़ या कलेक्शन का पाथ. इससे शुरू या खत्म नहीं होना चाहिए: '/'. |
input |
object | दस्तावेज़ में लिखा जाने वाला मान. अगर मर्ज करने का विकल्प सेट है, एपीआई, इनपुट की कुंजियों को दस्तावेज़ में मर्ज कर देगा. |
options |
object | अनुरोध के ज़रूरी नहीं विकल्प. इस्तेमाल किए जा सकने वाले विकल्प यहां दिए गए हैं: projectId, मर्ज करें, और लेन-देन के बारे में ज़्यादा जानें. अनजान विकल्प कुंजियों को अनदेखा किया जाता है. (देखें विकल्प नीचे दिए गए हैं.) |
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
projectId |
स्ट्रिंग | Optional. Google Cloud Platform प्रोजेक्ट का आईडी. अगर इसे हटाया जाता है, तो
projectId को एनवायरमेंट वैरिएबल से वापस लाया गया है
GOOGLE_CLOUD_PROJECT जब तक
access_firestore
प्रोजेक्ट आईडी के लिए अनुमति की सेटिंग * पर सेट है या
GOOGLE_CLOUD_PROJECT . अगर सर्वर कंटेनर इस पर चल रहा है
Google Cloud, GOOGLE_CLOUD_PROJECT पहले से ही इस पर सेट होगा
Google Cloud प्रोजेक्ट का आईडी डालें. |
merge |
बूलियन | Optional. अगर इस पर सेट किया गया हो
true दबाएं. इसके बाद, इनपुट की कुंजियों को दस्तावेज़ में मर्ज करें,
ऐसा न होने पर यह तरीका पूरे दस्तावेज़ को बदल देगा. डिफ़ॉल्ट:
false . |
transaction |
स्ट्रिंग | Optional. इनसे मिली वैल्यू Firestore.runTransaction(). किसी कार्रवाई को इसमें मार्क करता है लेन-देन. |
उदाहरण
const Firestore = require('Firestore');
const input = {key1: 'value1', key2: 12345};
Firestore.write('collection/document', input, {
projectId: 'gcp-cloud-project-id',
merge: true,
}).then((id) => {
data.gtmOnSuccess();
}, data.gtmOnFailure);
Firestore.query
Firestore.query
फ़ंक्शन दिए गए कलेक्शन के बारे में क्वेरी करता है और
ऐसा प्रॉमिस जो क्वेरी से मैच करने वाले Firestore दस्तावेज़ों के कलेक्शन को पूरा करता है
शर्तें. Firestore दस्तावेज़ का ऑब्जेक्ट वही है जो ऊपर दी गई सूची में मौजूद है
Firestore.read
. अगर क्वेरी की शर्तों को पूरा करने वाला कोई दस्तावेज़ नहीं है,
इस फ़ंक्शन में जो प्रॉमिस मिला है वह खाली अरे में बदल जाएगा.
सिंटैक्स
Firestore.query(collection, queryConditions[, options]);
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
collection |
स्ट्रिंग | कलेक्शन का पाथ. इससे शुरू या खत्म नहीं होना चाहिए: '/'. |
queryConditions |
कलेक्शन | क्वेरी की शर्तों का कलेक्शन. हर क्वेरी इस तरह से आती है:
तीन वैल्यू वाला अरे: key,
operator और expectedValue. उदाहरण:
[[‘id’, ‘<’, ‘5’], [‘state’, ‘==’, ‘CA’]]. इन शर्तों को एक साथ AND किया जाता है, ताकि क्वेरी का नतीजा बनाया जा सके. प्लीज़ देखें काम करने वाली क्वेरी की सूची के लिए, Firestore के क्वेरी ऑपरेटर ऑपरेटर का इस्तेमाल करें. |
options |
object | अनुरोध के ज़रूरी नहीं विकल्प. इस्तेमाल किए जा सकने वाले विकल्प यहां दिए गए हैं: projectId, disablecache, limit और transaction. अनजान भाषा है विकल्प कुंजियों को अनदेखा कर दिया जाता है. (देखें विकल्प नीचे दिए गए हैं.) |
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
projectId |
स्ट्रिंग | Optional. Google Cloud Platform प्रोजेक्ट का आईडी. अगर इसे हटाया जाता है, तो
projectId को एनवायरमेंट वैरिएबल से वापस लाया गया है
GOOGLE_CLOUD_PROJECT जब तक
access_firestore
प्रोजेक्ट आईडी के लिए अनुमति की सेटिंग * पर सेट है या
GOOGLE_CLOUD_PROJECT . अगर सर्वर कंटेनर इस पर चल रहा है
Google Cloud, GOOGLE_CLOUD_PROJECT पहले से ही इस पर सेट होगा
Google Cloud प्रोजेक्ट का आईडी डालें. |
disableCache |
बूलियन | Optional. तय करता है कि कैश मेमोरी को बंद करना है या नहीं. कैश मेमोरी में सेव करने की सुविधा डिफ़ॉल्ट रूप से चालू होती है. इससे अनुरोध की अवधि. |
limit |
नंबर | Optional. इससे मिलने वाले नतीजों की ज़्यादा से ज़्यादा संख्या को बदलता है क्वेरी का डिफ़ॉल्ट मान 5 होता है. |
transaction |
स्ट्रिंग | Optional. इनसे मिली वैल्यू Firestore.runTransaction(). किसी कार्रवाई को इसमें मार्क करता है लेन-देन. |
उदाहरण
const Firestore = require('Firestore');
const queries = const queries = [['id', '==', '5']];
return Firestore.query('collection', queries, {
projectId: 'gcp-cloud-project-id',
limit: 1,
}).then((documents) => documents[0].data.key, () => undefined);
Firestore.runTransaction
Firestore.runTransaction
फ़ंक्शन की मदद से, उपयोगकर्ता अपने-आप
Firestore से पढ़ें और लिखें. अगर एक ही समय में होने वाला लेखन या अन्य लेन-देन होता है
विवाद होता है, तो लेन-देन की ज़्यादा से ज़्यादा दो बार कोशिश की जाएगी. अगर यह फ़ेल होता है, तो
कुल तीन बार कोशिश करने के बाद, एपीआई गड़बड़ी के साथ अस्वीकार कर देगा. यह एपीआई,
ऐसा प्रॉमिस जो हर राइट ऑपरेशन के लिए, दस्तावेज़ आईडी के कलेक्शन में बदलता है,
अगर लेन-देन पूरा हो जाता है और इसके सफल न होने पर गड़बड़ी के साथ उसे अस्वीकार कर दिया जाएगा.
सिंटैक्स
Firestore.runTransaction(callback[, options]);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
callback |
फ़ंक्शन | एक कॉलबैक जिसे किसी स्ट्रिंग ट्रांज़ैक्शन आईडी के साथ शुरू किया जाता है. कॉन्टेंट बनाने ट्रांज़ैक्शन आईडी को पढ़ने/लिखने/क्वेरी एपीआई कॉल में पास किया जा सकता है. इस कॉलबैक फ़ंक्शन को प्रॉमिस रिटर्न करना चाहिए. कॉलबैक न होने से पहले, ज़्यादा से ज़्यादा तीन बार काम कर सकता है. |
options |
object | अनुरोध के ज़रूरी नहीं विकल्प. यह विकल्प, सिर्फ़ इस सुविधा के साथ काम करता है projectId है. अनजान विकल्प कुंजियों को अनदेखा किया जाता है. (देखें विकल्प नीचे दिए गए हैं.) |
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
projectId |
स्ट्रिंग | Optional. Google Cloud Platform प्रोजेक्ट का आईडी. अगर इसे हटाया जाता है, तो
projectId को एनवायरमेंट वैरिएबल से वापस लाया गया है
GOOGLE_CLOUD_PROJECT जब तक
access_firestore
प्रोजेक्ट आईडी के लिए अनुमति की सेटिंग * पर सेट है या
GOOGLE_CLOUD_PROJECT . अगर सर्वर कंटेनर इस पर चल रहा है
Google Cloud, GOOGLE_CLOUD_PROJECT पहले से ही इस पर सेट होगा
Google Cloud प्रोजेक्ट का आईडी डालें. |
उदाहरण
const Firestore = require('Firestore');
const path = 'collection/document';
const projectId = 'gcp-cloud-project-id';
Firestore.runTransaction((transaction) => {
const transactionOptions = {
projectId: projectId,
transaction: transaction,
};
// Must return a promise.
return Firestore.read(path, transactionOptions).then((result) => {
const newInputCount = result.data.inputCount + 1;
const input = {key1: 'value1', inputCount: newInputCount};
return Firestore.write(path, input, transactionOptions);
});
}, {
projectId: projectId
}).then((ids) => {
data.gtmOnSuccess();
}, data.gtmOnFailure);
हर Firestore फ़ंक्शन में गड़बड़ियां मौजूद हैं, तो उन्हें ऑब्जेक्ट के साथ अस्वीकार कर दिया जाएगा
reason
कुंजी शामिल है:
Firestore.read(...).then(onSuccess, (error) => {
if (error.reason === 'unknown') {
// Handle the unknown error here.
}
});
गड़बड़ी की वजहों में Firestore REST API गड़बड़ी के अलावा और भी चीज़ें शामिल हो सकती हैं कोड.
किसी डिवाइस से जुड़ी अनुमतियां
JSON
JSON फ़ंक्शन उपलब्ध कराने वाला ऑब्जेक्ट दिखाता है.
parse()
फ़ंक्शन, वैल्यू या ऑब्जेक्ट बनाने के लिए JSON स्ट्रिंग को पार्स करता है
इसकी जानकारी स्ट्रिंग में दी गई है. अगर मान को पार्स नहीं किया जा सकता (उदाहरण के लिए, गलत JSON),
फ़ंक्शन undefined
दिखाएगा. अगर इनपुट वैल्यू कोई स्ट्रिंग नहीं है, तो
इनपुट को एक स्ट्रिंग की तरह इस्तेमाल किया जाएगा.
stringify()
फ़ंक्शन, इनपुट को JSON स्ट्रिंग में बदलता है. अगर मान
पार्स नहीं किया जा सकता (जैसे कि ऑब्जेक्ट का एक साइकल है), तो इस तरीके से
undefined
.
उदाहरण
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'});
सिंटैक्स
JSON.parse(stringInput);
JSON.stringify(value);
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
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);
पैरामीटर
मैथ के फ़ंक्शन के पैरामीटर को संख्याओं में बदल दिया जाता है.
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
Messages
अलग-अलग एपीआई के बीच मैसेज भेजने की अनुमति देने के लिए, नीचे दिए गए एपीआई एक साथ काम करते हैं कंटेनर के हिस्से होंगे.
addMessageListener
एक खास तरह का मैसेज सुनने वाला फ़ंक्शन जोड़ता है. जब मैसेज में
उस प्रकार को sendMessage
API (आमतौर पर किसी टैग द्वारा) का उपयोग करके भेजा जाता है,
कॉलबैक को सिंक्रोनस रूप से चलाया जाएगा. कॉलबैक दो पैरामीटर के साथ चलता है:
messageType:string
message:Object
अगर किसी क्लाइंट में कॉलबैक को जोड़ा जाता है, तो कॉलबैक को सभी मैसेज मिलेंगे
उन सभी इवेंट को एक्सपोर्ट करता है जिन्हें क्लाइंट बनाता है. क्या कॉलबैक को मैसेज मिलने चाहिए
इसके बाद, bindToEvent
का इस्तेमाल करके इस एपीआई को इवेंट से बाइंड करें
runContainer
एपीआई के onStart
फ़ंक्शन में. उदाहरण देखें.
सिंटैक्स
const addMessageListener = require('addMessageListener');
addMessageListener('send_pixel', (messageType, message) => {
// This will be run whenever something sends a 'send_pixel' message.
});
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
messageType |
स्ट्रिंग | सुनने के लिए मैसेज का टाइप. अगर मान कोई स्ट्रिंग नहीं है, तो यह एक स्ट्रिंग की तरह लग रहा है. |
callback |
फ़ंक्शन | लागू होने वाले मैसेज टाइप का मैसेज होने पर, कॉलबैक किया जाता है भेजा गया. अगर कॉलबैक कोई फ़ंक्शन नहीं है, तो एपीआई कुछ नहीं करेगा. |
उदाहरण
const addMessageListener = require('addMessageListener');
const claimRequest = require('claimRequest');
const extractEventsFromMpv1 = require('extractEventsFromMpv1');
const returnResponse = require('returnResponse');
const runContainer = require('runContainer');
claimRequest();
addMessageListener('send_pixel', (messageType, message) => {
// This will be run whenever a tag sends a 'send_pixel' message.
});
const events = extractEventsFromMpv1();
let eventsCompleted = 0;
events.forEach((event, i) => {
runContainer(events[i], /* onComplete= */ () => {
if (events.length === ++eventsCompleted) {
returnResponse();
}
}, /* onStart= */ (bindToEvent) => {
if (i === 0) {
bindToEvent(addMessageListener)('send_pixel', (messageType, message) => {
// This will be called whenever a tag for the first event sends a
// 'send_pixel' message.
});
}
});
});
किसी डिवाइस से जुड़ी अनुमतियां
use_message
की अनुमति ज़रूरी है. अनुमति देने के लिए, अनुमति को कॉन्फ़िगर करना ज़रूरी है
कम से कम:
listen
याlisten_and_send
केUsage
के साथ एक मैसेज टाइप.
hasMessageListener
अगर दिए गए मैसेज टाइप के लिए मैसेज लिसनर जोड़ा गया हो, तो 'सही' दिखाता है. अगर ऐसा नहीं है, तो 'गलत' दिखाता है.
सिंटैक्स
const hasMessageListener = require('hasMessageListener');
hasMessageListener('send_pixel');
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
sendMessage
रजिस्टर किए गए लिसनर को चुनिंदा टाइप का मैसेज भेजता है. इसका इस्तेमाल किया जा सकता है .
सिंटैक्स
const sendMessage = require('sendMessage');
sendMessage('send_pixel', {url: 'https://analytics.example.com/collect'});
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
messageType |
स्ट्रिंग | भेजने के लिए मैसेज का टाइप. अगर वैल्यू कोई स्ट्रिंग नहीं है, तो उसे बाध्य करके स्ट्रिंग की जाएगी. |
message |
object | भेजा जाने वाला मैसेज. अगर मैसेज कोई ऑब्जेक्ट नहीं है, तो एपीआई कुछ नहीं करेगा. |
किसी डिवाइस से जुड़ी अनुमतियां
use_message
की अनुमति ज़रूरी है. अनुमति देने के लिए, अनुमति को कॉन्फ़िगर करना ज़रूरी है
कम से कम:
listen_and_send
याsend
केUsage
के साथ एक मैसेज टाइप.
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.
Promise
ऐसा ऑब्जेक्ट दिखाता है जो वादों के साथ इंटरैक्ट करने के तरीके उपलब्ध कराता है.
प्रॉमिस, JavaScript वादों के बराबर काम करते हैं. हर इंस्टेंस में है प्रॉमिस को लौटाने के लिए तीन तरीके हैं. इससे प्रॉमिस के समय आगे की कार्रवाई की जा सकती है सेटल:
.then()
- सुलझे और अस्वीकार किए गए, दोनों मामलों को हैंडल करता है. इसमें दो पैरामीटर के तौर पर कॉलबैक: एक सक्सेस केस के लिए और दूसरा फ़ेलियर के लिए केस..catch()
- सिर्फ़ अस्वीकार किए गए मामलों के लिए काम करता है. एक कॉलबैक को पैरामीटर..finally()
- इससे कोड को चलाने का तरीका पता चलता है, भले ही वादा समाधान किया गया या अस्वीकार किया गया. यह एक कॉलबैक को पैरामीटर के तौर पर इस्तेमाल करता है, जिसके साथ शुरू की गई होती है कोई तर्क नहीं.
प्रॉमिस देने वाला वैरिएबल, प्रॉमिस की रिज़ॉल्व की गई वैल्यू के बराबर होता है या
अगर प्रॉमिस अस्वीकार कर दिया जाता है, तो false
.
उदाहरण
promise.then((resolvedValue) => {
// Handles when promise resolves.
}, (rejectedValue) => {
// Handles when promise rejects.
});
promise.catch((rejectedValue) => {
// Handles when promise rejects.
});
promise.finally(() => {
// Runs regardless of whether or not the previous promise resolves or
// rejects.
});
Promise.all
ऐसा प्रॉमिस देता है, जो:
- सभी इनपुट के हल हो जाने पर रिज़ॉल्व हो जाता है या
- किसी भी इनपुट के अस्वीकार होने पर अस्वीकार किया जाता है
सिंटैक्स
Promise.all(inputs);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
inputs |
कलेक्शन | वैल्यू या प्रॉमिस का कलेक्शन. अगर इनपुट कोई प्रॉमिस नहीं है, तो इनपुट को इस तरह से पास किया जाता है, जैसे कि यह प्रॉमिस की रिज़ॉल्व की गई वैल्यू है. फेंकता है अगर इनपुट, अरे नहीं है, तो गड़बड़ी दिखेगी. |
उदाहरण
const Promise = require('Promise');
const sendHttpGet = require('sendHttpGet');
return Promise.all(['a', sendHttpGet('https://example.com')])
.then((results) => {
// results will equal: ['a', {statusCode: 200, headers: {}, body: ''}]
});
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
Promise.create
ऐसा प्रॉमिस बनाता है जो JavaScript प्रॉमिस की तरह काम करता है.
सिंटैक्स
Promise.create(resolver);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
resolver |
फ़ंक्शन | एक ऐसा फ़ंक्शन जिसे दो फ़ंक्शन से शुरू किया जाता है -- रिज़ॉल्व और अस्वीकार करें. वापस किए गए प्रॉमिस का समाधान या उसे अस्वीकार कर दिया जाएगा पैरामीटर शुरू किया गया है. अगर रिज़ॉल्वर कोई फ़ंक्शन नहीं है, तो गड़बड़ी की जानकारी देता है. |
उदाहरण
const Promise = require('Promise');
return Promise.create((resolve, reject) => {
// Do asynchronous work that eventually calls resolve() or reject()
});
किसी डिवाइस से जुड़ी अनुमतियां
कोई नहीं.
टेस्ट एपीआई
ये एपीआई, सैंडबॉक्स किए गए 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 की [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() |
दावा करता है कि विषय एक ऐसी सरणी या स्ट्रिंग है जो खाली है (length = 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();
});
mockObject
mockObject
एपीआई की मदद से, सैंडबॉक्स किए गए एपीआई के काम करने के तरीके को बदला जा सकता है
कोई ऑब्जेक्ट लौटाता है. टेंप्लेट कोड में, इस एपीआई का इस्तेमाल सुरक्षित है. हालांकि, यह अब भी काम कर रहा है
यह सुविधा सिर्फ़ टेस्ट मोड में उपलब्ध है. हर टेस्ट पूरा होने से पहले, मॉक रीसेट हो जाते हैं.
सिंटैक्स
mockObject(apiName, objectMock);
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
apiName |
स्ट्रिंग | मॉक करने के लिए एपीआई का नाम; वही स्ट्रिंग जो
require() |
objectMock |
object | एपीआई या फ़ंक्शन के लिए दी जाने वाली वैल्यू एपीआई. कोई ऑब्जेक्ट होना चाहिए. |
उदाहरण
const storage = {};
let firestoreId = 1;
function asTestPromise(result) {
return {
then: (callback) => callback(result)
};
}
mockObject('Firestore', {
write: (collection, input) => {
storage[collection + '/' + (++firestoreId)] = input;
return asTestPromise(firestoreId);
},
read: (document) => asTestPromise({data: storage[document]})
});
runCode
टेंप्लेट के लिए कोड चलाता है, जैसे कि कोड टैब का कॉन्टेंट दिए गए इनपुट डेटा ऑब्जेक्ट के साथ मौजूदा टेस्ट एनवायरमेंट.
सिंटैक्स
runCode(data)
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
data |
object | जांच में इस्तेमाल किया जाने वाला डेटा ऑब्जेक्ट. |
रिटर्न वैल्यू
वैरिएबल टेंप्लेट के लिए वैरिएबल की वैल्यू दिखाता है; इसके लिए undefined
लौटाता है
अन्य सभी प्रकार के टेम्प्लेट के साथ काम करता है.
उदाहरण
runCode({field1: 123, field2: 'value'});