কাজ

এই নির্দেশিকা কার্যগুলি বর্ণনা করে, একটি উন্নত বৈশিষ্ট্য যা analytics.js কীভাবে যাচাই করে, গঠন করে এবং পরিমাপ প্রোটোকল অনুরোধ পাঠায় তা কাস্টমাইজ করতে ব্যবহৃত হয়।

ওভারভিউ

প্রতিবার send কমান্ডটি কল করা হলে, analytics.js ব্যবহারকারীর ব্রাউজার থেকে Google Analytics-এ একটি পরিমাপ প্রোটোকল অনুরোধ যাচাইকরণ, নির্মাণ এবং পাঠাতে কাজের একটি ক্রম নির্বাহ করে। নিম্নলিখিত সারণীতে এই প্রতিটি কাজ বর্ণনা করা হয়েছে, সেগুলি যেভাবে কার্যকর করা হয় সেভাবে:

টাস্কের নাম বর্ণনা
customTask ডিফল্টরূপে এই টাস্ক কিছুই করে না। কাস্টম আচরণ প্রদান করতে এটি ওভাররাইড করুন।
previewTask যদি পৃষ্ঠাটি শুধুমাত্র সাফারির জন্য একটি 'শীর্ষ সাইট' থাম্বনেইল তৈরি করতে রেন্ডার করা হয় তবে অনুরোধটি বাতিল করে।
checkProtocolTask পৃষ্ঠা প্রোটোকল http বা https না হলে অনুরোধটি বাতিল করে।
validationTask প্রয়োজনীয় ক্ষেত্র অনুপস্থিত বা অবৈধ হলে অনুরোধটি বাতিল করে।
checkStorageTask ট্র্যাকারটি কুকিজ ব্যবহার করার জন্য কনফিগার করা থাকলে অনুরোধটি বাতিল করে কিন্তু ব্যবহারকারীর ব্রাউজারে কুকিজ নিষ্ক্রিয় করা থাকে।
historyImportTask যখন একটি সাইট ইউনিভার্সাল অ্যানালিটিক্সে স্থানান্তরিত হয় তখন দর্শকদের ইতিহাস সংরক্ষণ করতে ga.js এবং urchin.js কুকিজ থেকে তথ্য আমদানি করে৷
samplerTask এই ট্র্যাকারের জন্য sampleRate সেটিং এর উপর ভিত্তি করে দর্শকদের নমুনা বের করে।
buildHitTask একটি পরিমাপ প্রোটোকল অনুরোধ স্ট্রিং তৈরি করে এবং এটি hitPayload ক্ষেত্রে সঞ্চয় করে।
sendHitTask hitPayload ফিল্ডে সংরক্ষিত পরিমাপ প্রোটোকল অনুরোধ Google Analytics সার্ভারে প্রেরণ করে।
timingTask এই ট্র্যাকারের জন্য siteSpeedSampleRate সেটিংসের উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে একটি সাইটের গতির সময় হিট তৈরি করে।
displayFeaturesTask একটি অতিরিক্ত হিট পাঠায় যদি প্রদর্শন বৈশিষ্ট্যগুলি সক্ষম থাকে এবং বিজ্ঞাপন বৈশিষ্ট্য কুকি (_gat) দ্বারা নির্ধারিত সময়সীমার মধ্যে পূর্ববর্তী হিট পাঠানো না হয়।

এই কাজগুলির প্রতিটি একটি জাভাস্ক্রিপ্ট ফাংশন হিসাবে প্রয়োগ করা হয় যা ইনপুট হিসাবে একটি একক মডেল প্যারামিটার নেয়। মডেল হল একটি সাধারণ বস্তু যা Analytics.js ফিল্ড রেফারেন্সে সংজ্ঞায়িত যেকোনো ক্ষেত্রে অ্যাক্সেস প্রদান করে।

স্ট্যান্ডার্ড ট্র্যাকার get এবং set পদ্ধতি ব্যবহার করে কাজগুলি অ্যাক্সেস বা প্রতিস্থাপন করা যেতে পারে। এই পদ্ধতিগুলি ব্যবহার করে, আপনি আপনার নিজস্ব কাস্টম ফাংশনগুলির সাথে কাজগুলি প্রতিস্থাপন করতে পারেন, বা বিদ্যমান কার্যের আগে বা পরে কার্যকর করার জন্য আপনার কাস্টম ফাংশনগুলিকে চেইন করে বিদ্যমান কার্যকারিতা বৃদ্ধি করতে পারেন।

