মূল API
এই APIগুলি Google ট্যাগ ম্যানেজারে কাস্টম টেমপ্লেট তৈরি করতে স্যান্ডবক্সযুক্ত জাভাস্ক্রিপ্টের সাথে কাজ করে৷ প্রতিটি API একটি 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
API আপনাকে একটি কলব্যাক ফাংশন নিবন্ধন করতে দেয় যা একটি ইভেন্টের শেষে আহ্বান করা হবে। ইভেন্টের জন্য সমস্ত ট্যাগ কার্যকর হয়ে গেলে বা একটি ইন পৃষ্ঠা ইভেন্ট টাইমআউট হয়ে গেলে কলব্যাক ডাকা হবে। কলব্যাকটি দুটি মান পাস করা হয়, ধারকটির আইডি যা ফাংশনটি আহ্বান করে এবং একটি বস্তু যা ইভেন্ট সম্পর্কে তথ্য ধারণ করে।
সিনট্যাক্স
addEventCallback(callback)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
callback | ফাংশন | ইভেন্টের শেষে আহ্বান করার ফাংশন। |
eventData
অবজেক্টে নিম্নলিখিত ডেটা রয়েছে:
মূল নাম | টাইপ | বর্ণনা |
---|---|---|
tags | অ্যারে | ট্যাগ ডেটা অবজেক্টের একটি অ্যারে। ইভেন্টের সময় ফায়ার করা প্রতিটি ট্যাগের এই অ্যারেতে একটি এন্ট্রি থাকবে। ট্যাগ ডেটা অবজেক্টে ট্যাগের আইডি ( id ), এর এক্সিকিউশন স্ট্যাটাস ( status ) এবং এর এক্সিকিউশন টাইম ( executionTime ) থাকে। ট্যাগ ডেটাতে অতিরিক্ত ট্যাগ মেটাডেটাও অন্তর্ভুক্ত থাকবে যা ট্যাগে কনফিগার করা হয়েছে। |
উদাহরণ
addEventCallback(function(ctid, eventData) {
logToConsole('Tag count for container ' + ctid + ': ' + eventData['tags'].length);
});
সংশ্লিষ্ট অনুমতি
aliasInWindow
aliasInWindow
API আপনাকে একটি উপনাম তৈরি করতে দেয় (যেমন window.foo = window.bar
), যা কিছু নির্দিষ্ট ট্যাগকে সমর্থন করতে সাহায্য করে যার জন্য অ্যালিয়াসিং প্রয়োজন। fromPath
এ পাওয়া window
অবজেক্টের মানটি toPath
এ window
অবজেক্টের কীটিতে বরাদ্দ করে। সফল হলে true
, অন্যথায় false
ফেরত দেয়।
সিনট্যাক্স
aliasInWindow(toPath, fromPath)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
toPath | স্ট্রিং | window অবজেক্টে একটি বিন্দু-বিভক্ত পথ যেখানে একটি মান কপি করা উচিত। শেষ উপাদান পর্যন্ত পথের সমস্ত উপাদান অবশ্যই window অবজেক্টে বিদ্যমান থাকতে হবে। |
fromPath | স্ট্রিং | অনুলিপি করার মানের জন্য window একটি বিন্দু-বিভক্ত পথ। মান বিদ্যমান না থাকলে, অপারেশন ব্যর্থ হবে। |
উদাহরণ
aliasInWindow('foo.bar', 'baz.qux')
সংশ্লিষ্ট অনুমতি
access_globals
toPath
এবং fromPath
উভয়ের জন্যই প্রয়োজন; toPath
জন্য লেখার অ্যাক্সেস প্রয়োজন, fromPath
জন্য পড়ার অ্যাক্সেস প্রয়োজন।
callInWindow
আপনাকে নীতি-নিয়ন্ত্রিত উপায়ে window
অবজেক্টের বাইরের পাথ থেকে ফাংশন কল করার অনুমতি দেয়। প্রদত্ত আর্গুমেন্ট সহ window
প্রদত্ত পাথে ফাংশনটিকে কল করে এবং মান প্রদান করে। যদি রিটার্নের ধরনটি স্যান্ডবক্সযুক্ত জাভাস্ক্রিপ্টে সমর্থিত একটি টাইপের সাথে সরাসরি ম্যাপ করা না যায়, undefined
ফেরত দেওয়া হবে। স্যান্ডবক্সযুক্ত জাভাস্ক্রিপ্টে সমর্থিত আট প্রকার হল null
, undefined
, boolean
, number
, string
, Array
, Object
এবং function
। যদি প্রদত্ত পথটি বিদ্যমান না থাকে, বা একটি ফাংশন উল্লেখ না করে, undefined
ফেরত দেওয়া হবে।
সিনট্যাক্স
callInWindow(pathToFunction, argument [, argument2,... argumentN])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
pathToFunction | স্ট্রিং | কল করার জন্য window ফাংশনের একটি বিন্দু-বিভক্ত পথ। |
args | * | আর্গুমেন্ট ফাংশন পাস করা হবে. |
সংশ্লিষ্ট অনুমতি
execute
পারমিশন সহ access_globals
সক্ষম।
callLater
অ্যাসিঙ্ক্রোনাসভাবে ঘটতে একটি ফাংশনে কলের সময় নির্ধারণ করে। বর্তমান কোড ফিরে আসার পরে ফাংশনটি কল করা হবে। এটি setTimeout(<function>, 0)
এর সমতুল্য।
সিনট্যাক্স
callLater(function)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
function | ফাংশন | কল করার ফাংশন। |
copyFromDataLayer
ডেটা স্তরে প্রদত্ত কীটিতে বর্তমানে নির্ধারিত মানটি ফেরত দেয়: প্রদত্ত কীটিতে পাওয়া মানটি যদি এটি একটি আদিম প্রকার, ফাংশন, বা বস্তুর আক্ষরিক, বা অন্যথায় undefined
।
সিনট্যাক্স
copyFromDataLayer(key[, dataLayerVersion])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
key | স্ট্রিং | "abc" ফরম্যাটে কী। |
dataLayerVersion | সংখ্যা | ঐচ্ছিক ডেটা স্তর সংস্করণ । ডিফল্ট মান হল 2৷ মান 1 ব্যবহার করতে দৃঢ়ভাবে নিরুৎসাহিত করা হয়৷ |
সংশ্লিষ্ট অনুমতি
copyFromWindow
window
অবজেক্ট থেকে একটি পরিবর্তনশীল অনুলিপি করে। যদি window
মানটি স্যান্ডবক্সযুক্ত জাভাস্ক্রিপ্টে সমর্থিত একটি টাইপের সাথে সরাসরি ম্যাপ করা না যায়, undefined
ফেরত দেওয়া হবে। স্যান্ডবক্সযুক্ত জাভাস্ক্রিপ্টে সমর্থিত আট প্রকার হল null
, undefined
, boolean
, number
, string
, Array
, Object
এবং function
। আনা (এবং জোরপূর্বক) মান প্রদান করে।
সিনট্যাক্স
copyFromWindow(key)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
key | স্ট্রিং | এর মান কপি করার জন্য window কী। |
সংশ্লিষ্ট অনুমতি
createArgumentsQueue
একটি সারি তৈরি করে যা আর্গুমেন্ট অবজেক্টে ভরপুর, ট্যাগ সমাধানের সমর্থনে যা এটির প্রয়োজন হয়।
fnKey
আর্গুমেন্ট ব্যবহার করে গ্লোবাল স্কোপে (যেমন window
) একটি ফাংশন তৈরি করে ( createQueue
এর মতো একই শব্দার্থবিদ্যা)। ফাংশন তৈরি হওয়ার পরে, এই API তারপর arrayKey
আর্গুমেন্ট ব্যবহার করে window
একটি অ্যারে তৈরি করে (যদি এটি ইতিমধ্যেই বিদ্যমান না থাকে)।
যখন fnKey
অধীনে তৈরি ফাংশনটিকে কল করা হয়, তখন এটি arrayKey
অধীনে তৈরি অ্যারের দিকে তার আর্গুমেন্ট অবজেক্টকে ঠেলে দেয়। API এর রিটার্ন মান হল fnKey
অধীনে তৈরি ফাংশন।
এই ফাংশনের জন্য access_globals
অনুমতিতে fnKey
এবং arrayKey
এর জন্য পঠন এবং লেখার সেটিং প্রয়োজন।
উদাহরণ:
const gtag = createArgumentsQueue('gtag', 'dataLayer');
gtag('set', {'currency': 'USD'});
সিনট্যাক্স
createArgumentsQueue(fnKey, arrayKey)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
fnKey | স্ট্রিং | window পাথ যেখানে ফাংশন সেট করা আছে, যদি এটি ইতিমধ্যে বিদ্যমান না থাকে। এই যুক্তি স্ট্যান্ডার্ড ডট নোটেশন সমর্থন করে. যদি কী এর পথটি বিদ্যমান না থাকে তবে একটি ব্যতিক্রম নিক্ষেপ করা হয়। অর্থাৎ, যদি fnKey 'one.two' হয়, তবে এটি একটি ব্যতিক্রম নিক্ষেপ করবে। |
arrayKey | স্ট্রিং | window পাথ যেখানে অ্যারে সেট করা আছে, যদি এটি ইতিমধ্যে বিদ্যমান না থাকে। এই যুক্তি স্ট্যান্ডার্ড ডট নোটেশন সমর্থন করে. যদি কী এর পথটি বিদ্যমান না থাকে তবে একটি ব্যতিক্রম নিক্ষেপ করা হয়। অর্থাৎ, যদি arrayKey 'one.two' হয়, এবং 'one' নামে কোনো গ্লোবাল অবজেক্ট না থাকে, তাহলে এটি একটি ব্যতিক্রম হবে। |
সংশ্লিষ্ট অনুমতি
createQueue
window
একটি অ্যারে তৈরি করে (যদি এটি ইতিমধ্যেই বিদ্যমান না থাকে) এবং একটি ফাংশন প্রদান করে যা সেই অ্যারেতে মানগুলি পুশ করবে।
এই ফাংশনের জন্য access_globals
অনুমতিতে arrayKey
জন্য পঠন এবং লেখার সেটিং প্রয়োজন।
উদাহরণ:
const dataLayerPush = createQueue('dataLayer');
dataLayerPush({'currency': 'USD'}, {'event': 'myConversion'});
সিনট্যাক্স
createQueue(arrayKey)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
arrayKey | স্ট্রিং | window কী যেখানে অ্যারে সেট করা আছে, যদি এটি ইতিমধ্যে বিদ্যমান না থাকে। এই যুক্তি স্ট্যান্ডার্ড ডট নোটেশন সমর্থন করে. যদি কী এর পথটি বিদ্যমান না থাকে তবে একটি ব্যতিক্রম নিক্ষেপ করা হয়। উদাহরণস্বরূপ, যদি arrayKey 'one.two' হয়, এবং 'one' নামে কোনো বৈশ্বিক বস্তু না থাকে, তাহলে এটি একটি ব্যতিক্রম হবে। |
সংশ্লিষ্ট অনুমতি
decodeUri
প্রদত্ত URI-তে যেকোনো এনকোড করা অক্ষর ডিকোড করে। ডিকোড করা URI প্রতিনিধিত্ব করে এমন একটি স্ট্রিং প্রদান করে। অবৈধ ইনপুট দেওয়া হলে undefined
ফেরত দেয়।
উদাহরণ:
const decode = require('decodeUri');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
সিনট্যাক্স
decodeUri(encoded_uri)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
encoded_uri | স্ট্রিং | একটি URI যা encodeUri() বা অন্য উপায়ে এনকোড করা হয়েছে। |
সংশ্লিষ্ট অনুমতি
কোনোটিই নয়।
decodeUriComponent
প্রদত্ত URI কম্পোনেন্টে যেকোনো এনকোড করা অক্ষর ডিকোড করে। একটি স্ট্রিং প্রদান করে যা ডিকোড করা URI উপাদানকে উপস্থাপন করে। অবৈধ ইনপুট দেওয়া হলে undefined
ফেরত দেয়।
উদাহরণ:
const decode = require('decodeUriComponent');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
সিনট্যাক্স
decodeUriComponent(encoded_uri_component)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
encoded_uri_component | স্ট্রিং | একটি URI উপাদান যা encodeUriComponent() বা অন্য উপায়ে এনকোড করা হয়েছে। |
সংশ্লিষ্ট অনুমতি
কোনোটিই নয়।
encodeUri
বিশেষ অক্ষর এড়িয়ে গিয়ে একটি এনকোডেড ইউনিফর্ম রিসোর্স আইডেন্টিফায়ার (URI) প্রদান করে। একটি স্ট্রিং প্রদান করে যা একটি URI হিসাবে এনকোড করা প্রদত্ত স্ট্রিংকে উপস্থাপন করে। অবৈধ ইনপুট দেওয়া হলে undefined
ফেরত দেয় (একটি একাকী সারোগেট)।
উদাহরণ:
sendPixel('https://www.example.com/' + encodeUri(pathInput));
সিনট্যাক্স
encodeUri(uri)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
uri | স্ট্রিং | একটি সম্পূর্ণ ইউআরআই। |
সংশ্লিষ্ট অনুমতি
কোনোটিই নয়।
encodeUriComponent
বিশেষ অক্ষর এড়িয়ে গিয়ে একটি এনকোডেড ইউনিফর্ম রিসোর্স আইডেন্টিফায়ার (URI) প্রদান করে। একটি স্ট্রিং প্রদান করে যা একটি URI হিসাবে এনকোড করা প্রদত্ত স্ট্রিংকে উপস্থাপন করে। অবৈধ ইনপুট দেওয়া হলে undefined
ফেরত দেয় (একটি একাকী সারোগেট)।
উদাহরণ:
sendPixel('https://www.example.com/?' + encodeUriComponent(queryInput));
সিনট্যাক্স
encodeUriComponent(str)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
str | স্ট্রিং | একটি URI এর একটি উপাদান। |
সংশ্লিষ্ট অনুমতি
কোনোটিই নয়।
fromBase64
fromBase64
API আপনাকে তাদের 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();
সংশ্লিষ্ট অনুমতি
getCookieValues
প্রদত্ত নামের সাথে সমস্ত কুকির মান প্রদান করে।
সিনট্যাক্স
getCookieValues(name[, decode])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
name | স্ট্রিং | কুকির নাম। |
decode | বুলিয়ান | জাভাস্ক্রিপ্টের decodeURIComponent() দিয়ে কুকির মানগুলি ডিকোড করা হবে কিনা তা নিয়ন্ত্রণ করে। ডিফল্ট থেকে true । |
সংশ্লিষ্ট অনুমতি
getQueryParameters
বর্তমান URL-এর queryKey
এর জন্য প্রথম বা সমস্ত পরামিতি প্রদান করে। queryKey
থেকে প্রথম মান বা queryKey
থেকে মানগুলির একটি অ্যারে প্রদান করে।
সিনট্যাক্স
getQueryParameters(queryKey[, retrieveAll])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
queryKey | স্ট্রিং | ক্যোয়ারী প্যারামিটার থেকে পড়ার কী। |
retrieveAll | বুলিয়ান | সমস্ত মান পুনরুদ্ধার করতে হবে কিনা। |
উদাহরণস্বরূপ, যদি বর্তমান URLটি 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
APIটি getQueryParameters
এর মতো একইভাবে কাজ করে, এটি বর্তমান URL এর পরিবর্তে রেফারারের উপর কাজ করে। প্রদত্ত রেফারারের queryKey
এর জন্য প্রথম বা সমস্ত প্যারামিটার ফেরত দেয়। queryKey
থেকে প্রথম মান বা queryKey
থেকে মানগুলির একটি অ্যারে প্রদান করে।
সিনট্যাক্স
getReferrerQueryParameters(queryKey[, retrieveAll])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
queryKey | স্ট্রিং | ক্যোয়ারী প্যারামিটার থেকে পড়ার কী। |
retrieveAll | বুলিয়ান | সমস্ত মান পুনরুদ্ধার করতে হবে কিনা। |
উদাহরণস্বরূপ, যদি রেফারার URL হয় 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
একটি কম্পোনেন্ট টাইপ দেওয়া হলে, API রেফারারের জন্য ডকুমেন্ট অবজেক্ট পড়ে এবং একটি স্ট্রিং প্রদান করে যা রেফারারের একটি অংশকে প্রতিনিধিত্ব করে। যদি কোন উপাদান নির্দিষ্ট করা না থাকে, সম্পূর্ণ রেফারার URL ফেরত দেওয়া হয়।
সিনট্যাক্স
getReferrerUrl([component])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
component | স্ট্রিং | URL থেকে যে কম্পোনেন্টটি ফিরতে হবে। নিম্নলিখিতগুলির মধ্যে একটি হতে পারে: protocol , host , port , path , query , extension ৷ যদি component undefined , null , বা এই উপাদানগুলির একটির সাথে মেলে না, সমগ্র URLটি ফেরত দেওয়া হবে৷ |
সংশ্লিষ্ট অনুমতি
get_referrer
অবশ্যই query
কম্পোনেন্টের অনুমতি দিতে হবে এবং অনুমোদিত ক্যোয়ারী কী-তে অবশ্যই queryKey
নির্দিষ্ট করতে হবে (অথবা যেকোনো ক্যোয়ারী কীকে অনুমতি দিতে হবে।)
getTimestamp
অবচয়। GetTimestampMillis পছন্দ করুন।
Date.now()
দ্বারা প্রত্যাবর্তিত হিসাবে ইউনিক্স যুগ থেকে মিলিসেকেন্ডে বর্তমান সময়কে প্রতিনিধিত্ব করে এমন একটি সংখ্যা প্রদান করে।
সিনট্যাক্স
getTimestamp();
সংশ্লিষ্ট অনুমতি
কোনোটিই নয়।
getTimestampMillis
Date.now()
দ্বারা প্রত্যাবর্তিত হিসাবে ইউনিক্স যুগ থেকে মিলিসেকেন্ডে বর্তমান সময়কে প্রতিনিধিত্ব করে এমন একটি সংখ্যা প্রদান করে।
সিনট্যাক্স
getTimestampMillis();
সংশ্লিষ্ট অনুমতি
কোনোটিই নয়।
getType
প্রদত্ত মানের প্রকার বর্ণনা করে একটি স্ট্রিং প্রদান করে। typeof
থেকে ভিন্ন, getType
array
এবং object
মধ্যে পার্থক্য করে।
সিনট্যাক্স
getType(data.someField)
নোট
নিম্নলিখিত সারণী প্রতিটি ইনপুট মানের জন্য প্রত্যাবর্তিত স্ট্রিংগুলি তালিকাভুক্ত করে৷
ইনপুট মান | ফলাফল |
---|---|
undefined | 'অসংজ্ঞায়িত' |
null | 'শূন্য' |
true | 'বুলিয়ান' |
12 | 'সংখ্যা' |
'string' | 'স্ট্রিং' |
{ a: 3 } | 'বস্তু' |
[ 1, 3 ] | 'অ্যারে' |
(x) => x + 1 | 'ফাংশন' |
সংশ্লিষ্ট অনুমতি
কোনোটিই নয়।
getUrl
একটি স্ট্রিং প্রদান করে যা বর্তমান URL এর সমস্ত বা একটি অংশকে উপস্থাপন করে, একটি উপাদানের প্রকার এবং কিছু কনফিগারেশন পরামিতি প্রদান করে।
সিনট্যাক্স
getUrl(component)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
component | স্ট্রিং | URL থেকে যে কম্পোনেন্টটি ফিরতে হবে। এর মধ্যে একটি হতে হবে: protocol , host , port , path , query , extension , fragment ৷ যদি উপাদানটি undefined , null , বা এই উপাদানগুলির একটির সাথে মেলে না, পুরো href মানটি ফেরত দেওয়া হবে৷ |
সংশ্লিষ্ট অনুমতি
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
এ ইনপুট একটি প্লেইন অবজেক্ট হয়, তাহলে API সেই অবজেক্টের ভিতরে থাকা সমস্ত চ্যাপ্টা কীগুলির জন্য লেখার অনুমতি পরীক্ষা করবে, যেমন gtagSet({foo: {bar: 'baz'}})
এর জন্য, API লেখার অনুমতি পরীক্ষা করবে foo.bar
যদি gtagSet
এ ইনপুট একটি কী এবং কিছু নন-প্লেইন অবজেক্ট মান হয়, তাহলে API সেই কীটিতে লেখার অনুমতি পরীক্ষা করবে, যেমন gtagSet('abc', true)
এর জন্য, API 'abc'
এ লেখার অনুমতি পরীক্ষা করবে।
উল্লেখ্য যে যদি ইনপুট অবজেক্টে একটি চক্র থাকে তবে একই বস্তুতে পৌঁছানোর আগে শুধুমাত্র কীগুলি চেক করা হবে।
injectHiddenIframe
পৃষ্ঠায় একটি অদৃশ্য আইফ্রেম যোগ করে।
কলব্যাকগুলি ফাংশন উদাহরণ হিসাবে দেওয়া হয় এবং জাভাস্ক্রিপ্ট ফাংশনে মোড়ানো হয় যা তাদের কাছে কল করে।
সিনট্যাক্স
injectHiddenIframe(url, onSuccess)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
url | স্ট্রিং | iframe এর src অ্যাট্রিবিউটের মান হিসাবে ব্যবহার করা URL৷ |
onSuccess | ফাংশন | ফ্রেম সফলভাবে লোড হলে কল করা হয়। |
সংশ্লিষ্ট অনুমতি
injectScript
প্রদত্ত ইউআরএলকে অ্যাসিঙ্ক্রোনাসভাবে লোড করতে পৃষ্ঠায় একটি স্ক্রিপ্ট ট্যাগ যোগ করে। কলব্যাকগুলিকে ফাংশন ইনস্ট্যান্স হিসাবে দেওয়া হয় এবং জাভাস্ক্রিপ্ট ফাংশনে মোড়ানো হয় যা সেগুলিকে কল করে।
সিনট্যাক্স
injectScript(url, onSuccess, onFailure[, cacheToken])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
url | স্ট্রিং | স্ক্রিপ্টের ঠিকানা ইনজেকশন দিতে হবে। |
onSuccess | ফাংশন | স্ক্রিপ্ট সফলভাবে লোড হলে কল করা হয়। |
onFailure | ফাংশন | স্ক্রিপ্ট লোড করতে ব্যর্থ হলে কল করা হয়। |
cacheToken | স্ট্রিং | প্রদত্ত ইউআরএল ক্যাশ করা উচিত নির্দেশ করতে ব্যবহৃত ঐচ্ছিক স্ট্রিং। এই মান নির্দিষ্ট করা হলে, জাভাস্ক্রিপ্ট অনুরোধ করার জন্য শুধুমাত্র একটি স্ক্রিপ্ট উপাদান তৈরি করা হবে। লোড করার যেকোনো অতিরিক্ত প্রচেষ্টার ফলে প্রদত্ত onSuccess এবং onFailure পদ্ধতিগুলি স্ক্রিপ্ট লোড না হওয়া পর্যন্ত সারিবদ্ধ থাকবে। |
সংশ্লিষ্ট অনুমতি
isConsentGranted
নির্দিষ্ট সম্মতির ধরন মঞ্জুর করা হলে সত্য দেখায়।
একটি নির্দিষ্ট সম্মতির প্রকারের জন্য সম্মতি মঞ্জুর বলে বিবেচিত হয় যদি সম্মতির ধরণটি 'মঞ্জুর করা' সেট করা থাকে বা একেবারে সেট না করা হয়। যদি সম্মতির ধরনটি অন্য কোনো মানতে সেট করা হয় তবে এটি মঞ্জুর হয়নি বলে বিবেচিত হবে।
ট্যাগ সেটিংসের জন্য ট্যাগ ম্যানেজার ইউজার ইন্টারফেস সর্বদা ফায়ার করার একটি বিকল্প অফার করবে। যদি সবসময় ফায়ার চালু থাকে এমন একটি ট্যাগ এই API ব্যবহার করে, তাহলে সম্মতি মঞ্জুর করা হয়েছে বলে বিবেচিত হবে এবং সম্মতির প্রকৃত অবস্থা নির্বিশেষে 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
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
মান | যেকোনো | রূপান্তর করার মান। |
উদাহরণ
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);
সংশ্লিষ্ট অনুমতি
উদাহরণ
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] | যেকোনো | যুক্তি |
সংশ্লিষ্ট অনুমতি
makeInteger
প্রদত্ত মানটিকে একটি সংখ্যায় (পূর্ণসংখ্যা) রূপান্তর করে।
সিনট্যাক্স
makeInteger(value)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
value | যেকোনো | রূপান্তর করার মান। |
সংশ্লিষ্ট অনুমতি
কোনোটিই নয়।
makeNumber
প্রদত্ত মানটিকে একটি সংখ্যায় রূপান্তর করে।
সিনট্যাক্স
makeNumber(value)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
value | যেকোনো | রূপান্তর করার মান। |
সংশ্লিষ্ট অনুমতি
কোনোটিই নয়।
makeString
একটি স্ট্রিং হিসাবে প্রদত্ত মান প্রদান করে।
সিনট্যাক্স
makeString(value)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
value | যেকোনো | রূপান্তর করার মান। |
সংশ্লিষ্ট অনুমতি
কোনোটিই নয়।
makeTableMap
দুটি কলাম সহ একটি সাধারণ টেবিল অবজেক্টকে একটি Map
রূপান্তর করে। এটি দুটি কলাম সহ একটি SIMPLE_TABLE
টেমপ্লেট ক্ষেত্রকে আরও পরিচালনাযোগ্য বিন্যাসে পরিবর্তন করতে ব্যবহৃত হয়।
উদাহরণস্বরূপ, এই ফাংশনটি একটি টেবিল অবজেক্টকে রূপান্তর করতে পারে:
[
{'key': 'k1', 'value': 'v1'},
{'key': 'k2', 'value': 'v2'}
]
একটি মানচিত্রে:
{
'k1': 'v1',
'k2': 'v2'
}
একটি অবজেক্ট ফেরত দেয় : রূপান্তরিত Map
যদি এতে কী-মান জোড়া যোগ করা হয়, অথবা অন্যথায় null
।
সিনট্যাক্স
makeTableMap(tableObj, keyColumnName, valueColumnName)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
tableObj | তালিকা | রূপান্তর করার জন্য টেবিল অবজেক্ট। এটি মানচিত্রের একটি তালিকা যেখানে প্রতিটি Map টেবিলের একটি সারি প্রতিনিধিত্ব করে। সারি অবজেক্টের প্রতিটি সম্পত্তির নাম হল কলামের নাম, এবং সম্পত্তির মান হল সারির কলামের মান। |
keyColumnName | স্ট্রিং | কলামের নাম যার মান রূপান্তরিত Map কী হয়ে যাবে। |
valueColumnName | স্ট্রিং | কলামের নাম যার মান রূপান্তরিত Map মান হয়ে যাবে। |
সংশ্লিষ্ট অনুমতি
কোনোটিই নয়।
Math
একটি বস্তু Math
ফাংশন প্রদান করে.
সিনট্যাক্স
const Math = require('Math');
// Retrieve the absolute value.
const absolute = Math.abs(-3);
// Round the input down to the nearest integer.
const roundedDown = Math.floor(3.6);
// Round the input up to the nearest integer.
const roundedUp = Math.ceil(2.2);
// Round the input to the nearest integer.
const rounded = Math.round(3.1);
// Return the largest argument.
const biggest = Math.max(1, 3);
// Return the smallest argument.
const smallest = Math.min(3, 5);
// Return the first argument raised to the power of the second argument.
const powerful = Math.pow(3, 1);
// Return the square root of the argument.
const unsquared = Math.sqrt(9);
পরামিতি
গণিত ফাংশন পরামিতি সংখ্যায় রূপান্তরিত হয়।
সংশ্লিষ্ট অনুমতি
কোনোটিই নয়।
Object
Object
পদ্ধতি প্রদান করে এমন একটি বস্তু প্রদান করে।
keys()
পদ্ধতি স্ট্যান্ডার্ড লাইব্রেরি Object.keys() আচরণ প্রদান করে। এটি একটি প্রদত্ত বস্তুর নিজস্ব গণনাযোগ্য সম্পত্তি নামের একটি অ্যারে প্রদান করে যে ক্রমে একটি for...in...
লুপ করবে। ইনপুট মান একটি বস্তু না হলে, এটি একটি বস্তুর জোর করা হবে.
values()
পদ্ধতি স্ট্যান্ডার্ড লাইব্রেরি Object.values() আচরণ প্রদান করে। এটি একটি প্রদত্ত বস্তুর নিজস্ব গণনাযোগ্য সম্পত্তি মানগুলির একটি অ্যারে প্রদান করে যে ক্রমে একটি for...in...
লুপ করবে। ইনপুট মান একটি বস্তু না হলে, এটি একটি বস্তুর জোর করা হবে.
entries()
পদ্ধতি স্ট্যান্ডার্ড লাইব্রেরি Object.entries() আচরণ প্রদান করে। এটি একটি প্রদত্ত বস্তুর নিজস্ব গণনাযোগ্য সম্পত্তি [key, value]
জোড়ার একটি অ্যারে প্রদান করে একই ক্রমে যা একটি for...in...
লুপ করবে। যদি ইনপুট মান একটি বস্তু না হয়, তাহলে এটি একটি বস্তুর সাথে জোর করা হবে।
freeze()
পদ্ধতি স্ট্যান্ডার্ড লাইব্রেরি Object.freeze() আচরণ প্রদান করে। একটি হিমায়িত বস্তু আর পরিবর্তন করা যাবে না; একটি বস্তুকে হিমায়িত করা নতুন বৈশিষ্ট্যগুলিকে এতে যুক্ত করা থেকে, বিদ্যমান বৈশিষ্ট্যগুলিকে সরানো থেকে এবং বিদ্যমান বৈশিষ্ট্যের মানগুলিকে পরিবর্তন করা থেকে বাধা দেয়। freeze()
একই অবজেক্ট রিটার্ন করে যা পাস করা হয়েছিল। একটি আদিম বা নাল আর্গুমেন্টকে হিমায়িত অবজেক্ট হিসাবে বিবেচনা করা হবে এবং ফেরত দেওয়া হবে।
delete()
পদ্ধতি স্ট্যান্ডার্ড লাইব্রেরি ডিলিট অপারেটর আচরণ প্রদান করে। বস্তুটি হিমায়িত না হওয়া পর্যন্ত এটি বস্তু থেকে প্রদত্ত কীটি সরিয়ে দেয়। স্ট্যান্ডার্ড লাইব্রেরি ডিলিট অপারেটরের মতো, এটি true
হয় যদি প্রথম ইনপুট মান ( objectInput
) এমন একটি বস্তু হয় যা হিমায়িত হয় না এমনকি যদি দ্বিতীয় ইনপুট মান ( keyToDelete
) এমন একটি কী নির্দিষ্ট করে যা বিদ্যমান নেই। এটি অন্য সব ক্ষেত্রে false
ফেরত দেয়। যাইহোক, এটি নিম্নলিখিত উপায়ে স্ট্যান্ডার্ড লাইব্রেরি ডিলিট অপারেটর থেকে পৃথক:
-
keyToDelete
একটি ডট-ডিলিমিটেড স্ট্রিং হতে পারে না যা একটি নেস্টেড কী নির্দিষ্ট করে। -
delete()
একটি অ্যারে থেকে উপাদান অপসারণ করতে ব্যবহার করা যাবে না। -
delete()
গ্লোবাল স্কোপ থেকে কোনো বৈশিষ্ট্য অপসারণ করতে ব্যবহার করা যাবে না।
সিনট্যাক্স
Object.keys(objectInput)
Object.values(objectInput)
Object.entries(objectInput)
Object.freeze(objectInput)
Object.delete(objectInput, keyToDelete)
পরামিতি
Object.keys
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
অবজেক্ট ইনপুট | যেকোনো | বস্তু যার কীগুলি গণনা করতে হবে। ইনপুট একটি বস্তু না হলে, এটি একটি বস্তুর জন্য জোর করা হবে. |
Object.values
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
অবজেক্ট ইনপুট | যেকোনো | যে বস্তুর মান গণনা করতে হবে। ইনপুট একটি বস্তু না হলে, এটি একটি বস্তুর জন্য জোর করা হবে. |
Object.entries
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
অবজেক্ট ইনপুট | যেকোনো | যে বস্তুর কী/মান জোড়া গণনা করতে হবে। ইনপুট একটি বস্তু না হলে, এটি একটি বস্তুর জন্য জোর করা হবে. |
অবজেক্ট.ফ্রিজ
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
অবজেক্ট ইনপুট | যেকোনো | অবজেক্ট জমাট. ইনপুট একটি বস্তু না হলে, এটি একটি হিমায়িত বস্তু হিসাবে গণ্য করা হবে. |
Object.delete
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
অবজেক্ট ইনপুট | যেকোনো | বস্তু যার কী মুছে ফেলতে হবে। |
কী মুছে ফেলুন | স্ট্রিং | মুছে ফেলার জন্য শীর্ষ-স্তরের কী। |
উদাহরণ
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
অবজেক্টের অনুরূপ একটি প্রদত্ত URL-এর সমস্ত উপাদান অংশ ধারণ করে এমন একটি বস্তু প্রদান করে।
এই API কোনো বিকৃত URL এর জন্য undefined
ফিরে আসবে। সঠিকভাবে ফরম্যাট করা URL-এর জন্য, URL স্ট্রিং-এ উপস্থিত না থাকা ক্ষেত্রগুলির একটি খালি স্ট্রিংয়ের মান থাকবে, অথবা 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
: দ্বিতীয় প্যারামিটারটি একটি URL স্ট্রিং হওয়া উচিত।
writeGlobals
, readGlobals
: দ্বিতীয় প্যারামিটারটি কী লেখা বা পড়া হচ্ছে তা হওয়া উচিত।
readUrl
: পুরো ইউআরএল পড়া যাবে কিনা তা জিজ্ঞাসা করার জন্য কোন অতিরিক্ত আর্গুমেন্টের প্রয়োজন নেই। একটি প্রদত্ত উপাদান পড়া যাবে কিনা তা জিজ্ঞাসা করতে, উপাদানটির নামটি দ্বিতীয় যুক্তি হিসাবে পাস করুন:
if (queryPermission('readUrl','port')) {
// read the port
}
একটি নির্দিষ্ট ক্যোয়ারী কী পঠনযোগ্য কিনা তা পরীক্ষা করতে, তৃতীয় প্যারামিটার হিসাবে ক্যোয়ারী কীটি পাস করুন:
if (queryPermission('readUrl','query','key')) {
getUrlComponent(...);
}
সংশ্লিষ্ট অনুমতি
কোনোটিই নয়।
readCharacterSet
document.characterSet
এর মান প্রদান করে।
সিনট্যাক্স
readCharacterSet()
পরামিতি
কোনোটিই নয়।
সংশ্লিষ্ট অনুমতি
readTitle
document.title
এর মান প্রদান করে।
সিনট্যাক্স
readTitle()
পরামিতি
কোনোটিই নয়।
সংশ্লিষ্ট অনুমতি
require
নামের দ্বারা একটি অন্তর্নির্মিত ফাংশন আমদানি করে। আপনার প্রোগ্রাম থেকে কল করা যেতে পারে এমন একটি ফাংশন বা একটি বস্তু ফেরত দেয়। ব্রাউজার বিল্ট-ইন ফাংশন সমর্থন না করলে অনির্ধারিত ফেরত দেয়।
সিনট্যাক্স
require(name)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
name | স্ট্রিং | আমদানি করার জন্য ফাংশনের নাম। |
উদাহরণ
const getUrl = require('getUrl');
const url = getUrl();
সংশ্লিষ্ট অনুমতি
কোনোটিই নয়।
sendPixel
একটি নির্দিষ্ট URL এন্ডপয়েন্টে একটি GET অনুরোধ করে।
সিনট্যাক্স
sendPixel(url, onSuccess, onFailure)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
url | স্ট্রিং | যেখানে পিক্সেল পাঠাতে হয়। |
onSuccess | ফাংশন | পিক্সেল সফলভাবে লোড হলে কল করা হয়। দ্রষ্টব্য: এমনকি যদি অনুরোধটি সফলভাবে পাঠানো হয়, তবে সফলতার উপর চালানোর জন্য ব্রাউজারগুলির একটি বৈধ চিত্র প্রতিক্রিয়া প্রয়োজন হতে পারে। |
onFailure | ফাংশন | পিক্সেল লোড হতে ব্যর্থ হলে কল করা হয়। দ্রষ্টব্য: এমনকি যদি অনুরোধটি সফলভাবে পাঠানো হয়, সার্ভারটি একটি বৈধ ইমেজ প্রতিক্রিয়া ফেরত না দিলে অনফেইল্যুর চলতে পারে। |
সংশ্লিষ্ট অনুমতি
setCookie
নির্দিষ্ট নাম, মান এবং বিকল্প সহ কুকি সেট বা মুছে দেয়।
সিনট্যাক্স
setCookie(name, value[, options, encode])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
name | স্ট্রিং | কুকির নাম। |
value | স্ট্রিং | কুকির মান। |
options | বস্তু | ডোমেন, পাথ, মেয়াদ শেষ, সর্বোচ্চ-বয়স, নিরাপদ, এবং একইসাইট বৈশিষ্ট্যগুলি নির্দিষ্ট করে৷ (নীচে বিকল্পগুলি দেখুন।) |
encode | বুলিয়ান | জাভাস্ক্রিপ্টের encodeURIComponent() দিয়ে কুকির মান এনকোড করা হবে কিনা তা নিয়ন্ত্রণ করে। ডিফল্ট থেকে true । |
- ডোমেন:
options['domain']
সম্পত্তি দ্বারা সেট করা, যদি উপস্থিত থাকে। নথির অবস্থানের উপর ভিত্তি করে সম্ভাব্য বিস্তৃত ডোমেন ব্যবহার করে কুকি লেখার চেষ্টা করতে এই মানটিকে'auto'
এ সেট করুন। যদি এটি ব্যর্থ হয়, এটি ক্রমাগত সংকীর্ণ সাবডোমেন চেষ্টা করবে। যদি সেগুলি সব ব্যর্থ হয়, এটি একটি ডোমেন ছাড়াই কুকি লেখার চেষ্টা করবে। যদি কোন মান সেট করা না থাকে, তাহলে এটি একটি নির্দিষ্ট ডোমেন ছাড়াই কুকি লেখার চেষ্টা করবে। দ্রষ্টব্য: যখন নির্দিষ্ট ডোমেন ছাড়াই একটি কুকিdocument.cookie
তে লেখা হয়, তখন ব্যবহারকারী এজেন্ট কুকির ডোমেনটিকে বর্তমান নথির অবস্থানের হোস্টে ডিফল্ট করবে৷ - পাথ:
options['path']
, যদি উপস্থিত থাকে। যখন নির্দিষ্ট কোনো পাথ ছাড়াই একটি কুকিdocument.cookie
তে লেখা হয়, তখন ব্যবহারকারী এজেন্ট বর্তমান নথির অবস্থানের পাথে কুকির পাথ ডিফল্ট করবে। - সর্বোচ্চ-বয়স:
options['max-age']
, যদি উপস্থিত থাকে। - মেয়াদ শেষ:
options['expires']
, যদি উপস্থিত থাকে। যদি উপস্থিত থাকে, এটি অবশ্যই একটি UTC- ফর্ম্যাটেড তারিখ স্ট্রিং হতে হবে।Date.toUTCString()
এই প্যারামিটারের জন্য একটিDate
ফর্ম্যাট করতে ব্যবহার করা যেতে পারে। - নিরাপদ:
options['secure']
, যদি উপস্থিত থাকে। - একইসাইট:
options['samesite']
, যদি উপস্থিত থাকে।
সংশ্লিষ্ট অনুমতি
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 সেট করা উচিত, সেখানে একটি মান আছে কি না তা নির্বিশেষে। |
সংশ্লিষ্ট অনুমতি
sha256
ইনপুটের SHA-256 ডাইজেস্ট গণনা করে এবং বেস64 এ এনকোড করা ডাইজেস্টের সাথে একটি কলব্যাক আহ্বান করে, যদি না 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 | ফাংশন | ফলাফল ডাইজেস্টের সাথে কল করা হয়, বেস64 এ এনকোড করা হয়, যদি না 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();
সংশ্লিষ্ট অনুমতি
উদাহরণ
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
API আপনাকে একটি স্ট্রিংকে একটি 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
অনুমতি।
পরীক্ষা API
এই APIগুলি Google ট্যাগ ম্যানেজারে কাস্টম টেমপ্লেটগুলির জন্য পরীক্ষা তৈরি করতে স্যান্ডবক্সযুক্ত জাভাস্ক্রিপ্ট পরীক্ষার সাথে কাজ করে৷ এই পরীক্ষা API গুলির প্রয়োজন নেই require()
বিবৃতি। কাস্টম টেমপ্লেট পরীক্ষা সম্পর্কে আরও জানুন ।
assertApi
একটি ম্যাচার অবজেক্ট প্রদান করে যা প্রদত্ত API সম্পর্কে সাবলীলভাবে দাবী করতে ব্যবহার করা যেতে পারে।
সিনট্যাক্স
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
API Google এর [Truth] লাইব্রেরির পরে মডেল করা হয়েছে। এটি একটি বস্তু ফেরত দেয় যা একটি বিষয়ের মান সম্পর্কে সাবলীলভাবে দাবী করতে ব্যবহার করা যেতে পারে। একটি দাবী ব্যর্থতা অবিলম্বে পরীক্ষা বন্ধ করবে এবং এটি ব্যর্থ হিসাবে চিহ্নিত করবে। যাইহোক, একটি পরীক্ষায় ব্যর্থতা অন্যান্য পরীক্ষার ক্ষেত্রে প্রভাবিত করবে না।
সিনট্যাক্স
assertThat(actual, opt_message)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
actual | যেকোনো | সাবলীল পরীক্ষায় ব্যবহার করার মান। |
opt_message | স্ট্রিং | দাবী ব্যর্থ হলে মুদ্রণের জন্য ঐচ্ছিক বার্তা। |
ম্যাচার্স
ম্যাচার | বর্ণনা |
---|---|
isUndefined() | দাবী করে যে বিষয়টি undefined । |
isDefined() | দাবী করে যে বিষয়টি undefined নয়। |
isNull() | দাবী করে যে বিষয়টি null । |
isNotNull() | দাবী করে যে বিষয়টি null নয়। |
isFalse() | বিষয়টি false বলে দাবি করেন। |
isTrue() | বিষয়টি true বলে দাবি করেন। |
isFalsy() | বিষয়টি মিথ্যা বলে দাবি করেন। মিথ্যা মানগুলি undefined , null , false , NaN , 0, এবং '' (খালি স্ট্রিং)। |
isTruthy() | দাবী করে যে বিষয়টি সত্য। মিথ্যা মানগুলি undefined , null , false , NaN , 0, এবং '' (খালি স্ট্রিং)। |
isNaN() | দাবি করে যে বিষয় হল NaN এর মান। |
isNotNaN() | দাবি করে যে বিষয়টি NaN ছাড়াও যেকোনও মান। |
isInfinity() | দাবী করে যে বিষয়টি ইতিবাচক বা নেতিবাচক ইনফিনিটি। |
isNotInfinity() | দাবী করে যে বিষয়টি ইতিবাচক বা ঋণাত্মক ইনফিনিটি ছাড়াও যেকোনো মান। |
isEqualTo(expected) | দাবী করে যে বিষয় প্রদত্ত মানের সমান। এটি একটি মান তুলনা, একটি রেফারেন্স তুলনা নয়। বস্তু এবং অ্যারের বিষয়বস্তু পুনরাবৃত্তিমূলকভাবে তুলনা করা হয়। |
isNotEqualTo(expected) | দাবী করে যে বিষয় প্রদত্ত মানের সমান নয়। এটি একটি মান তুলনা, একটি রেফারেন্স তুলনা নয়। বস্তু এবং অ্যারের বিষয়বস্তু পুনরাবৃত্তিমূলকভাবে তুলনা করা হয়। |
isAnyOf(...expected) | দাবি করে যে বিষয়টি প্রদত্ত মানের একটির সমান। এটি একটি মান তুলনা, একটি রেফারেন্স তুলনা নয়। বস্তু এবং অ্যারের বিষয়বস্তু পুনরাবৃত্তিমূলকভাবে তুলনা করা হয়। |
isNoneOf(...expected) | দাবী করে যে বিষয়টি প্রদত্ত মানের কোনটির সমান নয়। এটি একটি মান তুলনা, একটি রেফারেন্স তুলনা নয়। বস্তু এবং অ্যারের বিষয়বস্তু পুনরাবৃত্তিমূলকভাবে তুলনা করা হয়। |
isStrictlyEqualTo(expected) | দাবি করে যে বিষয়টি প্রদত্ত মানের সাথে কঠোরভাবে সমান ( === )। |
isNotStrictlyEqualTo(expected) | দাবী করে যে বিষয়টি প্রদত্ত মানের সাথে কঠোরভাবে সমান ( !== ) নয়। |
isGreaterThan(expected) | দাবী করে যে সাবজেক্টটি ক্রমানুসারে প্রদত্ত মানের থেকে ( > ) বড়। |
isGreaterThanOrEqualTo(expected) | দাবী করে যে সাবজেক্টটি ক্রমানুসারে প্রদত্ত মানের ( >= ) থেকে বড় বা সমান। |
isLessThan(expected) | দাবী করে যে সাবজেক্টটি ক্রমানুসারে প্রদত্ত মানের ( < ) থেকে কম। |
isLessThanOrEqualTo(expected) | দাবি করে যে বিষয়টি একটি ক্রমানুসারে প্রদত্ত মানের ( <= ) থেকে কম বা সমান। |
contains(...expected) | দাবী করে যে বিষয় হল একটি অ্যারে বা স্ট্রিং যা যেকোন ক্রমে প্রদত্ত সমস্ত মান ধারণ করে। এটি একটি মান তুলনা, একটি রেফারেন্স তুলনা নয়। বস্তু এবং অ্যারের বিষয়বস্তু পুনরাবৃত্তিমূলকভাবে তুলনা করা হয়। |
doesNotContain(...expected) | দাবী করে যে বিষয়টি একটি অ্যারে বা স্ট্রিং যাতে প্রদত্ত মানগুলির কোনটি নেই। এটি একটি মান তুলনা, একটি রেফারেন্স তুলনা নয়। বস্তু এবং অ্যারের বিষয়বস্তু পুনরাবৃত্তিমূলকভাবে তুলনা করা হয়। |
containsExactly(...expected) | দাবী করে যে বিষয় হল একটি অ্যারে যাতে প্রদত্ত সমস্ত মান যেকোন ক্রমে থাকে এবং অন্য কোন মান থাকে না। এটি একটি মান তুলনা, একটি রেফারেন্স তুলনা নয়। বস্তু এবং অ্যারের বিষয়বস্তু পুনরাবৃত্তিমূলকভাবে তুলনা করা হয়। |
doesNotContainExactly(...expected) | দাবি করে যে সাবজেক্টটি এমন একটি অ্যারে যাতে প্রদত্ত মান থেকে যেকোনো ক্রমানুসারে একটি ভিন্ন মানের সেট থাকে। এটি একটি মান তুলনা, একটি রেফারেন্স তুলনা নয়। বস্তু এবং অ্যারের বিষয়বস্তু পুনরাবৃত্তিমূলকভাবে তুলনা করা হয়। |
hasLength(expected) | দাবি করে যে বিষয়টি প্রদত্ত দৈর্ঘ্য সহ একটি অ্যারে বা স্ট্রিং। মান একটি অ্যারে বা স্ট্রিং না হলে দাবী সর্বদা ব্যর্থ হয়। |
isEmpty() | দাবি করে যে বিষয়টি একটি অ্যারে বা স্ট্রিং যা খালি (দৈর্ঘ্য = 0)। মান একটি অ্যারে বা স্ট্রিং না হলে দাবী সর্বদা ব্যর্থ হয়। |
isNotEmpty() | দাবি করে যে বিষয়টি একটি অ্যারে বা স্ট্রিং যা খালি নয় (দৈর্ঘ্য > 0)। মান একটি অ্যারে বা স্ট্রিং না হলে দাবী সর্বদা ব্যর্থ হয়। |
isArray() | দাবী করে যে বিষয়ের ধরন একটি অ্যারে। |
isBoolean() | দাবী করে যে বিষয়ের ধরন একটি বুলিয়ান। |
isFunction() | দাবী করে যে বিষয়ের ধরন একটি ফাংশন। |
isNumber() | দাবী করে যে বিষয়ের ধরন একটি সংখ্যা। |
isObject() | দাবী করে যে বিষয়ের ধরন একটি বস্তু। |
isString() | দাবী করে যে বিষয়ের ধরন একটি স্ট্রিং। |
উদাহরণ
assertThat(undefined).isUndefined();
assertThat(id, 'ID must be defined').isDefined();
assertThat(null).isNull();
assertThat(undefined).isNotNull();
assertThat(true).isTrue();
assertThat(false).isFalse();
assertThat(1).isTruthy();
assertThat('').isFalsy();
assertThat(1/0).isInfinity();
assertThat(0).isNotInfinity();
assertThat(-'foo').isNaN();
assertThat(100).isNotNaN();
assertThat(sentUrl).isEqualTo('https://endpoint.example.com/?account=12345');
assertThat(category).isNotEqualTo('premium');
assertThat(5).isAnyOf(1, 2, 3, 4, 5);
assertThat(42).isNoneOf('the question', undefined, 41.9);
assertThat('value').isStrictlyEqualTo('value');
assertThat('4').isNotStrictlyEqualTo(4);
assertThat(['a', 'b', 'c']).contains('a', 'c');
assertThat(['x', 'y', 'z']).doesNotContain('f');
assertThat(['1', '2', '3']).containsExactly('3', '2', '1');
assertThat(['4', '5']).doesNotContainExactly('4');
assertThat('a string').hasLength(8);
assertThat([]).isEmpty();
assertThat('another string').isNotEmpty();
fail
অবিলম্বে বর্তমান পরীক্ষা ব্যর্থ হয় এবং প্রদত্ত বার্তা প্রিন্ট করে, যদি সরবরাহ করা হয়।
সিনট্যাক্স
fail(opt_message);
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
opt_message | স্ট্রিং | ঐচ্ছিক ত্রুটি বার্তা পাঠ্য. |
উদাহরণ
fail('This test has failed.');
mock
mock
API আপনাকে স্যান্ডবক্সড API-এর আচরণ ওভাররাইড করতে দেয়। মক API টেমপ্লেট কোডে ব্যবহার করা নিরাপদ, তবে এটি শুধুমাত্র পরীক্ষা মোডে কার্যকর। প্রতিটি পরীক্ষা চালানোর আগে Mocks পুনরায় সেট করা হয়।
সিনট্যাক্স
mock(apiName, returnValue);
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
apiName | স্ট্রিং | উপহাস করার জন্য API এর নাম; require() |
returnValue | যেকোনো | API এর জন্য যে মানটি ফেরত দিতে হবে বা API-এর জায়গায় কল করা একটি ফাংশন। যদি returnValue একটি ফাংশন হয়, তাহলে সেই ফাংশনটিকে স্যান্ডবক্সড API-এর জায়গায় বলা হয়; যদি returnValue একটি ফাংশন ব্যতীত অন্য কিছু হয়, তাহলে সেই মানটি স্যান্ডবক্সড API-এর জায়গায় ফেরত দেওয়া হয়। |
উদাহরণ
mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
onSuccess();
});
mockObject
mockObject
API আপনাকে স্যান্ডবক্সড API-এর আচরণ ওভাররাইড করতে দেয় যা একটি অবজেক্ট ফেরত দেয়। এপিআই টেমপ্লেট কোডে ব্যবহার করা নিরাপদ, তবে এটি শুধুমাত্র পরীক্ষা মোডে কাজ করে। প্রতিটি পরীক্ষা চালানোর আগে Mocks পুনরায় সেট করা হয়।
সিনট্যাক্স
mockObject(apiName, objectMock);
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
apiName | স্ট্রিং | উপহাস করার জন্য API এর নাম; require() |
objectMock | বস্তু | API এর জন্য যে মানটি ফেরত দিতে হবে বা API-এর জায়গায় কল করা একটি ফাংশন। একটি বস্তু হতে হবে. |
উদাহরণ
const storage = {};
mockObject('localStorage', {
setItem: (key, value) => {storage[key] = value;},
getItem: (key) => storage[key],
});
runCode
প্রদত্ত ইনপুট ডেটা অবজেক্টের সাথে বর্তমান পরীক্ষার পরিবেশে টেমপ্লেটের জন্য কোড চালায়, অর্থাৎ কোড ট্যাবের বিষয়বস্তু।
সিনট্যাক্স
runCode(data)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
data | বস্তু | ডেটা অবজেক্ট পরীক্ষায় ব্যবহার করতে হবে। |
রিটার্ন ভ্যালু
পরিবর্তনশীল টেমপ্লেটের জন্য একটি ভেরিয়েবলের মান প্রদান করে; অন্য সব ধরনের টেমপ্লেটের জন্য undefined
ফেরত দেয়।
উদাহরণ
runCode({field1: 123, field2: 'value'});
,
মূল API
These APIs work with sandboxed JavaScript to build custom templates in Google Tag Manager. Each API is added with a require()
statement, eg:
const myAPI = require('myAPI');
addConsentListener
Registers a listener function to execute when the state of the specified consent type changes.
The given listener will be invoked every time the state for the specified consent type changes from denied to granted or from granted to denied. A consent type with no state is considered granted, so the listener won't be called if an unset consent type is updated to granted. Listener functions will be in charge of ensuring their code runs the appropriate number of times.
উদাহরণ:
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 | স্ট্রিং | The consent type to listen for state changes on. |
listener | ফাংশন | The function to run when the state of the specified consent type changes. |
When a listener is invoked, it will be passed the consent type that is being changed and the new value of that consent type:
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
consentType | স্ট্রিং | The consent type that is being changed. |
granted | বুলিয়ান | A boolean which is true if the specified consent type is being changed to granted. |
Associated permissions
access_consent
permission with read access for the consent type.
addEventCallback
The addEventCallback
API allows you to register a callback function that will be invoked at the end of an event. The callback will be invoked when all the tags for the event have executed, or if an in page event timeout is reached. The callback is passed two values, the id of the container that invokes the function and an object that contains information about the event.
সিনট্যাক্স
addEventCallback(callback)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
callback | ফাংশন | The function to invoke at the end of the event. |
The eventData
object contains the following data:
Key Name | টাইপ | বর্ণনা |
---|---|---|
tags | অ্যারে | An array of tag data objects. Every tag that fired during the event will have an entry in this array. The tag data object contains the tag's ID ( id ), its execution status ( status ), and its execution time ( executionTime ). The tag data will also include additional tag metadata that was configured on the tag. |
উদাহরণ
addEventCallback(function(ctid, eventData) {
logToConsole('Tag count for container ' + ctid + ': ' + eventData['tags'].length);
});
Associated permissions
aliasInWindow
The aliasInWindow
API lets you create an alias (eg window.foo = window.bar
), which helps to support certain tags that require aliasing. Assigns the value in the window
object found at the fromPath
to the key in the window
object at the toPath
. Returns true
if successful, false
otherwise.
সিনট্যাক্স
aliasInWindow(toPath, fromPath)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
toPath | স্ট্রিং | A dot-separated path into the window object where a value should be copied to. All components in the path up to the last component must already exist in the window object. |
fromPath | স্ট্রিং | A dot-separated path into window to the value to copy. If the value does not exist, the operation will fail. |
উদাহরণ
aliasInWindow('foo.bar', 'baz.qux')
Associated permissions
access_globals
is required for both toPath
and fromPath
; toPath
requires write access, fromPath
requires read access.
callInWindow
Allows you to call functions from a path off the window
object, in a policy- controlled way. Calls the function at the given path in window
with the given arguments and returns the value. If the return type can't be directly mapped to a type supported in sandboxed JavaScript, undefined
will be returned. The eight types supported in sandboxed JavaScript are null
, undefined
, boolean
, number
, string
, Array
, Object
, and function
. If the given path does not exist, or does not reference a function, undefined
will be returned.
সিনট্যাক্স
callInWindow(pathToFunction, argument [, argument2,... argumentN])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
pathToFunction | স্ট্রিং | A dot-separated path to the function in window to call. |
args | * | Arguments to be passed to the function. |
Associated permissions
access_globals
with execute
permission enabled.
callLater
Schedules a call to a function to occur asynchronously. The function will be called after the current code returns. This is equivalent to setTimeout(<function>, 0)
.
সিনট্যাক্স
callLater(function)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
function | ফাংশন | The function to call. |
copyFromDataLayer
Returns the value currently assigned to the given key in the data layer: The value found at the given key if it's a primitive type, function, or object literal, or undefined
otherwise.
সিনট্যাক্স
copyFromDataLayer(key[, dataLayerVersion])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
key | স্ট্রিং | The key in the format of "abc". |
dataLayerVersion | সংখ্যা | The optional data layer version . The default value is 2. It is strongly discouraged to use the value 1. |
Associated permissions
copyFromWindow
Copies a variable from window
object. If the value in window
can't be directly mapped to a type supported in sandboxed JavaScript, undefined
will be returned. The eight types supported in sandboxed JavaScript are null
, undefined
, boolean
, number
, string
, Array
, Object
, and function
. Returns the fetched (and coerced) value.
সিনট্যাক্স
copyFromWindow(key)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
key | স্ট্রিং | The key in the window to copy the value of. |
Associated permissions
createArgumentsQueue
Creates a queue that is populated with argument objects, in support of tag solutions that require it.
Creates a function in global scope (ie window
), using the fnKey
argument (same semantics as createQueue
). After the function is created, this API then creates an array in window
(if it doesn't already exist) using the arrayKey
argument.
When the function created under fnKey
is called, it pushes its arguments object onto the array created under arrayKey
. The API's return value is the function created under fnKey
.
This function requires the read and write setting for fnKey
and arrayKey
on the access_globals
permission.
উদাহরণ:
const gtag = createArgumentsQueue('gtag', 'dataLayer');
gtag('set', {'currency': 'USD'});
সিনট্যাক্স
createArgumentsQueue(fnKey, arrayKey)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
fnKey | স্ট্রিং | The path in window where the function is set, if it does not already exist. This argument supports standard dot notation. If the key's path does not exist, an exception is thrown. That is, if fnKey is 'one.two' , it will throw an exception. |
arrayKey | স্ট্রিং | The path in window where the array is set, if it does not already exist. This argument supports standard dot notation. If the key's path does not exist, an exception is thrown. That is, if arrayKey is 'one.two' , and there is no global object named 'one' , it will throw an exception. |
Associated permissions
createQueue
Creates an array in window
(if it doesn't already exist) and returns a function that will push values onto that array.
This function requires the read and write setting for arrayKey
on the access_globals
permission.
উদাহরণ:
const dataLayerPush = createQueue('dataLayer');
dataLayerPush({'currency': 'USD'}, {'event': 'myConversion'});
সিনট্যাক্স
createQueue(arrayKey)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
arrayKey | স্ট্রিং | The key in window where the array is set, if it does not already exist. This argument supports standard dot notation. If the key's path does not exist, an exception is thrown. For example, if arrayKey is 'one.two' , and there is no global object named 'one' , it will throw an exception. |
Associated permissions
decodeUri
Decodes any encoded characters in the provided URI. Returns a string that represents the decoded URI. Returns undefined
when provided with invalid input.
উদাহরণ:
const decode = require('decodeUri');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
সিনট্যাক্স
decodeUri(encoded_uri)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
encoded_uri | স্ট্রিং | A URI that has been encoded by encodeUri() or by other means. |
Associated permissions
কোনোটিই নয়।
decodeUriComponent
Decodes any encoded characters in the provided URI component. Returns a string that represents the decoded URI component. Returns undefined
when provided with invalid input.
উদাহরণ:
const decode = require('decodeUriComponent');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
সিনট্যাক্স
decodeUriComponent(encoded_uri_component)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
encoded_uri_component | স্ট্রিং | A URI component that has been encoded by encodeUriComponent() or by other means. |
Associated permissions
কোনোটিই নয়।
encodeUri
Returns an encoded Uniform Resource Identifier (URI) by escaping special characters. Returns a string that represents the provided string encoded as a URI. Returns undefined
when provided with invalid input (a lone surrogate).
উদাহরণ:
sendPixel('https://www.example.com/' + encodeUri(pathInput));
সিনট্যাক্স
encodeUri(uri)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
uri | স্ট্রিং | A complete URI. |
Associated permissions
কোনোটিই নয়।
encodeUriComponent
Returns an encoded Uniform Resource Identifier (URI) by escaping special characters. Returns a string that represents the provided string encoded as a URI. Returns undefined
when provided with invalid input (a lone surrogate).
উদাহরণ:
sendPixel('https://www.example.com/?' + encodeUriComponent(queryInput));
সিনট্যাক্স
encodeUriComponent(str)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
str | স্ট্রিং | A component of a URI. |
Associated permissions
কোনোটিই নয়।
fromBase64
The fromBase64
API lets you to decode strings from their base64 representation. Returns undefined
when provided with invalid input.
সিনট্যাক্স
fromBase64(base64EncodedString)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
base64EncodedString | স্ট্রিং | Base64 encoded string. |
উদাহরণ
const fromBase64 = require('fromBase64');
const greeting = fromBase64('aGVsbG8=');
if (greeting === 'hello') {
// ...
}
Associated permissions
কোনোটিই নয়
generateRandom
Returns a random number (integer) within the given range.
সিনট্যাক্স
generateRandom(min, max)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
min | সংখ্যা | Minimum potential value of the returned integer. |
max | সংখ্যা | Maximum potential value of the returned integer. |
Associated permissions
কোনোটিই নয়।
getContainerVersion
Returns an object containing data about the current container. The returned object has the following fields:
{
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();
Associated permissions
getCookieValues
Returns the values of all cookies with the given name.
সিনট্যাক্স
getCookieValues(name[, decode])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
name | স্ট্রিং | কুকির নাম। |
decode | বুলিয়ান | Controls whether the cookie values are to be decoded with JavaScript's decodeURIComponent() . ডিফল্ট থেকে true । |
Associated permissions
getQueryParameters
Returns the first or all of the parameters for the current URL's queryKey
. Returns the first value from the queryKey
or an Array of values from the queryKey
.
সিনট্যাক্স
getQueryParameters(queryKey[, retrieveAll])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
queryKey | স্ট্রিং | The key to read from the query parameters. |
retrieveAll | বুলিয়ান | Whether to retrieve all the values. |
For example, if the current URL is https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
, then:
-
getQueryParameters('var') == 'foo'
-
getQueryParameters('var', false) == 'foo'
-
getQueryParameters('var', null) == 'foo'
-
getQueryParameters('var', true) == ['foo', 'foo2', 'foo']
Associated permissions
get_url
must allow the query
component, and must specify the queryKey
in the allowed query keys (or allow any query key.)
getReferrerQueryParameters
The getReferrerQueryParameters
API acts the same way as getQueryParameters
, except it acts on the referrer instead of the current URL. Returns the first or all of the parameters for the given referrer's queryKey
. Returns the first value from the queryKey
or an Array of values from the queryKey
.
সিনট্যাক্স
getReferrerQueryParameters(queryKey[, retrieveAll])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
queryKey | স্ট্রিং | The key to read from the query parameters. |
retrieveAll | বুলিয়ান | Whether to retrieve all the values. |
For example, if the referrer URL is https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
, then:
-
getReferrerQueryParameters('var') == 'foo'
-
getReferrerQueryParameters('var', false) == 'foo'
-
getReferrerQueryParameters('var', null) == 'foo'
-
getReferrerQueryParameters('var', true) == ['foo', 'foo2', 'foo']
Associated permissions
get_referrer
must allow the query
component, and must specify the queryKey
in the allowed query keys (or allow any query key.)
getReferrerUrl
Given a component type, the API reads the document object for the referrer and returns a string that represents a portion of the referrer. If no component is specified, full referrer URL is returned.
সিনট্যাক্স
getReferrerUrl([component])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
component | স্ট্রিং | The component to return from the URL. Can be one of the following: protocol , host , port , path , query , extension . If component is undefined , null , or doesn't match one of these components, the entire URL will be returned. |
Associated permissions
get_referrer
must allow the query
component, and must specify the queryKey
in the allowed query keys (or allow any query key.)
getTimestamp
অবচয়। Prefer getTimestampMillis .
Returns a number that represents the current time in milliseconds since Unix epoch, as returned by Date.now()
.
সিনট্যাক্স
getTimestamp();
Associated permissions
কোনোটিই নয়।
getTimestampMillis
Returns a number that represents the current time in milliseconds since Unix epoch, as returned by Date.now()
.
সিনট্যাক্স
getTimestampMillis();
Associated permissions
কোনোটিই নয়।
getType
Returns a string describing the given value's type. Unlike typeof
, getType
differentiates between array
and object
.
সিনট্যাক্স
getType(data.someField)
নোট
The following table lists the strings returned for each input value.
ইনপুট মান | ফলাফল |
---|---|
undefined | 'অসংজ্ঞায়িত' |
null | 'শূন্য' |
true | 'বুলিয়ান' |
12 | 'সংখ্যা' |
'string' | 'স্ট্রিং' |
{ a: 3 } | 'বস্তু' |
[ 1, 3 ] | 'array' |
(x) => x + 1 | 'function' |
Associated permissions
কোনোটিই নয়।
getUrl
Returns a string that represents all or a portion of the current URL, given a component type, and some configuration parameters.
সিনট্যাক্স
getUrl(component)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
component | স্ট্রিং | The component to return from the URL. Must be one of: protocol , host , port , path , query , extension , fragment . If component is undefined , null , or doesn't match one of these components, the entire href value will be returned. |
Associated permissions
gtagSet
Pushes a gtag set command to the data layer, to be processed as soon as possible after the current event and any tags it triggered are finished processing (or the tag processing timeout is reached). The update is guaranteed to be processed in this container before any queued items in the data layer queue.
For example, if called by a tag fired on Consent Initialization , the update will be applied before the Initialization event is processed. Examples would be ads_data_redaction
being set to true
or false
or url_passthrough
being set to true
or false
.
উদাহরণ:
const gtagSet = require('gtagSet');
gtagSet({
'ads_data_redaction': true,
'url_passthrough': true,
});
সিনট্যাক্স
gtagSet(object)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
Object | বস্তু | An object that updates the global state for its containing properties. |
Associated permissions
write_data_layer
checks write permission to dataLayer
for all the specified keys. If input to gtagSet
is a plain object, the API will check for write permission to all the flattened keys inside that object, eg for gtagSet({foo: {bar: 'baz'}})
, the API will check for write permission to foo.bar
.
If the input to gtagSet
is a key and some non-plain object value, the API will check for write permission to that key, eg for gtagSet('abc', true)
, the API will check for write permission to 'abc'
.
Note that if there is a cycle in the input object, only keys before reaching the same object will be checked.
injectHiddenIframe
Adds an invisible iframe to the page.
Callbacks are given as function instances, and are wrapped in JavaScript functions that call through to them.
সিনট্যাক্স
injectHiddenIframe(url, onSuccess)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
url | স্ট্রিং | The URL to be used as the value of the iframe's src attribute. |
onSuccess | ফাংশন | Called when the frame loads successfully. |
Associated permissions
injectScript
Adds a script tag to the page to load the given URL asynchronously. The callbacks are given as function instances, and are wrapped in JavaScript functions that call through to them.
সিনট্যাক্স
injectScript(url, onSuccess, onFailure[, cacheToken])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
url | স্ট্রিং | The address of the script to be injected. |
onSuccess | ফাংশন | Called when the script loads successfully. |
onFailure | ফাংশন | Called when the script fails to load. |
cacheToken | স্ট্রিং | Optional string used to indicate the given URL should be cached. If this value is specified, only one script element will be created to request the JavaScript. Any additional attempts to load will result in the given onSuccess and onFailure methods being queued until the script loads. |
Associated permissions
isConsentGranted
Returns true if the specified consent type is granted.
Consent for a particular consent type is considered to be granted if the consent type has been set to 'granted' or not set at all. If the consent type is set to any other value it will be considered not granted.
The Tag Manager user interface for tag settings will offer an option to always fire. If a tag with always fire turned on uses this API, consent is considered granted and true
will be returned, regardless of the actual state of consent.
উদাহরণ:
const isConsentGranted = require('isConsentGranted');
if (isConsentGranted('ad_storage')) {
sendFullPixel();
} else {
sendPixelWithoutCookies();
}
সিনট্যাক্স
isConsentGranted(consentType)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
consentType | স্ট্রিং | The consent type to check the state of. |
Associated permissions
access_consent
permission with read access for the consent type.
JSON
Returns an object that provides JSON functions.
The parse()
function parses a JSON string to construct the value or object described by the string. If the value cannot be parsed (eg malformed JSON), the function will return undefined
. If the input value is not a string, the input will be coerced to a string.
The stringify()
function converts the input into a JSON string. If the value cannot be parsed (eg the object has a cycle), the method will return undefined
.
সিনট্যাক্স
JSON.parse(stringInput)
JSON.stringify(value);
পরামিতি
JSON.parse
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
stringInput | যেকোনো | The value to convert. If the value is not a string, the input will be coerced to a string. |
JSON.stringify
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
মান | যেকোনো | The value to convert. |
উদাহরণ
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
Returns an object with methods for accessing local storage.
সিনট্যাক্স
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);
Associated permissions
উদাহরণ
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
Logs arguments to the browser console.
সিনট্যাক্স
logToConsole(obj1 [, obj2,... objN])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
obj1 [, obj2,... objN] | যেকোনো | যুক্তি |
Associated permissions
makeInteger
Converts the given value to a number (integer).
সিনট্যাক্স
makeInteger(value)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
value | যেকোনো | The value to convert. |
Associated permissions
কোনোটিই নয়।
makeNumber
Converts the given value to a number .
সিনট্যাক্স
makeNumber(value)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
value | যেকোনো | The value to convert. |
Associated permissions
কোনোটিই নয়।
makeString
Returns the given value as a string .
সিনট্যাক্স
makeString(value)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
value | যেকোনো | The value to convert. |
Associated permissions
কোনোটিই নয়।
makeTableMap
Converts a simple table object with two columns to a Map
. This is used to change a SIMPLE_TABLE
template field with two columns into a more manageable format.
For example, this function could convert a table object:
[
{'key': 'k1', 'value': 'v1'},
{'key': 'k2', 'value': 'v2'}
]
into a Map:
{
'k1': 'v1',
'k2': 'v2'
}
Returns an Object : The converted Map
if key-value pairs have been added to it, or null
otherwise.
সিনট্যাক্স
makeTableMap(tableObj, keyColumnName, valueColumnName)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
tableObj | তালিকা | The table object to convert. It's a list of maps where each Map represents a row in the table. Each property name in a row object is the column name, and the property value is the column value in the row. |
keyColumnName | স্ট্রিং | Name of the column whose values will become keys in the converted Map . |
valueColumnName | স্ট্রিং | Name of the column whose values will become values in the converted Map . |
Associated permissions
কোনোটিই নয়।
Math
An object providing Math
functions.
সিনট্যাক্স
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);
পরামিতি
Math functions parameters are converted to numbers.
Associated permissions
কোনোটিই নয়।
Object
Returns an object that provides Object
methods.
The keys()
method provides the Standard Library Object.keys() behavior. It returns an array of a given object's own enumerable property names in the same order that a for...in...
loop would. If the input value is not an object, it will be coerced to an object.
The values()
method provides the Standard Library Object.values() behavior. It returns an array of a given object's own enumerable property values in the same order that a for...in...
loop would. If the input value is not an object, it will be coerced to an object.
The entries()
method provides the Standard Library Object.entries() behavior. It returns an array of a given object's own enumerable property [key, value]
pairs in the same order that a for...in...
loop would. If the input value is an not an object, it will be coerced to an object.
The freeze()
method provides the Standard Library Object.freeze() behavior. একটি হিমায়িত বস্তু আর পরিবর্তন করা যাবে না; freezing an object prevents new properties from being added to it, existing properties from being removed, and the values of existing properties from being changed. freeze()
returns the same object that was passed in. A primitive or null argument will be treated as if it were a frozen object, and will be returned.
The delete()
method provides the Standard Library delete operator behavior. It removes the given key from the object unless the object is frozen. Like the Standard Library delete operator, it returns true
if the first input value ( objectInput
) is an object that is not frozen even if the second input value ( keyToDelete
) specifies a key that does not exist. It returns false
in all other cases. However, it differs from the Standard Library delete operator in the following ways:
-
keyToDelete
cannot be a dot-delimited string that specifies a nested key. -
delete()
cannot be used to remove elements from an array. -
delete()
cannot be used to remove any properties from the global scope.
সিনট্যাক্স
Object.keys(objectInput)
Object.values(objectInput)
Object.entries(objectInput)
Object.freeze(objectInput)
Object.delete(objectInput, keyToDelete)
পরামিতি
Object.keys
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
objectInput | যেকোনো | The object whose keys to enumerate. If the input is not an object, it will be coerced to an object. |
Object.values
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
objectInput | যেকোনো | The object whose values to enumerate. If the input is not an object, it will be coerced to an object. |
Object.entries
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
objectInput | যেকোনো | The object whose key/value pairs to enumerate. If the input is not an object, it will be coerced to an object. |
অবজেক্ট.ফ্রিজ
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
objectInput | যেকোনো | অবজেক্ট জমাট. If the input is not an object, it will be treated as a frozen object. |
Object.delete
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
objectInput | যেকোনো | The object whose key to delete. |
keyToDelete | স্ট্রিং | The top-level key to delete. |
উদাহরণ
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
Returns an object that contains all of a given URL's component parts, similar to the URL
object.
This API will return undefined
for any malformed URL. For properly formatted URLs, fields not present in the URL string will have a value of an empty string, or in the case of searchParams
, an empty object.
The returned object will have the following fields:
{
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 | স্ট্রিং | The full url that will be parsed. |
Associated permissions
কোনোটিই নয়।
queryPermission
Query the allowed and narrowed permissions. Returns a boolean : true
if a permission is granted, false
otherwise.
সিনট্যাক্স
queryPermission(permission, functionArgs*)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
permission | স্ট্রিং | Name of the permission. |
functionArgs | যেকোনো | Function arguments vary based on the permission being queried. See Function Arguments below. |
ফাংশন আর্গুমেন্ট
sendPixel
, injectScript
, injectHiddenIframe
: The second parameter should be a URL string.
writeGlobals
, readGlobals
: The second parameter should be the key being written or read.
readUrl
: No additional arguments are necessary to query whether the whole URL can be read. To query whether a given component can be read, pass the component name as the second argument:
if (queryPermission('readUrl','port')) {
// read the port
}
To check whether a specific query key is readable, pass the query key as the third parameter:
if (queryPermission('readUrl','query','key')) {
getUrlComponent(...);
}
Associated permissions
কোনোটিই নয়।
readCharacterSet
Returns the value of document.characterSet
.
সিনট্যাক্স
readCharacterSet()
পরামিতি
কোনোটিই নয়।
Associated permissions
readTitle
Returns the value of document.title
.
সিনট্যাক্স
readTitle()
পরামিতি
কোনোটিই নয়।
Associated permissions
require
Imports a built-in function by name. Returns a function or an object that can be called from your program. Returns undefined when the browser does not support the built-in function.
সিনট্যাক্স
require(name)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
name | স্ট্রিং | The name of the function to import. |
উদাহরণ
const getUrl = require('getUrl');
const url = getUrl();
Associated permissions
কোনোটিই নয়।
sendPixel
Makes a GET request to a specified URL endpoint.
সিনট্যাক্স
sendPixel(url, onSuccess, onFailure)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
url | স্ট্রিং | Where to send the pixel. |
onSuccess | ফাংশন | Called when the pixel successfully loads. Note: even if the request successfully sends, browsers may require a valid image response in order to run onSuccess. |
onFailure | ফাংশন | Called when the pixel fails to load. Note: even if the request successfully sends, onFailure may run if the server does not return a valid image response. |
Associated permissions
setCookie
Sets or deletes the cookie with the specified name, value, and options.
সিনট্যাক্স
setCookie(name, value[, options, encode])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
name | স্ট্রিং | কুকির নাম। |
value | স্ট্রিং | কুকির মান। |
options | বস্তু | Specifies the Domain, Path, Expires, Max-Age, Secure, and SameSite attributes . (See Options , below.) |
encode | বুলিয়ান | Controls whether the cookie value is to be encoded with JavaScript's encodeURIComponent() . ডিফল্ট থেকে true । |
- Domain: set by
options['domain']
property, if present. Set this value to'auto'
to try to write the cookie using the broadest possible domain, based on the document location. If that fails, it will try successively narrower subdomains. If all of those fail, it will try to write the cookie without a domain. If no value is set, this will try to write the cookie without a domain specified. Note: when a cookie without a domain specified is written todocument.cookie
, the user agent will default the cookie's domain to the host of the current document location. - Path: set by
options['path']
, if present. When a cookie without a path specified is written todocument.cookie
, the user agent will default the cookie's path to the path of the current document location. - Max-Age: set by
options['max-age']
, if present. - Expires: set by
options['expires']
, if present. If present, this must be a UTC-formatted date string.Date.toUTCString()
can be used to format aDate
for this parameter. - Secure: set by
options['secure']
, if present. - SameSite: set by
options['samesite']
, if present.
Associated permissions
setDefaultConsentState
Pushes a default consent update to the data layer, to be processed as soon as possible after the current event and any tags it triggered are finished processing (or the tag processing timeout is reached). The update is guaranteed to be processed in this container before any queued items in the data layer. Learn more about consent .
উদাহরণ:
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 | বস্তু | An object that defines the default state for the specified consent types. |
The consentSettings
object is a mapping of arbitrary consent type strings to one of 'granted'
or 'denied'
. এটি নিম্নলিখিত মান সমর্থন করে:
Key Name | টাইপ | বর্ণনা |
---|---|---|
consentType | স্ট্রিং | The value for each consent type can be set to `'granted'` or `'denied'`. Any value other than `'granted'` will be treated as `'denied'`. Setting the value to `undefined` won't have any effect on its previous value. |
region | অ্যারে | An optional array of region codes specifying which region the consent settings apply to. Region codes are expressed using country and/or subdivisions in ISO 3166-2 format. |
wait_for_update | সংখ্যা | Specifies a millisecond value to control how long to wait before data is sent. Used with consent tools that load asynchronously. |
Associated permissions
access_consent
permission with write access for all consent types in the consentSettings object.
setInWindow
Sets the given value in window
at the given key. By default this method won't set the value in the window
if there is already a value present. Set overrideExisting
to true
to set the value in the window
regardless of the presence of an existing value. Returns a boolean : true
if the value was set successfully, and false
otherwise.
সিনট্যাক্স
setInWindow(key, value, overrideExisting)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
key | স্ট্রিং | The key in window to place the value at. |
value | * | The value to set in window . |
overrideExisting | বুলিয়ান | The flag indicating that value should be set in window , regardless if there's a value there or not. |
Associated permissions
sha256
Calculates the SHA-256 digest of the input and invokes a callback with the digest encoded in base64, unless the options
object specifies a different output encoding.
উদাহরণ:
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 | স্ট্রিং | The string to calculate the hash for. |
onSuccess | ফাংশন | Called with the resulting digest, encoded in base64, unless the options object specifies a different output encoding. |
onFailure | ফাংশন | Called if an error occurs while calculating the digest, or if the browser does not have native support for sha256. The callback is called with an object containing the name of the error, and the message. |
options | বস্তু | Optional options object to specify the output encoding. If specified, the object should contain the key outputEncoding with value as one of base64 or hex . |
Associated permissions
কোনোটিই নয়।
templateStorage
Returns an object with methods for accessing template storage. Template storage allows data to be shared across executions of a single template. Data stored in template storage persists for the lifetime of the page.
সিনট্যাক্স
const templateStorage = require('templateStorage');
templateStorage.getItem(key);
templateStorage.setItem(key, value);
templateStorage.removeItem(key);
// Deletes all stored values for the template.
templateStorage.clear();
Associated permissions
উদাহরণ
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
The toBase64
API lets you to encode a string into a base64 representation.
সিনট্যাক্স
toBase64(input)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
input | স্ট্রিং | String to encode. |
উদাহরণ
const toBase64 = require('toBase64');
const base64Hello = toBase64('hello');
Associated permissions
কোনোটিই নয়
updateConsentState
Pushes a consent update to the data layer, to be processed as soon as possible after the current event and any tags it triggered are finished processing (or the tag processing timeout is reached). The update is guaranteed to be processed in this container before any queued items in the data layer. Learn more about consent .
উদাহরণ:
const updateConsentState = require('updateConsentState');
updateConsentState({
'ad_storage': 'granted',
'analytics_storage': 'denied',
'third_party_storage': 'granted',
});
সিনট্যাক্স
updateConsentState(consentSettings)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
consentSettings | বস্তু | An object that updates the state for the specified consent types. |
The consentSettings
object is a mapping of arbitrary consent type strings to one of 'granted'
or 'denied'
. এটি নিম্নলিখিত মান সমর্থন করে:
Key Name | টাইপ | বর্ণনা |
---|---|---|
consentType | স্ট্রিং | The value for each consent type can be set to 'granted' or 'denied'. Any value other than 'granted' will be treated as 'denied'. Setting the value to 'undefined' won't have any effect on its previous value. |
Associated permissions
access_consent
permission with write access for all consent types in the consentSettings object.
পরীক্ষা API
These APIs work with sandboxed JavaScript tests to build tests for custom templates in Google Tag Manager. These test APIs do not need a require()
statement. Learn more about custom template tests .
assertApi
Returns a matcher object that can be used to fluently make assertions about the given API.
সিনট্যাক্স
assertApi(apiName)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
apiName | স্ট্রিং | The name of the api to check; same string as passed to 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
The assertThat
API is modeled after Google's [Truth] library. It returns an object that can be used to fluently make assertions about a subject's value. An assertion failure will immediately stop the test and mark it as failed. However, a failure in one test will not affect other test cases.
সিনট্যাক্স
assertThat(actual, opt_message)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
actual | যেকোনো | The value to use in the fluent checks. |
opt_message | স্ট্রিং | Optional message to print if the assertion fails. |
ম্যাচার্স
ম্যাচার | বর্ণনা |
---|---|
isUndefined() | Asserts that the subject is undefined . |
isDefined() | Asserts that the subject is not undefined . |
isNull() | Asserts that the subject is null . |
isNotNull() | Asserts that the subject is not null . |
isFalse() | Asserts that the subject is false . |
isTrue() | Asserts that the subject is true . |
isFalsy() | Asserts that the subject is falsy. Falsy values are undefined , null , false , NaN , 0, and '' (empty string). |
isTruthy() | Asserts that the subject is truthy. Falsy values are undefined , null , false , NaN , 0, and '' (empty string). |
isNaN() | Asserts that the subject is the value NaN. |
isNotNaN() | Asserts that the subject is any value besides NaN. |
isInfinity() | Asserts that the subject is positive or negative Infinity. |
isNotInfinity() | Asserts that the subject is any value besides positive or negative Infinity. |
isEqualTo(expected) | Asserts that the subject is equal to the given value. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
isNotEqualTo(expected) | Asserts that the subject is not equal to the given value. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
isAnyOf(...expected) | Asserts that the subject is equal to one of the given value. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
isNoneOf(...expected) | Asserts that the subject is not equal to any of the given values. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
isStrictlyEqualTo(expected) | Asserts that the subject is strictly equal ( === ) to the given value. |
isNotStrictlyEqualTo(expected) | Asserts that the subject is not strictly equal ( !== ) to the given value. |
isGreaterThan(expected) | Asserts that the subject is greater than ( > ) the given value in an ordered comparison. |
isGreaterThanOrEqualTo(expected) | Asserts that the subject is greater than or equal to ( >= ) the given value in an ordered comparison. |
isLessThan(expected) | Asserts that the subject is less than ( < ) the given value in an ordered comparison. |
isLessThanOrEqualTo(expected) | Asserts that the subject is less than or equal to ( <= ) the given value in an ordered comparison. |
contains(...expected) | Asserts that the subject is an array or string that contains all of the given values in any order. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
doesNotContain(...expected) | Asserts that the subject is an array or string that contains none of the given values. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
containsExactly(...expected) | Asserts that the subject is an array that contains all of the given values in any order and no other values. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
doesNotContainExactly(...expected) | Asserts that the subject is an array that has contains a different set of values from the given values in any order. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
hasLength(expected) | Asserts that the subject is an array or string with the given length. The assertion always fails if the value is not an array or string. |
isEmpty() | Asserts that the subject is an array or string that is empty (length = 0). The assertion always fails if the value is not an array or string. |
isNotEmpty() | Asserts that the subject is an array or string that is not empty (length > 0). The assertion always fails if the value is not an array or string. |
isArray() | Asserts that the type of the subject is an array. |
isBoolean() | Asserts that the type of the subject is a boolean. |
isFunction() | Asserts that the type of the subject is a function. |
isNumber() | Asserts that the type of the subject is a number. |
isObject() | Asserts that the type of the subject is an object. |
isString() | Asserts that the type of the subject is a string. |
উদাহরণ
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
Immediately fails the current test and prints the given message, if supplied.
সিনট্যাক্স
fail(opt_message);
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
opt_message | স্ট্রিং | Optional error message text. |
উদাহরণ
fail('This test has failed.');
mock
The mock
API allows you to override the behavior of Sandboxed APIs. The mock API is safe to use in template code, but it is operational only in test mode. Mocks are reset before each test is run.
সিনট্যাক্স
mock(apiName, returnValue);
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
apiName | স্ট্রিং | The name of the API to mock; same string as passed to require() |
returnValue | যেকোনো | The value to return for the API or a function called in place of the API. If returnValue is a function, that function is called in place of the Sandboxed API; if returnValue is anything other than a function, that value is returned in place of the Sandboxed API. |
উদাহরণ
mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
onSuccess();
});
mockObject
The mockObject
API lets you override the behavior of Sandboxed APIs that return an object. The API is safe to use in template code, but it is operational only in test mode. Mocks are reset before each test is run.
সিনট্যাক্স
mockObject(apiName, objectMock);
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
apiName | স্ট্রিং | The name of the API to mock; same string as passed to require() |
objectMock | বস্তু | The value to return for the API or a function called in place of the API. Must be an object. |
উদাহরণ
const storage = {};
mockObject('localStorage', {
setItem: (key, value) => {storage[key] = value;},
getItem: (key) => storage[key],
});
runCode
Runs the code for the template, ie the content of the Code tab, in the current test environment with a given input data object.
সিনট্যাক্স
runCode(data)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
data | বস্তু | Data object to be used in the test. |
রিটার্ন ভ্যালু
Returns the value of a variable for variable templates; returns undefined
for all other template types.
উদাহরণ
runCode({field1: 123, field2: 'value'});
,
মূল API
These APIs work with sandboxed JavaScript to build custom templates in Google Tag Manager. Each API is added with a require()
statement, eg:
const myAPI = require('myAPI');
addConsentListener
Registers a listener function to execute when the state of the specified consent type changes.
The given listener will be invoked every time the state for the specified consent type changes from denied to granted or from granted to denied. A consent type with no state is considered granted, so the listener won't be called if an unset consent type is updated to granted. Listener functions will be in charge of ensuring their code runs the appropriate number of times.
উদাহরণ:
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 | স্ট্রিং | The consent type to listen for state changes on. |
listener | ফাংশন | The function to run when the state of the specified consent type changes. |
When a listener is invoked, it will be passed the consent type that is being changed and the new value of that consent type:
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
consentType | স্ট্রিং | The consent type that is being changed. |
granted | বুলিয়ান | A boolean which is true if the specified consent type is being changed to granted. |
Associated permissions
access_consent
permission with read access for the consent type.
addEventCallback
The addEventCallback
API allows you to register a callback function that will be invoked at the end of an event. The callback will be invoked when all the tags for the event have executed, or if an in page event timeout is reached. The callback is passed two values, the id of the container that invokes the function and an object that contains information about the event.
সিনট্যাক্স
addEventCallback(callback)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
callback | ফাংশন | The function to invoke at the end of the event. |
The eventData
object contains the following data:
Key Name | টাইপ | বর্ণনা |
---|---|---|
tags | অ্যারে | An array of tag data objects. Every tag that fired during the event will have an entry in this array. The tag data object contains the tag's ID ( id ), its execution status ( status ), and its execution time ( executionTime ). The tag data will also include additional tag metadata that was configured on the tag. |
উদাহরণ
addEventCallback(function(ctid, eventData) {
logToConsole('Tag count for container ' + ctid + ': ' + eventData['tags'].length);
});
Associated permissions
aliasInWindow
The aliasInWindow
API lets you create an alias (eg window.foo = window.bar
), which helps to support certain tags that require aliasing. Assigns the value in the window
object found at the fromPath
to the key in the window
object at the toPath
. Returns true
if successful, false
otherwise.
সিনট্যাক্স
aliasInWindow(toPath, fromPath)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
toPath | স্ট্রিং | A dot-separated path into the window object where a value should be copied to. All components in the path up to the last component must already exist in the window object. |
fromPath | স্ট্রিং | A dot-separated path into window to the value to copy. If the value does not exist, the operation will fail. |
উদাহরণ
aliasInWindow('foo.bar', 'baz.qux')
Associated permissions
access_globals
is required for both toPath
and fromPath
; toPath
requires write access, fromPath
requires read access.
callInWindow
Allows you to call functions from a path off the window
object, in a policy- controlled way. Calls the function at the given path in window
with the given arguments and returns the value. If the return type can't be directly mapped to a type supported in sandboxed JavaScript, undefined
will be returned. The eight types supported in sandboxed JavaScript are null
, undefined
, boolean
, number
, string
, Array
, Object
, and function
. If the given path does not exist, or does not reference a function, undefined
will be returned.
সিনট্যাক্স
callInWindow(pathToFunction, argument [, argument2,... argumentN])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
pathToFunction | স্ট্রিং | A dot-separated path to the function in window to call. |
args | * | Arguments to be passed to the function. |
Associated permissions
access_globals
with execute
permission enabled.
callLater
Schedules a call to a function to occur asynchronously. The function will be called after the current code returns. This is equivalent to setTimeout(<function>, 0)
.
সিনট্যাক্স
callLater(function)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
function | ফাংশন | The function to call. |
copyFromDataLayer
Returns the value currently assigned to the given key in the data layer: The value found at the given key if it's a primitive type, function, or object literal, or undefined
otherwise.
সিনট্যাক্স
copyFromDataLayer(key[, dataLayerVersion])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
key | স্ট্রিং | The key in the format of "abc". |
dataLayerVersion | সংখ্যা | The optional data layer version . The default value is 2. It is strongly discouraged to use the value 1. |
Associated permissions
copyFromWindow
Copies a variable from window
object. If the value in window
can't be directly mapped to a type supported in sandboxed JavaScript, undefined
will be returned. The eight types supported in sandboxed JavaScript are null
, undefined
, boolean
, number
, string
, Array
, Object
, and function
. Returns the fetched (and coerced) value.
সিনট্যাক্স
copyFromWindow(key)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
key | স্ট্রিং | The key in the window to copy the value of. |
Associated permissions
createArgumentsQueue
Creates a queue that is populated with argument objects, in support of tag solutions that require it.
Creates a function in global scope (ie window
), using the fnKey
argument (same semantics as createQueue
). After the function is created, this API then creates an array in window
(if it doesn't already exist) using the arrayKey
argument.
When the function created under fnKey
is called, it pushes its arguments object onto the array created under arrayKey
. The API's return value is the function created under fnKey
.
This function requires the read and write setting for fnKey
and arrayKey
on the access_globals
permission.
উদাহরণ:
const gtag = createArgumentsQueue('gtag', 'dataLayer');
gtag('set', {'currency': 'USD'});
সিনট্যাক্স
createArgumentsQueue(fnKey, arrayKey)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
fnKey | স্ট্রিং | The path in window where the function is set, if it does not already exist. This argument supports standard dot notation. If the key's path does not exist, an exception is thrown. That is, if fnKey is 'one.two' , it will throw an exception. |
arrayKey | স্ট্রিং | The path in window where the array is set, if it does not already exist. This argument supports standard dot notation. If the key's path does not exist, an exception is thrown. That is, if arrayKey is 'one.two' , and there is no global object named 'one' , it will throw an exception. |
Associated permissions
createQueue
Creates an array in window
(if it doesn't already exist) and returns a function that will push values onto that array.
This function requires the read and write setting for arrayKey
on the access_globals
permission.
উদাহরণ:
const dataLayerPush = createQueue('dataLayer');
dataLayerPush({'currency': 'USD'}, {'event': 'myConversion'});
সিনট্যাক্স
createQueue(arrayKey)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
arrayKey | স্ট্রিং | The key in window where the array is set, if it does not already exist. This argument supports standard dot notation. If the key's path does not exist, an exception is thrown. For example, if arrayKey is 'one.two' , and there is no global object named 'one' , it will throw an exception. |
Associated permissions
decodeUri
Decodes any encoded characters in the provided URI. Returns a string that represents the decoded URI. Returns undefined
when provided with invalid input.
উদাহরণ:
const decode = require('decodeUri');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
সিনট্যাক্স
decodeUri(encoded_uri)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
encoded_uri | স্ট্রিং | A URI that has been encoded by encodeUri() or by other means. |
Associated permissions
কোনোটিই নয়।
decodeUriComponent
Decodes any encoded characters in the provided URI component. Returns a string that represents the decoded URI component. Returns undefined
when provided with invalid input.
উদাহরণ:
const decode = require('decodeUriComponent');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
সিনট্যাক্স
decodeUriComponent(encoded_uri_component)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
encoded_uri_component | স্ট্রিং | A URI component that has been encoded by encodeUriComponent() or by other means. |
Associated permissions
কোনোটিই নয়।
encodeUri
Returns an encoded Uniform Resource Identifier (URI) by escaping special characters. Returns a string that represents the provided string encoded as a URI. Returns undefined
when provided with invalid input (a lone surrogate).
উদাহরণ:
sendPixel('https://www.example.com/' + encodeUri(pathInput));
সিনট্যাক্স
encodeUri(uri)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
uri | স্ট্রিং | A complete URI. |
Associated permissions
কোনোটিই নয়।
encodeUriComponent
Returns an encoded Uniform Resource Identifier (URI) by escaping special characters. Returns a string that represents the provided string encoded as a URI. Returns undefined
when provided with invalid input (a lone surrogate).
উদাহরণ:
sendPixel('https://www.example.com/?' + encodeUriComponent(queryInput));
সিনট্যাক্স
encodeUriComponent(str)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
str | স্ট্রিং | A component of a URI. |
Associated permissions
কোনোটিই নয়।
fromBase64
The fromBase64
API lets you to decode strings from their base64 representation. Returns undefined
when provided with invalid input.
সিনট্যাক্স
fromBase64(base64EncodedString)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
base64EncodedString | স্ট্রিং | Base64 encoded string. |
উদাহরণ
const fromBase64 = require('fromBase64');
const greeting = fromBase64('aGVsbG8=');
if (greeting === 'hello') {
// ...
}
Associated permissions
কোনোটিই নয়
generateRandom
Returns a random number (integer) within the given range.
সিনট্যাক্স
generateRandom(min, max)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
min | সংখ্যা | Minimum potential value of the returned integer. |
max | সংখ্যা | Maximum potential value of the returned integer. |
Associated permissions
কোনোটিই নয়।
getContainerVersion
Returns an object containing data about the current container. The returned object has the following fields:
{
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();
Associated permissions
getCookieValues
Returns the values of all cookies with the given name.
সিনট্যাক্স
getCookieValues(name[, decode])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
name | স্ট্রিং | কুকির নাম। |
decode | বুলিয়ান | Controls whether the cookie values are to be decoded with JavaScript's decodeURIComponent() . ডিফল্ট থেকে true । |
Associated permissions
getQueryParameters
Returns the first or all of the parameters for the current URL's queryKey
. Returns the first value from the queryKey
or an Array of values from the queryKey
.
সিনট্যাক্স
getQueryParameters(queryKey[, retrieveAll])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
queryKey | স্ট্রিং | The key to read from the query parameters. |
retrieveAll | বুলিয়ান | Whether to retrieve all the values. |
For example, if the current URL is https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
, then:
-
getQueryParameters('var') == 'foo'
-
getQueryParameters('var', false) == 'foo'
-
getQueryParameters('var', null) == 'foo'
-
getQueryParameters('var', true) == ['foo', 'foo2', 'foo']
Associated permissions
get_url
must allow the query
component, and must specify the queryKey
in the allowed query keys (or allow any query key.)
getReferrerQueryParameters
The getReferrerQueryParameters
API acts the same way as getQueryParameters
, except it acts on the referrer instead of the current URL. Returns the first or all of the parameters for the given referrer's queryKey
. Returns the first value from the queryKey
or an Array of values from the queryKey
.
সিনট্যাক্স
getReferrerQueryParameters(queryKey[, retrieveAll])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
queryKey | স্ট্রিং | The key to read from the query parameters. |
retrieveAll | বুলিয়ান | Whether to retrieve all the values. |
For example, if the referrer URL is https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
, then:
-
getReferrerQueryParameters('var') == 'foo'
-
getReferrerQueryParameters('var', false) == 'foo'
-
getReferrerQueryParameters('var', null) == 'foo'
-
getReferrerQueryParameters('var', true) == ['foo', 'foo2', 'foo']
Associated permissions
get_referrer
must allow the query
component, and must specify the queryKey
in the allowed query keys (or allow any query key.)
getReferrerUrl
Given a component type, the API reads the document object for the referrer and returns a string that represents a portion of the referrer. If no component is specified, full referrer URL is returned.
সিনট্যাক্স
getReferrerUrl([component])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
component | স্ট্রিং | The component to return from the URL. Can be one of the following: protocol , host , port , path , query , extension . If component is undefined , null , or doesn't match one of these components, the entire URL will be returned. |
Associated permissions
get_referrer
must allow the query
component, and must specify the queryKey
in the allowed query keys (or allow any query key.)
getTimestamp
অবচয়। Prefer getTimestampMillis .
Returns a number that represents the current time in milliseconds since Unix epoch, as returned by Date.now()
.
সিনট্যাক্স
getTimestamp();
Associated permissions
কোনোটিই নয়।
getTimestampMillis
Returns a number that represents the current time in milliseconds since Unix epoch, as returned by Date.now()
.
সিনট্যাক্স
getTimestampMillis();
Associated permissions
কোনোটিই নয়।
getType
Returns a string describing the given value's type. Unlike typeof
, getType
differentiates between array
and object
.
সিনট্যাক্স
getType(data.someField)
নোট
The following table lists the strings returned for each input value.
ইনপুট মান | ফলাফল |
---|---|
undefined | 'অসংজ্ঞায়িত' |
null | 'শূন্য' |
true | 'বুলিয়ান' |
12 | 'সংখ্যা' |
'string' | 'স্ট্রিং' |
{ a: 3 } | 'বস্তু' |
[ 1, 3 ] | 'array' |
(x) => x + 1 | 'function' |
Associated permissions
কোনোটিই নয়।
getUrl
Returns a string that represents all or a portion of the current URL, given a component type, and some configuration parameters.
সিনট্যাক্স
getUrl(component)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
component | স্ট্রিং | The component to return from the URL. Must be one of: protocol , host , port , path , query , extension , fragment . If component is undefined , null , or doesn't match one of these components, the entire href value will be returned. |
Associated permissions
gtagSet
Pushes a gtag set command to the data layer, to be processed as soon as possible after the current event and any tags it triggered are finished processing (or the tag processing timeout is reached). The update is guaranteed to be processed in this container before any queued items in the data layer queue.
For example, if called by a tag fired on Consent Initialization , the update will be applied before the Initialization event is processed. Examples would be ads_data_redaction
being set to true
or false
or url_passthrough
being set to true
or false
.
উদাহরণ:
const gtagSet = require('gtagSet');
gtagSet({
'ads_data_redaction': true,
'url_passthrough': true,
});
সিনট্যাক্স
gtagSet(object)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
Object | বস্তু | An object that updates the global state for its containing properties. |
Associated permissions
write_data_layer
checks write permission to dataLayer
for all the specified keys. If input to gtagSet
is a plain object, the API will check for write permission to all the flattened keys inside that object, eg for gtagSet({foo: {bar: 'baz'}})
, the API will check for write permission to foo.bar
.
If the input to gtagSet
is a key and some non-plain object value, the API will check for write permission to that key, eg for gtagSet('abc', true)
, the API will check for write permission to 'abc'
.
Note that if there is a cycle in the input object, only keys before reaching the same object will be checked.
injectHiddenIframe
Adds an invisible iframe to the page.
Callbacks are given as function instances, and are wrapped in JavaScript functions that call through to them.
সিনট্যাক্স
injectHiddenIframe(url, onSuccess)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
url | স্ট্রিং | The URL to be used as the value of the iframe's src attribute. |
onSuccess | ফাংশন | Called when the frame loads successfully. |
Associated permissions
injectScript
Adds a script tag to the page to load the given URL asynchronously. The callbacks are given as function instances, and are wrapped in JavaScript functions that call through to them.
সিনট্যাক্স
injectScript(url, onSuccess, onFailure[, cacheToken])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
url | স্ট্রিং | The address of the script to be injected. |
onSuccess | ফাংশন | Called when the script loads successfully. |
onFailure | ফাংশন | Called when the script fails to load. |
cacheToken | স্ট্রিং | Optional string used to indicate the given URL should be cached. If this value is specified, only one script element will be created to request the JavaScript. Any additional attempts to load will result in the given onSuccess and onFailure methods being queued until the script loads. |
Associated permissions
isConsentGranted
Returns true if the specified consent type is granted.
Consent for a particular consent type is considered to be granted if the consent type has been set to 'granted' or not set at all. If the consent type is set to any other value it will be considered not granted.
The Tag Manager user interface for tag settings will offer an option to always fire. If a tag with always fire turned on uses this API, consent is considered granted and true
will be returned, regardless of the actual state of consent.
উদাহরণ:
const isConsentGranted = require('isConsentGranted');
if (isConsentGranted('ad_storage')) {
sendFullPixel();
} else {
sendPixelWithoutCookies();
}
সিনট্যাক্স
isConsentGranted(consentType)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
consentType | স্ট্রিং | The consent type to check the state of. |
Associated permissions
access_consent
permission with read access for the consent type.
JSON
Returns an object that provides JSON functions.
The parse()
function parses a JSON string to construct the value or object described by the string. If the value cannot be parsed (eg malformed JSON), the function will return undefined
. If the input value is not a string, the input will be coerced to a string.
The stringify()
function converts the input into a JSON string. If the value cannot be parsed (eg the object has a cycle), the method will return undefined
.
সিনট্যাক্স
JSON.parse(stringInput)
JSON.stringify(value);
পরামিতি
JSON.parse
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
stringInput | যেকোনো | The value to convert. If the value is not a string, the input will be coerced to a string. |
JSON.stringify
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
মান | যেকোনো | The value to convert. |
উদাহরণ
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
Returns an object with methods for accessing local storage.
সিনট্যাক্স
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);
Associated permissions
উদাহরণ
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
Logs arguments to the browser console.
সিনট্যাক্স
logToConsole(obj1 [, obj2,... objN])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
obj1 [, obj2,... objN] | যেকোনো | যুক্তি |
Associated permissions
makeInteger
Converts the given value to a number (integer).
সিনট্যাক্স
makeInteger(value)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
value | যেকোনো | The value to convert. |
Associated permissions
কোনোটিই নয়।
makeNumber
Converts the given value to a number .
সিনট্যাক্স
makeNumber(value)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
value | যেকোনো | The value to convert. |
Associated permissions
কোনোটিই নয়।
makeString
Returns the given value as a string .
সিনট্যাক্স
makeString(value)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
value | যেকোনো | The value to convert. |
Associated permissions
কোনোটিই নয়।
makeTableMap
Converts a simple table object with two columns to a Map
. This is used to change a SIMPLE_TABLE
template field with two columns into a more manageable format.
For example, this function could convert a table object:
[
{'key': 'k1', 'value': 'v1'},
{'key': 'k2', 'value': 'v2'}
]
into a Map:
{
'k1': 'v1',
'k2': 'v2'
}
Returns an Object : The converted Map
if key-value pairs have been added to it, or null
otherwise.
সিনট্যাক্স
makeTableMap(tableObj, keyColumnName, valueColumnName)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
tableObj | তালিকা | The table object to convert. It's a list of maps where each Map represents a row in the table. Each property name in a row object is the column name, and the property value is the column value in the row. |
keyColumnName | স্ট্রিং | Name of the column whose values will become keys in the converted Map . |
valueColumnName | স্ট্রিং | Name of the column whose values will become values in the converted Map . |
Associated permissions
কোনোটিই নয়।
Math
An object providing Math
functions.
সিনট্যাক্স
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);
পরামিতি
Math functions parameters are converted to numbers.
Associated permissions
কোনোটিই নয়।
Object
Returns an object that provides Object
methods.
The keys()
method provides the Standard Library Object.keys() behavior. It returns an array of a given object's own enumerable property names in the same order that a for...in...
loop would. If the input value is not an object, it will be coerced to an object.
The values()
method provides the Standard Library Object.values() behavior. It returns an array of a given object's own enumerable property values in the same order that a for...in...
loop would. If the input value is not an object, it will be coerced to an object.
The entries()
method provides the Standard Library Object.entries() behavior. It returns an array of a given object's own enumerable property [key, value]
pairs in the same order that a for...in...
loop would. If the input value is an not an object, it will be coerced to an object.
The freeze()
method provides the Standard Library Object.freeze() behavior. একটি হিমায়িত বস্তু আর পরিবর্তন করা যাবে না; freezing an object prevents new properties from being added to it, existing properties from being removed, and the values of existing properties from being changed. freeze()
returns the same object that was passed in. A primitive or null argument will be treated as if it were a frozen object, and will be returned.
The delete()
method provides the Standard Library delete operator behavior. It removes the given key from the object unless the object is frozen. Like the Standard Library delete operator, it returns true
if the first input value ( objectInput
) is an object that is not frozen even if the second input value ( keyToDelete
) specifies a key that does not exist. It returns false
in all other cases. However, it differs from the Standard Library delete operator in the following ways:
-
keyToDelete
cannot be a dot-delimited string that specifies a nested key. -
delete()
cannot be used to remove elements from an array. -
delete()
cannot be used to remove any properties from the global scope.
সিনট্যাক্স
Object.keys(objectInput)
Object.values(objectInput)
Object.entries(objectInput)
Object.freeze(objectInput)
Object.delete(objectInput, keyToDelete)
পরামিতি
Object.keys
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
objectInput | যেকোনো | The object whose keys to enumerate. If the input is not an object, it will be coerced to an object. |
Object.values
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
objectInput | যেকোনো | The object whose values to enumerate. If the input is not an object, it will be coerced to an object. |
Object.entries
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
objectInput | যেকোনো | The object whose key/value pairs to enumerate. If the input is not an object, it will be coerced to an object. |
অবজেক্ট.ফ্রিজ
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
objectInput | যেকোনো | অবজেক্ট জমাট. If the input is not an object, it will be treated as a frozen object. |
Object.delete
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
objectInput | যেকোনো | The object whose key to delete. |
keyToDelete | স্ট্রিং | The top-level key to delete. |
উদাহরণ
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
Returns an object that contains all of a given URL's component parts, similar to the URL
object.
This API will return undefined
for any malformed URL. For properly formatted URLs, fields not present in the URL string will have a value of an empty string, or in the case of searchParams
, an empty object.
The returned object will have the following fields:
{
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 | স্ট্রিং | The full url that will be parsed. |
Associated permissions
কোনোটিই নয়।
queryPermission
Query the allowed and narrowed permissions. Returns a boolean : true
if a permission is granted, false
otherwise.
সিনট্যাক্স
queryPermission(permission, functionArgs*)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
permission | স্ট্রিং | Name of the permission. |
functionArgs | যেকোনো | Function arguments vary based on the permission being queried. See Function Arguments below. |
ফাংশন আর্গুমেন্ট
sendPixel
, injectScript
, injectHiddenIframe
: The second parameter should be a URL string.
writeGlobals
, readGlobals
: The second parameter should be the key being written or read.
readUrl
: No additional arguments are necessary to query whether the whole URL can be read. To query whether a given component can be read, pass the component name as the second argument:
if (queryPermission('readUrl','port')) {
// read the port
}
To check whether a specific query key is readable, pass the query key as the third parameter:
if (queryPermission('readUrl','query','key')) {
getUrlComponent(...);
}
Associated permissions
কোনোটিই নয়।
readCharacterSet
Returns the value of document.characterSet
.
সিনট্যাক্স
readCharacterSet()
পরামিতি
কোনোটিই নয়।
Associated permissions
readTitle
Returns the value of document.title
.
সিনট্যাক্স
readTitle()
পরামিতি
কোনোটিই নয়।
Associated permissions
require
Imports a built-in function by name. Returns a function or an object that can be called from your program. Returns undefined when the browser does not support the built-in function.
সিনট্যাক্স
require(name)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
name | স্ট্রিং | The name of the function to import. |
উদাহরণ
const getUrl = require('getUrl');
const url = getUrl();
Associated permissions
কোনোটিই নয়।
sendPixel
Makes a GET request to a specified URL endpoint.
সিনট্যাক্স
sendPixel(url, onSuccess, onFailure)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
url | স্ট্রিং | Where to send the pixel. |
onSuccess | ফাংশন | Called when the pixel successfully loads. Note: even if the request successfully sends, browsers may require a valid image response in order to run onSuccess. |
onFailure | ফাংশন | Called when the pixel fails to load. Note: even if the request successfully sends, onFailure may run if the server does not return a valid image response. |
Associated permissions
setCookie
Sets or deletes the cookie with the specified name, value, and options.
সিনট্যাক্স
setCookie(name, value[, options, encode])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
name | স্ট্রিং | কুকির নাম। |
value | স্ট্রিং | কুকির মান। |
options | বস্তু | Specifies the Domain, Path, Expires, Max-Age, Secure, and SameSite attributes . (See Options , below.) |
encode | বুলিয়ান | Controls whether the cookie value is to be encoded with JavaScript's encodeURIComponent() . ডিফল্ট থেকে true । |
- Domain: set by
options['domain']
property, if present. Set this value to'auto'
to try to write the cookie using the broadest possible domain, based on the document location. If that fails, it will try successively narrower subdomains. If all of those fail, it will try to write the cookie without a domain. If no value is set, this will try to write the cookie without a domain specified. Note: when a cookie without a domain specified is written todocument.cookie
, the user agent will default the cookie's domain to the host of the current document location. - Path: set by
options['path']
, if present. When a cookie without a path specified is written todocument.cookie
, the user agent will default the cookie's path to the path of the current document location. - Max-Age: set by
options['max-age']
, if present. - Expires: set by
options['expires']
, if present. If present, this must be a UTC-formatted date string.Date.toUTCString()
can be used to format aDate
for this parameter. - Secure: set by
options['secure']
, if present. - SameSite: set by
options['samesite']
, if present.
Associated permissions
setDefaultConsentState
Pushes a default consent update to the data layer, to be processed as soon as possible after the current event and any tags it triggered are finished processing (or the tag processing timeout is reached). The update is guaranteed to be processed in this container before any queued items in the data layer. Learn more about consent .
উদাহরণ:
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 | বস্তু | An object that defines the default state for the specified consent types. |
The consentSettings
object is a mapping of arbitrary consent type strings to one of 'granted'
or 'denied'
. এটি নিম্নলিখিত মান সমর্থন করে:
Key Name | টাইপ | বর্ণনা |
---|---|---|
consentType | স্ট্রিং | The value for each consent type can be set to `'granted'` or `'denied'`. Any value other than `'granted'` will be treated as `'denied'`. Setting the value to `undefined` won't have any effect on its previous value. |
region | অ্যারে | An optional array of region codes specifying which region the consent settings apply to. Region codes are expressed using country and/or subdivisions in ISO 3166-2 format. |
wait_for_update | সংখ্যা | Specifies a millisecond value to control how long to wait before data is sent. Used with consent tools that load asynchronously. |
Associated permissions
access_consent
permission with write access for all consent types in the consentSettings object.
setInWindow
Sets the given value in window
at the given key. By default this method won't set the value in the window
if there is already a value present. Set overrideExisting
to true
to set the value in the window
regardless of the presence of an existing value. Returns a boolean : true
if the value was set successfully, and false
otherwise.
সিনট্যাক্স
setInWindow(key, value, overrideExisting)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
key | স্ট্রিং | The key in window to place the value at. |
value | * | The value to set in window . |
overrideExisting | বুলিয়ান | The flag indicating that value should be set in window , regardless if there's a value there or not. |
Associated permissions
sha256
Calculates the SHA-256 digest of the input and invokes a callback with the digest encoded in base64, unless the options
object specifies a different output encoding.
উদাহরণ:
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 | স্ট্রিং | The string to calculate the hash for. |
onSuccess | ফাংশন | Called with the resulting digest, encoded in base64, unless the options object specifies a different output encoding. |
onFailure | ফাংশন | Called if an error occurs while calculating the digest, or if the browser does not have native support for sha256. The callback is called with an object containing the name of the error, and the message. |
options | বস্তু | Optional options object to specify the output encoding. If specified, the object should contain the key outputEncoding with value as one of base64 or hex . |
Associated permissions
কোনোটিই নয়।
templateStorage
Returns an object with methods for accessing template storage. Template storage allows data to be shared across executions of a single template. Data stored in template storage persists for the lifetime of the page.
সিনট্যাক্স
const templateStorage = require('templateStorage');
templateStorage.getItem(key);
templateStorage.setItem(key, value);
templateStorage.removeItem(key);
// Deletes all stored values for the template.
templateStorage.clear();
Associated permissions
উদাহরণ
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
The toBase64
API lets you to encode a string into a base64 representation.
সিনট্যাক্স
toBase64(input)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
input | স্ট্রিং | String to encode. |
উদাহরণ
const toBase64 = require('toBase64');
const base64Hello = toBase64('hello');
Associated permissions
কোনোটিই নয়
updateConsentState
Pushes a consent update to the data layer, to be processed as soon as possible after the current event and any tags it triggered are finished processing (or the tag processing timeout is reached). The update is guaranteed to be processed in this container before any queued items in the data layer. Learn more about consent .
উদাহরণ:
const updateConsentState = require('updateConsentState');
updateConsentState({
'ad_storage': 'granted',
'analytics_storage': 'denied',
'third_party_storage': 'granted',
});
সিনট্যাক্স
updateConsentState(consentSettings)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
consentSettings | বস্তু | An object that updates the state for the specified consent types. |
The consentSettings
object is a mapping of arbitrary consent type strings to one of 'granted'
or 'denied'
. এটি নিম্নলিখিত মান সমর্থন করে:
Key Name | টাইপ | বর্ণনা |
---|---|---|
consentType | স্ট্রিং | The value for each consent type can be set to 'granted' or 'denied'. Any value other than 'granted' will be treated as 'denied'. Setting the value to 'undefined' won't have any effect on its previous value. |
Associated permissions
access_consent
permission with write access for all consent types in the consentSettings object.
পরীক্ষা API
These APIs work with sandboxed JavaScript tests to build tests for custom templates in Google Tag Manager. These test APIs do not need a require()
statement. Learn more about custom template tests .
assertApi
Returns a matcher object that can be used to fluently make assertions about the given API.
সিনট্যাক্স
assertApi(apiName)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
apiName | স্ট্রিং | The name of the api to check; same string as passed to 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
The assertThat
API is modeled after Google's [Truth] library. It returns an object that can be used to fluently make assertions about a subject's value. An assertion failure will immediately stop the test and mark it as failed. However, a failure in one test will not affect other test cases.
সিনট্যাক্স
assertThat(actual, opt_message)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
actual | যেকোনো | The value to use in the fluent checks. |
opt_message | স্ট্রিং | Optional message to print if the assertion fails. |
ম্যাচার্স
ম্যাচার | বর্ণনা |
---|---|
isUndefined() | Asserts that the subject is undefined . |
isDefined() | Asserts that the subject is not undefined . |
isNull() | Asserts that the subject is null . |
isNotNull() | Asserts that the subject is not null . |
isFalse() | Asserts that the subject is false . |
isTrue() | Asserts that the subject is true . |
isFalsy() | Asserts that the subject is falsy. Falsy values are undefined , null , false , NaN , 0, and '' (empty string). |
isTruthy() | Asserts that the subject is truthy. Falsy values are undefined , null , false , NaN , 0, and '' (empty string). |
isNaN() | Asserts that the subject is the value NaN. |
isNotNaN() | Asserts that the subject is any value besides NaN. |
isInfinity() | Asserts that the subject is positive or negative Infinity. |
isNotInfinity() | Asserts that the subject is any value besides positive or negative Infinity. |
isEqualTo(expected) | Asserts that the subject is equal to the given value. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
isNotEqualTo(expected) | Asserts that the subject is not equal to the given value. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
isAnyOf(...expected) | Asserts that the subject is equal to one of the given value. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
isNoneOf(...expected) | Asserts that the subject is not equal to any of the given values. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
isStrictlyEqualTo(expected) | Asserts that the subject is strictly equal ( === ) to the given value. |
isNotStrictlyEqualTo(expected) | Asserts that the subject is not strictly equal ( !== ) to the given value. |
isGreaterThan(expected) | Asserts that the subject is greater than ( > ) the given value in an ordered comparison. |
isGreaterThanOrEqualTo(expected) | Asserts that the subject is greater than or equal to ( >= ) the given value in an ordered comparison. |
isLessThan(expected) | Asserts that the subject is less than ( < ) the given value in an ordered comparison. |
isLessThanOrEqualTo(expected) | Asserts that the subject is less than or equal to ( <= ) the given value in an ordered comparison. |
contains(...expected) | Asserts that the subject is an array or string that contains all of the given values in any order. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
doesNotContain(...expected) | Asserts that the subject is an array or string that contains none of the given values. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
containsExactly(...expected) | Asserts that the subject is an array that contains all of the given values in any order and no other values. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
doesNotContainExactly(...expected) | Asserts that the subject is an array that has contains a different set of values from the given values in any order. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
hasLength(expected) | Asserts that the subject is an array or string with the given length. The assertion always fails if the value is not an array or string. |
isEmpty() | Asserts that the subject is an array or string that is empty (length = 0). The assertion always fails if the value is not an array or string. |
isNotEmpty() | Asserts that the subject is an array or string that is not empty (length > 0). The assertion always fails if the value is not an array or string. |
isArray() | Asserts that the type of the subject is an array. |
isBoolean() | Asserts that the type of the subject is a boolean. |
isFunction() | Asserts that the type of the subject is a function. |
isNumber() | Asserts that the type of the subject is a number. |
isObject() | Asserts that the type of the subject is an object. |
isString() | Asserts that the type of the subject is a string. |
উদাহরণ
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
Immediately fails the current test and prints the given message, if supplied.
সিনট্যাক্স
fail(opt_message);
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
opt_message | স্ট্রিং | Optional error message text. |
উদাহরণ
fail('This test has failed.');
mock
The mock
API allows you to override the behavior of Sandboxed APIs. The mock API is safe to use in template code, but it is operational only in test mode. Mocks are reset before each test is run.
সিনট্যাক্স
mock(apiName, returnValue);
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
apiName | স্ট্রিং | The name of the API to mock; same string as passed to require() |
returnValue | যেকোনো | The value to return for the API or a function called in place of the API. If returnValue is a function, that function is called in place of the Sandboxed API; if returnValue is anything other than a function, that value is returned in place of the Sandboxed API. |
উদাহরণ
mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
onSuccess();
});
mockObject
The mockObject
API lets you override the behavior of Sandboxed APIs that return an object. The API is safe to use in template code, but it is operational only in test mode. Mocks are reset before each test is run.
সিনট্যাক্স
mockObject(apiName, objectMock);
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
apiName | স্ট্রিং | The name of the API to mock; same string as passed to require() |
objectMock | বস্তু | The value to return for the API or a function called in place of the API. Must be an object. |
উদাহরণ
const storage = {};
mockObject('localStorage', {
setItem: (key, value) => {storage[key] = value;},
getItem: (key) => storage[key],
});
runCode
Runs the code for the template, ie the content of the Code tab, in the current test environment with a given input data object.
সিনট্যাক্স
runCode(data)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
data | বস্তু | Data object to be used in the test. |
রিটার্ন ভ্যালু
Returns the value of a variable for variable templates; returns undefined
for all other template types.
উদাহরণ
runCode({field1: 123, field2: 'value'});
,
মূল API
These APIs work with sandboxed JavaScript to build custom templates in Google Tag Manager. Each API is added with a require()
statement, eg:
const myAPI = require('myAPI');
addConsentListener
Registers a listener function to execute when the state of the specified consent type changes.
The given listener will be invoked every time the state for the specified consent type changes from denied to granted or from granted to denied. A consent type with no state is considered granted, so the listener won't be called if an unset consent type is updated to granted. Listener functions will be in charge of ensuring their code runs the appropriate number of times.
উদাহরণ:
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 | স্ট্রিং | The consent type to listen for state changes on. |
listener | ফাংশন | The function to run when the state of the specified consent type changes. |
When a listener is invoked, it will be passed the consent type that is being changed and the new value of that consent type:
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
consentType | স্ট্রিং | The consent type that is being changed. |
granted | বুলিয়ান | A boolean which is true if the specified consent type is being changed to granted. |
Associated permissions
access_consent
permission with read access for the consent type.
addEventCallback
The addEventCallback
API allows you to register a callback function that will be invoked at the end of an event. The callback will be invoked when all the tags for the event have executed, or if an in page event timeout is reached. The callback is passed two values, the id of the container that invokes the function and an object that contains information about the event.
সিনট্যাক্স
addEventCallback(callback)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
callback | ফাংশন | The function to invoke at the end of the event. |
The eventData
object contains the following data:
Key Name | টাইপ | বর্ণনা |
---|---|---|
tags | অ্যারে | An array of tag data objects. Every tag that fired during the event will have an entry in this array. The tag data object contains the tag's ID ( id ), its execution status ( status ), and its execution time ( executionTime ). The tag data will also include additional tag metadata that was configured on the tag. |
উদাহরণ
addEventCallback(function(ctid, eventData) {
logToConsole('Tag count for container ' + ctid + ': ' + eventData['tags'].length);
});
Associated permissions
aliasInWindow
The aliasInWindow
API lets you create an alias (eg window.foo = window.bar
), which helps to support certain tags that require aliasing. Assigns the value in the window
object found at the fromPath
to the key in the window
object at the toPath
. Returns true
if successful, false
otherwise.
সিনট্যাক্স
aliasInWindow(toPath, fromPath)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
toPath | স্ট্রিং | A dot-separated path into the window object where a value should be copied to. All components in the path up to the last component must already exist in the window object. |
fromPath | স্ট্রিং | A dot-separated path into window to the value to copy. If the value does not exist, the operation will fail. |
উদাহরণ
aliasInWindow('foo.bar', 'baz.qux')
Associated permissions
access_globals
is required for both toPath
and fromPath
; toPath
requires write access, fromPath
requires read access.
callInWindow
Allows you to call functions from a path off the window
object, in a policy- controlled way. Calls the function at the given path in window
with the given arguments and returns the value. If the return type can't be directly mapped to a type supported in sandboxed JavaScript, undefined
will be returned. The eight types supported in sandboxed JavaScript are null
, undefined
, boolean
, number
, string
, Array
, Object
, and function
. If the given path does not exist, or does not reference a function, undefined
will be returned.
সিনট্যাক্স
callInWindow(pathToFunction, argument [, argument2,... argumentN])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
pathToFunction | স্ট্রিং | A dot-separated path to the function in window to call. |
args | * | Arguments to be passed to the function. |
Associated permissions
access_globals
with execute
permission enabled.
callLater
Schedules a call to a function to occur asynchronously. The function will be called after the current code returns. This is equivalent to setTimeout(<function>, 0)
.
সিনট্যাক্স
callLater(function)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
function | ফাংশন | The function to call. |
copyFromDataLayer
Returns the value currently assigned to the given key in the data layer: The value found at the given key if it's a primitive type, function, or object literal, or undefined
otherwise.
সিনট্যাক্স
copyFromDataLayer(key[, dataLayerVersion])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
key | স্ট্রিং | The key in the format of "abc". |
dataLayerVersion | সংখ্যা | The optional data layer version . The default value is 2. It is strongly discouraged to use the value 1. |
Associated permissions
copyFromWindow
Copies a variable from window
object. If the value in window
can't be directly mapped to a type supported in sandboxed JavaScript, undefined
will be returned. The eight types supported in sandboxed JavaScript are null
, undefined
, boolean
, number
, string
, Array
, Object
, and function
. Returns the fetched (and coerced) value.
সিনট্যাক্স
copyFromWindow(key)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
key | স্ট্রিং | The key in the window to copy the value of. |
Associated permissions
createArgumentsQueue
Creates a queue that is populated with argument objects, in support of tag solutions that require it.
Creates a function in global scope (ie window
), using the fnKey
argument (same semantics as createQueue
). After the function is created, this API then creates an array in window
(if it doesn't already exist) using the arrayKey
argument.
When the function created under fnKey
is called, it pushes its arguments object onto the array created under arrayKey
. The API's return value is the function created under fnKey
.
This function requires the read and write setting for fnKey
and arrayKey
on the access_globals
permission.
উদাহরণ:
const gtag = createArgumentsQueue('gtag', 'dataLayer');
gtag('set', {'currency': 'USD'});
সিনট্যাক্স
createArgumentsQueue(fnKey, arrayKey)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
fnKey | স্ট্রিং | The path in window where the function is set, if it does not already exist. This argument supports standard dot notation. If the key's path does not exist, an exception is thrown. That is, if fnKey is 'one.two' , it will throw an exception. |
arrayKey | স্ট্রিং | The path in window where the array is set, if it does not already exist. This argument supports standard dot notation. If the key's path does not exist, an exception is thrown. That is, if arrayKey is 'one.two' , and there is no global object named 'one' , it will throw an exception. |
Associated permissions
createQueue
Creates an array in window
(if it doesn't already exist) and returns a function that will push values onto that array.
This function requires the read and write setting for arrayKey
on the access_globals
permission.
উদাহরণ:
const dataLayerPush = createQueue('dataLayer');
dataLayerPush({'currency': 'USD'}, {'event': 'myConversion'});
সিনট্যাক্স
createQueue(arrayKey)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
arrayKey | স্ট্রিং | The key in window where the array is set, if it does not already exist. This argument supports standard dot notation. If the key's path does not exist, an exception is thrown. For example, if arrayKey is 'one.two' , and there is no global object named 'one' , it will throw an exception. |
Associated permissions
decodeUri
Decodes any encoded characters in the provided URI. Returns a string that represents the decoded URI. Returns undefined
when provided with invalid input.
উদাহরণ:
const decode = require('decodeUri');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
সিনট্যাক্স
decodeUri(encoded_uri)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
encoded_uri | স্ট্রিং | A URI that has been encoded by encodeUri() or by other means. |
Associated permissions
কোনোটিই নয়।
decodeUriComponent
Decodes any encoded characters in the provided URI component. Returns a string that represents the decoded URI component. Returns undefined
when provided with invalid input.
উদাহরণ:
const decode = require('decodeUriComponent');
const decodedUrl = decode(data.encodedUrl);
if (decodedUrl) {
// ...
}
সিনট্যাক্স
decodeUriComponent(encoded_uri_component)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
encoded_uri_component | স্ট্রিং | A URI component that has been encoded by encodeUriComponent() or by other means. |
Associated permissions
কোনোটিই নয়।
encodeUri
Returns an encoded Uniform Resource Identifier (URI) by escaping special characters. Returns a string that represents the provided string encoded as a URI. Returns undefined
when provided with invalid input (a lone surrogate).
উদাহরণ:
sendPixel('https://www.example.com/' + encodeUri(pathInput));
সিনট্যাক্স
encodeUri(uri)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
uri | স্ট্রিং | A complete URI. |
Associated permissions
কোনোটিই নয়।
encodeUriComponent
Returns an encoded Uniform Resource Identifier (URI) by escaping special characters. Returns a string that represents the provided string encoded as a URI. Returns undefined
when provided with invalid input (a lone surrogate).
উদাহরণ:
sendPixel('https://www.example.com/?' + encodeUriComponent(queryInput));
সিনট্যাক্স
encodeUriComponent(str)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
str | স্ট্রিং | A component of a URI. |
Associated permissions
কোনোটিই নয়।
fromBase64
The fromBase64
API lets you to decode strings from their base64 representation. Returns undefined
when provided with invalid input.
সিনট্যাক্স
fromBase64(base64EncodedString)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
base64EncodedString | স্ট্রিং | Base64 encoded string. |
উদাহরণ
const fromBase64 = require('fromBase64');
const greeting = fromBase64('aGVsbG8=');
if (greeting === 'hello') {
// ...
}
Associated permissions
কোনোটিই নয়
generateRandom
Returns a random number (integer) within the given range.
সিনট্যাক্স
generateRandom(min, max)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
min | সংখ্যা | Minimum potential value of the returned integer. |
max | সংখ্যা | Maximum potential value of the returned integer. |
Associated permissions
কোনোটিই নয়।
getContainerVersion
Returns an object containing data about the current container. The returned object has the following fields:
{
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();
Associated permissions
getCookieValues
Returns the values of all cookies with the given name.
সিনট্যাক্স
getCookieValues(name[, decode])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
name | স্ট্রিং | কুকির নাম। |
decode | বুলিয়ান | Controls whether the cookie values are to be decoded with JavaScript's decodeURIComponent() . ডিফল্ট থেকে true । |
Associated permissions
getQueryParameters
Returns the first or all of the parameters for the current URL's queryKey
. Returns the first value from the queryKey
or an Array of values from the queryKey
.
সিনট্যাক্স
getQueryParameters(queryKey[, retrieveAll])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
queryKey | স্ট্রিং | The key to read from the query parameters. |
retrieveAll | বুলিয়ান | Whether to retrieve all the values. |
For example, if the current URL is https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
, then:
-
getQueryParameters('var') == 'foo'
-
getQueryParameters('var', false) == 'foo'
-
getQueryParameters('var', null) == 'foo'
-
getQueryParameters('var', true) == ['foo', 'foo2', 'foo']
Associated permissions
get_url
must allow the query
component, and must specify the queryKey
in the allowed query keys (or allow any query key.)
getReferrerQueryParameters
The getReferrerQueryParameters
API acts the same way as getQueryParameters
, except it acts on the referrer instead of the current URL. Returns the first or all of the parameters for the given referrer's queryKey
. Returns the first value from the queryKey
or an Array of values from the queryKey
.
সিনট্যাক্স
getReferrerQueryParameters(queryKey[, retrieveAll])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
queryKey | স্ট্রিং | The key to read from the query parameters. |
retrieveAll | বুলিয়ান | Whether to retrieve all the values. |
For example, if the referrer URL is https://example.com/path?var=foo&var1=foo1&var=foo2&var=foo
, then:
-
getReferrerQueryParameters('var') == 'foo'
-
getReferrerQueryParameters('var', false) == 'foo'
-
getReferrerQueryParameters('var', null) == 'foo'
-
getReferrerQueryParameters('var', true) == ['foo', 'foo2', 'foo']
Associated permissions
get_referrer
must allow the query
component, and must specify the queryKey
in the allowed query keys (or allow any query key.)
getReferrerUrl
Given a component type, the API reads the document object for the referrer and returns a string that represents a portion of the referrer. If no component is specified, full referrer URL is returned.
সিনট্যাক্স
getReferrerUrl([component])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
component | স্ট্রিং | The component to return from the URL. Can be one of the following: protocol , host , port , path , query , extension . If component is undefined , null , or doesn't match one of these components, the entire URL will be returned. |
Associated permissions
get_referrer
must allow the query
component, and must specify the queryKey
in the allowed query keys (or allow any query key.)
getTimestamp
অবচয়। Prefer getTimestampMillis .
Returns a number that represents the current time in milliseconds since Unix epoch, as returned by Date.now()
.
সিনট্যাক্স
getTimestamp();
Associated permissions
কোনোটিই নয়।
getTimestampMillis
Returns a number that represents the current time in milliseconds since Unix epoch, as returned by Date.now()
.
সিনট্যাক্স
getTimestampMillis();
Associated permissions
কোনোটিই নয়।
getType
Returns a string describing the given value's type. Unlike typeof
, getType
differentiates between array
and object
.
সিনট্যাক্স
getType(data.someField)
নোট
The following table lists the strings returned for each input value.
ইনপুট মান | ফলাফল |
---|---|
undefined | 'অসংজ্ঞায়িত' |
null | 'শূন্য' |
true | 'বুলিয়ান' |
12 | 'সংখ্যা' |
'string' | 'স্ট্রিং' |
{ a: 3 } | 'বস্তু' |
[ 1, 3 ] | 'array' |
(x) => x + 1 | 'function' |
Associated permissions
কোনোটিই নয়।
getUrl
Returns a string that represents all or a portion of the current URL, given a component type, and some configuration parameters.
সিনট্যাক্স
getUrl(component)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
component | স্ট্রিং | The component to return from the URL. Must be one of: protocol , host , port , path , query , extension , fragment . If component is undefined , null , or doesn't match one of these components, the entire href value will be returned. |
Associated permissions
gtagSet
Pushes a gtag set command to the data layer, to be processed as soon as possible after the current event and any tags it triggered are finished processing (or the tag processing timeout is reached). The update is guaranteed to be processed in this container before any queued items in the data layer queue.
For example, if called by a tag fired on Consent Initialization , the update will be applied before the Initialization event is processed. Examples would be ads_data_redaction
being set to true
or false
or url_passthrough
being set to true
or false
.
উদাহরণ:
const gtagSet = require('gtagSet');
gtagSet({
'ads_data_redaction': true,
'url_passthrough': true,
});
সিনট্যাক্স
gtagSet(object)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
Object | বস্তু | An object that updates the global state for its containing properties. |
Associated permissions
write_data_layer
checks write permission to dataLayer
for all the specified keys. If input to gtagSet
is a plain object, the API will check for write permission to all the flattened keys inside that object, eg for gtagSet({foo: {bar: 'baz'}})
, the API will check for write permission to foo.bar
.
If the input to gtagSet
is a key and some non-plain object value, the API will check for write permission to that key, eg for gtagSet('abc', true)
, the API will check for write permission to 'abc'
.
Note that if there is a cycle in the input object, only keys before reaching the same object will be checked.
injectHiddenIframe
Adds an invisible iframe to the page.
Callbacks are given as function instances, and are wrapped in JavaScript functions that call through to them.
সিনট্যাক্স
injectHiddenIframe(url, onSuccess)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
url | স্ট্রিং | The URL to be used as the value of the iframe's src attribute. |
onSuccess | ফাংশন | Called when the frame loads successfully. |
Associated permissions
injectScript
Adds a script tag to the page to load the given URL asynchronously. The callbacks are given as function instances, and are wrapped in JavaScript functions that call through to them.
সিনট্যাক্স
injectScript(url, onSuccess, onFailure[, cacheToken])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
url | স্ট্রিং | The address of the script to be injected. |
onSuccess | ফাংশন | Called when the script loads successfully. |
onFailure | ফাংশন | Called when the script fails to load. |
cacheToken | স্ট্রিং | Optional string used to indicate the given URL should be cached. If this value is specified, only one script element will be created to request the JavaScript. Any additional attempts to load will result in the given onSuccess and onFailure methods being queued until the script loads. |
Associated permissions
isConsentGranted
Returns true if the specified consent type is granted.
Consent for a particular consent type is considered to be granted if the consent type has been set to 'granted' or not set at all. If the consent type is set to any other value it will be considered not granted.
The Tag Manager user interface for tag settings will offer an option to always fire. If a tag with always fire turned on uses this API, consent is considered granted and true
will be returned, regardless of the actual state of consent.
উদাহরণ:
const isConsentGranted = require('isConsentGranted');
if (isConsentGranted('ad_storage')) {
sendFullPixel();
} else {
sendPixelWithoutCookies();
}
সিনট্যাক্স
isConsentGranted(consentType)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
consentType | স্ট্রিং | The consent type to check the state of. |
Associated permissions
access_consent
permission with read access for the consent type.
JSON
Returns an object that provides JSON functions.
The parse()
function parses a JSON string to construct the value or object described by the string. If the value cannot be parsed (eg malformed JSON), the function will return undefined
. If the input value is not a string, the input will be coerced to a string.
The stringify()
function converts the input into a JSON string. If the value cannot be parsed (eg the object has a cycle), the method will return undefined
.
সিনট্যাক্স
JSON.parse(stringInput)
JSON.stringify(value);
পরামিতি
JSON.parse
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
stringInput | যেকোনো | The value to convert. If the value is not a string, the input will be coerced to a string. |
JSON.stringify
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
মান | যেকোনো | The value to convert. |
উদাহরণ
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
Returns an object with methods for accessing local storage.
সিনট্যাক্স
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);
Associated permissions
উদাহরণ
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
Logs arguments to the browser console.
সিনট্যাক্স
logToConsole(obj1 [, obj2,... objN])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
obj1 [, obj2,... objN] | যেকোনো | যুক্তি |
Associated permissions
makeInteger
Converts the given value to a number (integer).
সিনট্যাক্স
makeInteger(value)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
value | যেকোনো | The value to convert. |
Associated permissions
কোনোটিই নয়।
makeNumber
Converts the given value to a number .
সিনট্যাক্স
makeNumber(value)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
value | যেকোনো | The value to convert. |
Associated permissions
কোনোটিই নয়।
makeString
Returns the given value as a string .
সিনট্যাক্স
makeString(value)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
value | যেকোনো | The value to convert. |
Associated permissions
কোনোটিই নয়।
makeTableMap
Converts a simple table object with two columns to a Map
. This is used to change a SIMPLE_TABLE
template field with two columns into a more manageable format.
For example, this function could convert a table object:
[
{'key': 'k1', 'value': 'v1'},
{'key': 'k2', 'value': 'v2'}
]
into a Map:
{
'k1': 'v1',
'k2': 'v2'
}
Returns an Object : The converted Map
if key-value pairs have been added to it, or null
otherwise.
সিনট্যাক্স
makeTableMap(tableObj, keyColumnName, valueColumnName)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
tableObj | তালিকা | The table object to convert. It's a list of maps where each Map represents a row in the table. Each property name in a row object is the column name, and the property value is the column value in the row. |
keyColumnName | স্ট্রিং | Name of the column whose values will become keys in the converted Map . |
valueColumnName | স্ট্রিং | Name of the column whose values will become values in the converted Map . |
Associated permissions
কোনোটিই নয়।
Math
An object providing Math
functions.
সিনট্যাক্স
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);
পরামিতি
Math functions parameters are converted to numbers.
Associated permissions
কোনোটিই নয়।
Object
Returns an object that provides Object
methods.
The keys()
method provides the Standard Library Object.keys() behavior. It returns an array of a given object's own enumerable property names in the same order that a for...in...
loop would. If the input value is not an object, it will be coerced to an object.
The values()
method provides the Standard Library Object.values() behavior. It returns an array of a given object's own enumerable property values in the same order that a for...in...
loop would. If the input value is not an object, it will be coerced to an object.
The entries()
method provides the Standard Library Object.entries() behavior. It returns an array of a given object's own enumerable property [key, value]
pairs in the same order that a for...in...
loop would. If the input value is an not an object, it will be coerced to an object.
The freeze()
method provides the Standard Library Object.freeze() behavior. একটি হিমায়িত বস্তু আর পরিবর্তন করা যাবে না; freezing an object prevents new properties from being added to it, existing properties from being removed, and the values of existing properties from being changed. freeze()
returns the same object that was passed in. A primitive or null argument will be treated as if it were a frozen object, and will be returned.
The delete()
method provides the Standard Library delete operator behavior. It removes the given key from the object unless the object is frozen. Like the Standard Library delete operator, it returns true
if the first input value ( objectInput
) is an object that is not frozen even if the second input value ( keyToDelete
) specifies a key that does not exist. It returns false
in all other cases. However, it differs from the Standard Library delete operator in the following ways:
-
keyToDelete
cannot be a dot-delimited string that specifies a nested key. -
delete()
cannot be used to remove elements from an array. -
delete()
cannot be used to remove any properties from the global scope.
সিনট্যাক্স
Object.keys(objectInput)
Object.values(objectInput)
Object.entries(objectInput)
Object.freeze(objectInput)
Object.delete(objectInput, keyToDelete)
পরামিতি
Object.keys
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
objectInput | যেকোনো | The object whose keys to enumerate. If the input is not an object, it will be coerced to an object. |
Object.values
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
objectInput | যেকোনো | The object whose values to enumerate. If the input is not an object, it will be coerced to an object. |
Object.entries
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
objectInput | যেকোনো | The object whose key/value pairs to enumerate. If the input is not an object, it will be coerced to an object. |
অবজেক্ট.ফ্রিজ
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
objectInput | যেকোনো | অবজেক্ট জমাট. If the input is not an object, it will be treated as a frozen object. |
Object.delete
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
objectInput | যেকোনো | The object whose key to delete. |
keyToDelete | স্ট্রিং | The top-level key to delete. |
উদাহরণ
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
Returns an object that contains all of a given URL's component parts, similar to the URL
object.
This API will return undefined
for any malformed URL. For properly formatted URLs, fields not present in the URL string will have a value of an empty string, or in the case of searchParams
, an empty object.
The returned object will have the following fields:
{
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 | স্ট্রিং | The full url that will be parsed. |
Associated permissions
কোনোটিই নয়।
queryPermission
Query the allowed and narrowed permissions. Returns a boolean : true
if a permission is granted, false
otherwise.
সিনট্যাক্স
queryPermission(permission, functionArgs*)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
permission | স্ট্রিং | Name of the permission. |
functionArgs | যেকোনো | Function arguments vary based on the permission being queried. See Function Arguments below. |
ফাংশন আর্গুমেন্ট
sendPixel
, injectScript
, injectHiddenIframe
: The second parameter should be a URL string.
writeGlobals
, readGlobals
: The second parameter should be the key being written or read.
readUrl
: No additional arguments are necessary to query whether the whole URL can be read. To query whether a given component can be read, pass the component name as the second argument:
if (queryPermission('readUrl','port')) {
// read the port
}
To check whether a specific query key is readable, pass the query key as the third parameter:
if (queryPermission('readUrl','query','key')) {
getUrlComponent(...);
}
Associated permissions
কোনোটিই নয়।
readCharacterSet
Returns the value of document.characterSet
.
সিনট্যাক্স
readCharacterSet()
পরামিতি
কোনোটিই নয়।
Associated permissions
readTitle
Returns the value of document.title
.
সিনট্যাক্স
readTitle()
পরামিতি
কোনোটিই নয়।
Associated permissions
require
Imports a built-in function by name. Returns a function or an object that can be called from your program. Returns undefined when the browser does not support the built-in function.
সিনট্যাক্স
require(name)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
name | স্ট্রিং | The name of the function to import. |
উদাহরণ
const getUrl = require('getUrl');
const url = getUrl();
Associated permissions
কোনোটিই নয়।
sendPixel
Makes a GET request to a specified URL endpoint.
সিনট্যাক্স
sendPixel(url, onSuccess, onFailure)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
url | স্ট্রিং | Where to send the pixel. |
onSuccess | ফাংশন | Called when the pixel successfully loads. Note: even if the request successfully sends, browsers may require a valid image response in order to run onSuccess. |
onFailure | ফাংশন | Called when the pixel fails to load. Note: even if the request successfully sends, onFailure may run if the server does not return a valid image response. |
Associated permissions
setCookie
Sets or deletes the cookie with the specified name, value, and options.
সিনট্যাক্স
setCookie(name, value[, options, encode])
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
name | স্ট্রিং | কুকির নাম। |
value | স্ট্রিং | কুকির মান। |
options | বস্তু | Specifies the Domain, Path, Expires, Max-Age, Secure, and SameSite attributes . (See Options , below.) |
encode | বুলিয়ান | Controls whether the cookie value is to be encoded with JavaScript's encodeURIComponent() . ডিফল্ট থেকে true । |
- Domain: set by
options['domain']
property, if present. Set this value to'auto'
to try to write the cookie using the broadest possible domain, based on the document location. If that fails, it will try successively narrower subdomains. If all of those fail, it will try to write the cookie without a domain. If no value is set, this will try to write the cookie without a domain specified. Note: when a cookie without a domain specified is written todocument.cookie
, the user agent will default the cookie's domain to the host of the current document location. - Path: set by
options['path']
, if present. When a cookie without a path specified is written todocument.cookie
, the user agent will default the cookie's path to the path of the current document location. - Max-Age: set by
options['max-age']
, if present. - Expires: set by
options['expires']
, if present. If present, this must be a UTC-formatted date string.Date.toUTCString()
can be used to format aDate
for this parameter. - Secure: set by
options['secure']
, if present. - SameSite: set by
options['samesite']
, if present.
Associated permissions
setDefaultConsentState
Pushes a default consent update to the data layer, to be processed as soon as possible after the current event and any tags it triggered are finished processing (or the tag processing timeout is reached). The update is guaranteed to be processed in this container before any queued items in the data layer. Learn more about consent .
উদাহরণ:
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 | বস্তু | An object that defines the default state for the specified consent types. |
The consentSettings
object is a mapping of arbitrary consent type strings to one of 'granted'
or 'denied'
. এটি নিম্নলিখিত মান সমর্থন করে:
Key Name | টাইপ | বর্ণনা |
---|---|---|
consentType | স্ট্রিং | The value for each consent type can be set to `'granted'` or `'denied'`. Any value other than `'granted'` will be treated as `'denied'`. Setting the value to `undefined` won't have any effect on its previous value. |
region | অ্যারে | An optional array of region codes specifying which region the consent settings apply to. Region codes are expressed using country and/or subdivisions in ISO 3166-2 format. |
wait_for_update | সংখ্যা | Specifies a millisecond value to control how long to wait before data is sent. Used with consent tools that load asynchronously. |
Associated permissions
access_consent
permission with write access for all consent types in the consentSettings object.
setInWindow
Sets the given value in window
at the given key. By default this method won't set the value in the window
if there is already a value present. Set overrideExisting
to true
to set the value in the window
regardless of the presence of an existing value. Returns a boolean : true
if the value was set successfully, and false
otherwise.
সিনট্যাক্স
setInWindow(key, value, overrideExisting)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
key | স্ট্রিং | The key in window to place the value at. |
value | * | The value to set in window . |
overrideExisting | বুলিয়ান | The flag indicating that value should be set in window , regardless if there's a value there or not. |
Associated permissions
sha256
Calculates the SHA-256 digest of the input and invokes a callback with the digest encoded in base64, unless the options
object specifies a different output encoding.
উদাহরণ:
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 | স্ট্রিং | The string to calculate the hash for. |
onSuccess | ফাংশন | Called with the resulting digest, encoded in base64, unless the options object specifies a different output encoding. |
onFailure | ফাংশন | Called if an error occurs while calculating the digest, or if the browser does not have native support for sha256. The callback is called with an object containing the name of the error, and the message. |
options | বস্তু | Optional options object to specify the output encoding. If specified, the object should contain the key outputEncoding with value as one of base64 or hex . |
Associated permissions
কোনোটিই নয়।
templateStorage
Returns an object with methods for accessing template storage. Template storage allows data to be shared across executions of a single template. Data stored in template storage persists for the lifetime of the page.
সিনট্যাক্স
const templateStorage = require('templateStorage');
templateStorage.getItem(key);
templateStorage.setItem(key, value);
templateStorage.removeItem(key);
// Deletes all stored values for the template.
templateStorage.clear();
Associated permissions
উদাহরণ
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
The toBase64
API lets you to encode a string into a base64 representation.
সিনট্যাক্স
toBase64(input)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
input | স্ট্রিং | String to encode. |
উদাহরণ
const toBase64 = require('toBase64');
const base64Hello = toBase64('hello');
Associated permissions
কোনোটিই নয়
updateConsentState
Pushes a consent update to the data layer, to be processed as soon as possible after the current event and any tags it triggered are finished processing (or the tag processing timeout is reached). The update is guaranteed to be processed in this container before any queued items in the data layer. Learn more about consent .
উদাহরণ:
const updateConsentState = require('updateConsentState');
updateConsentState({
'ad_storage': 'granted',
'analytics_storage': 'denied',
'third_party_storage': 'granted',
});
সিনট্যাক্স
updateConsentState(consentSettings)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
consentSettings | বস্তু | An object that updates the state for the specified consent types. |
The consentSettings
object is a mapping of arbitrary consent type strings to one of 'granted'
or 'denied'
. এটি নিম্নলিখিত মান সমর্থন করে:
Key Name | টাইপ | বর্ণনা |
---|---|---|
consentType | স্ট্রিং | The value for each consent type can be set to 'granted' or 'denied'. Any value other than 'granted' will be treated as 'denied'. Setting the value to 'undefined' won't have any effect on its previous value. |
Associated permissions
access_consent
permission with write access for all consent types in the consentSettings object.
পরীক্ষা API
These APIs work with sandboxed JavaScript tests to build tests for custom templates in Google Tag Manager. These test APIs do not need a require()
statement. Learn more about custom template tests .
assertApi
Returns a matcher object that can be used to fluently make assertions about the given API.
সিনট্যাক্স
assertApi(apiName)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
apiName | স্ট্রিং | The name of the api to check; same string as passed to 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
The assertThat
API is modeled after Google's [Truth] library. It returns an object that can be used to fluently make assertions about a subject's value. An assertion failure will immediately stop the test and mark it as failed. However, a failure in one test will not affect other test cases.
সিনট্যাক্স
assertThat(actual, opt_message)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
actual | যেকোনো | The value to use in the fluent checks. |
opt_message | স্ট্রিং | Optional message to print if the assertion fails. |
ম্যাচার্স
ম্যাচার | বর্ণনা |
---|---|
isUndefined() | Asserts that the subject is undefined . |
isDefined() | Asserts that the subject is not undefined . |
isNull() | Asserts that the subject is null . |
isNotNull() | Asserts that the subject is not null . |
isFalse() | Asserts that the subject is false . |
isTrue() | Asserts that the subject is true . |
isFalsy() | Asserts that the subject is falsy. Falsy values are undefined , null , false , NaN , 0, and '' (empty string). |
isTruthy() | Asserts that the subject is truthy. Falsy values are undefined , null , false , NaN , 0, and '' (empty string). |
isNaN() | Asserts that the subject is the value NaN. |
isNotNaN() | Asserts that the subject is any value besides NaN. |
isInfinity() | Asserts that the subject is positive or negative Infinity. |
isNotInfinity() | Asserts that the subject is any value besides positive or negative Infinity. |
isEqualTo(expected) | Asserts that the subject is equal to the given value. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
isNotEqualTo(expected) | Asserts that the subject is not equal to the given value. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
isAnyOf(...expected) | Asserts that the subject is equal to one of the given value. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
isNoneOf(...expected) | Asserts that the subject is not equal to any of the given values. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
isStrictlyEqualTo(expected) | Asserts that the subject is strictly equal ( === ) to the given value. |
isNotStrictlyEqualTo(expected) | Asserts that the subject is not strictly equal ( !== ) to the given value. |
isGreaterThan(expected) | Asserts that the subject is greater than ( > ) the given value in an ordered comparison. |
isGreaterThanOrEqualTo(expected) | Asserts that the subject is greater than or equal to ( >= ) the given value in an ordered comparison. |
isLessThan(expected) | Asserts that the subject is less than ( < ) the given value in an ordered comparison. |
isLessThanOrEqualTo(expected) | Asserts that the subject is less than or equal to ( <= ) the given value in an ordered comparison. |
contains(...expected) | Asserts that the subject is an array or string that contains all of the given values in any order. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
doesNotContain(...expected) | Asserts that the subject is an array or string that contains none of the given values. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
containsExactly(...expected) | Asserts that the subject is an array that contains all of the given values in any order and no other values. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
doesNotContainExactly(...expected) | Asserts that the subject is an array that has contains a different set of values from the given values in any order. This is a value comparison, not a reference comparison. The contents of objects and arrays are compared recursively. |
hasLength(expected) | Asserts that the subject is an array or string with the given length. The assertion always fails if the value is not an array or string. |
isEmpty() | Asserts that the subject is an array or string that is empty (length = 0). The assertion always fails if the value is not an array or string. |
isNotEmpty() | Asserts that the subject is an array or string that is not empty (length > 0). The assertion always fails if the value is not an array or string. |
isArray() | Asserts that the type of the subject is an array. |
isBoolean() | Asserts that the type of the subject is a boolean. |
isFunction() | Asserts that the type of the subject is a function. |
isNumber() | Asserts that the type of the subject is a number. |
isObject() | Asserts that the type of the subject is an object. |
isString() | Asserts that the type of the subject is a string. |
উদাহরণ
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
Immediately fails the current test and prints the given message, if supplied.
সিনট্যাক্স
fail(opt_message);
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
opt_message | স্ট্রিং | Optional error message text. |
উদাহরণ
fail('This test has failed.');
mock
The mock
API allows you to override the behavior of Sandboxed APIs. The mock API is safe to use in template code, but it is operational only in test mode. Mocks are reset before each test is run.
সিনট্যাক্স
mock(apiName, returnValue);
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
apiName | স্ট্রিং | The name of the API to mock; same string as passed to require() |
returnValue | যেকোনো | The value to return for the API or a function called in place of the API. If returnValue is a function, that function is called in place of the Sandboxed API; if returnValue is anything other than a function, that value is returned in place of the Sandboxed API. |
উদাহরণ
mock('encodeUri', "https://endpoint.example.com/?account=12345");
mock('sendPixel', function(url, onSuccess, onFailure) {
onSuccess();
});
mockObject
The mockObject
API lets you override the behavior of Sandboxed APIs that return an object. The API is safe to use in template code, but it is operational only in test mode. Mocks are reset before each test is run.
সিনট্যাক্স
mockObject(apiName, objectMock);
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
apiName | স্ট্রিং | The name of the API to mock; same string as passed to require() |
objectMock | বস্তু | The value to return for the API or a function called in place of the API. Must be an object. |
উদাহরণ
const storage = {};
mockObject('localStorage', {
setItem: (key, value) => {storage[key] = value;},
getItem: (key) => storage[key],
});
runCode
Runs the code for the template, ie the content of the Code tab, in the current test environment with a given input data object.
সিনট্যাক্স
runCode(data)
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
data | বস্তু | Data object to be used in the test. |
রিটার্ন ভ্যালু
Returns the value of a variable for variable templates; returns undefined
for all other template types.
উদাহরণ
runCode({field1: 123, field2: 'value'});