বাস্তবায়ন

এই বিভাগটি বর্ণনা করে যে কীভাবে বিদ্যমান কাজগুলিতে নতুন কার্যকারিতা যুক্ত করতে হয়, অন্তর্নির্মিত টাস্ক ফাংশনগুলিকে আপনার নিজস্ব কাস্টম কোড দিয়ে প্রতিস্থাপন করতে হয়, বা একটি টাস্ক ফাংশন সম্পূর্ণরূপে নিষ্ক্রিয় করতে হয়৷

একটি টাস্ক ওভাররাইডিং

একটি টাস্ক ওভাররাইড করতে, আপনি একটি ফাংশন যা ভিন্ন কিছু করে তার মান set করতে পারেন। কাজগুলিকে ওভাররাইড করার একটি সাধারণ কারণ হল আপনার analytics.js বাস্তবায়নের পরীক্ষা করার সময় কার্যকারিতা অসম্পূর্ণ করা

নিম্নলিখিত কোডটি sendHitTask কে একটি ফাংশন দিয়ে প্রতিস্থাপন করে যা কনসোলে হিট পেলোড লগ করে:

ga('create', 'UA-XXXXX-Y', 'auto');
ga('set', 'sendHitTask', function(model) {
  console.log(model.get('hitPayload'));
});

একটি টাস্ক যোগ করা হচ্ছে

নতুন কার্যকারিতা সন্নিবেশ করার জন্য আপনি বিদ্যমান টাস্কের আগে বা পরে চালানোর জন্য আপনার কাস্টম টাস্ক ফাংশনকে চেইন করতে পারেন। নীচের উদাহরণে, sendHitTask একটি কাস্টম টাস্ক ফাংশন দিয়ে প্রতিস্থাপিত হয়েছে যা প্রথমে google-analytics.com/collection-এ সাধারণ অনুরোধ বীকন পাঠাতে আসল sendHitTask ফাংশনকে কল করে, তারপর পরিমাপ প্রোটোকল অনুরোধের একটি অনুলিপি পাঠাতে কাস্টম কোড কার্যকর করে একটি স্থানীয় সার্ভার।

ga('create', 'UA-XXXXX-Y', 'auto');

ga(function(tracker) {

  // Grab a reference to the default sendHitTask function.
  var originalSendHitTask = tracker.get('sendHitTask');

  // Modifies sendHitTask to send a copy of the request to a local server after
  // sending the normal request to www.google-analytics.com/collect.
  tracker.set('sendHitTask', function(model) {
    originalSendHitTask(model);
    var xhr = new XMLHttpRequest();
    xhr.open('POST', '/localhits', true);
    xhr.send(model.get('hitPayload'));
  });
});

ga('send', 'pageview');

টাস্ক প্রসেসিং বাতিল করা হচ্ছে

একটি টাস্ক একটি ব্যতিক্রম নিক্ষেপ করে পরবর্তী কাজের প্রক্রিয়াকরণ বাতিল করতে পারে। যদি ব্যতিক্রম ছুঁড়ে দেওয়া টাস্কটি sendHitTask এর আগে সঞ্চালিত হয়, তাহলে এটি পরিমাপ প্রোটোকল অনুরোধটিকে Google Analytics সার্ভারে পাঠানো থেকে বাধা দেওয়ার প্রভাব ফেলে। নীচের উদাহরণে, যখনই ব্যবহারকারীর ব্রাউজারে 'সত্য' মান সহ 'টেস্টিং' নামের একটি কুকি থাকে তখনই আমরা অনুরোধটি বাতিল করি।

ga('create', 'UA-XXXXX-Y', 'auto');

ga(function(tracker) {
  var originalBuildHitTask = tracker.get('buildHitTask');
  tracker.set('buildHitTask', function(model) {
    if (document.cookie.match(/testing=true/)) {
      throw 'Aborted tracking for test user.';
    }
    originalBuildHitTask(model);
  });
});

ga('send', 'pageview');

একটি টাস্ক অক্ষম করা হচ্ছে

বিল্ট-ইন টাস্ক ফাংশন অক্ষম করতে, এটি নাল দিয়ে প্রতিস্থাপন করুন।

ga('create', 'UA-XXXXX-Y', 'auto');
ga('set', 'checkProtocolTask', null); // Disables file protocol checking.
ga('send', 'pageview');