বিষয় API প্রয়োগ করুন

এই পৃষ্ঠাটি বিষয়গুলি পর্যবেক্ষণ এবং অ্যাক্সেস করার জন্য বিষয় API কলকারীদের জন্য বাস্তবায়নের বিশদ ব্যাখ্যা করে৷ আপনি আপনার সমাধান বাস্তবায়ন শুরু করার আগে, আপনার ব্রাউজার সঠিকভাবে সেট আপ করা হয়েছে তা নিশ্চিত করুন৷ কলকারীরা কীভাবে ব্যবহারকারীদের বিষয়গুলি পর্যবেক্ষণ করে এবং অ্যাক্সেস করে সে সম্পর্কে আরও জানতে ওভারভিউ বিভাগটি দেখুন।

বিষয় পর্যবেক্ষণ এবং অ্যাক্সেস

ব্যবহারকারীর বিষয়গুলি পর্যবেক্ষণ এবং অ্যাক্সেস করার দুটি উপায় রয়েছে: HTTP শিরোনাম এবং JavaScript API

HTTP হেডার

HTTP শিরোনাম হল ব্যবহারকারীর বিষয়গুলি পর্যবেক্ষণ এবং অ্যাক্সেস করার জন্য একটি প্রস্তাবিত পদ্ধতি। এই পদ্ধতির ব্যবহার জাভাস্ক্রিপ্ট API ব্যবহার করার চেয়ে অনেক বেশি কার্যকরী হতে পারে। HTTP শিরোনাম ব্যবহার করার সময়, অনুরোধের URL নিবন্ধনযোগ্য ডোমেন প্রদান করে যা কলার ডোমেন হিসাবে রেকর্ড করা হয়। এই ডোমেইনটি ব্যবহারকারীর বিষয়গুলি পর্যবেক্ষণ করেছে।

অনুরোধ শুরু করুন

শিরোনাম সহ বিষয়গুলি ব্যবহার করার দুটি উপায় রয়েছে:

  • একটি fetch() অনুরোধে অনুরোধ এবং প্রতিক্রিয়া শিরোনাম অ্যাক্সেস করে যাতে একটি browsingTopics: true বিকল্প।
  • একটি আইফ্রেম উপাদানের জন্য শিরোনাম অ্যাক্সেস করে যা একটি browsingtopics বৈশিষ্ট্য অন্তর্ভুক্ত করে।
একটি আনার সাথে অনুরোধ শুরু করুন৷

ফেচ ব্যবহার করে, API কলার একটি অনুরোধ করে যাতে বিকল্প প্যারামিটারে {browsingTopics: true} অন্তর্ভুক্ত থাকে। আনার অনুরোধের ইউআরএল প্যারামিটারের উৎপত্তি হল পর্যবেক্ষিত বিষয়গুলির উৎস।

   fetch('<topics_caller_eTLD+1>', { browsingTopics: true })
    .then((response) => {
        // Process the response
    });
একটি আইফ্রেম দিয়ে অনুরোধ শুরু করুন

<iframe> উপাদানে browsingtopics বৈশিষ্ট্য যোগ করুন। ব্রাউজারটি আইফ্রেমের অনুরোধে Sec-Browsing-Topics শিরোনাম অন্তর্ভুক্ত করবে, কলকারী হিসাবে iframe এর উত্স সহ।

   <iframe src="https://adtech.example" browsingtopics></iframe>

অনুরোধ শিরোনাম মান ব্যাখ্যা

উভয় পদ্ধতির জন্য (আনয়ন এবং আইফ্রেম) ব্যবহারকারীর জন্য পর্যবেক্ষণ করা বিষয়গুলি Sec-Browsing-Topics অনুরোধ শিরোনাম থেকে সার্ভারে পুনরুদ্ধার করা যেতে পারে। fetch() বা iframe অনুরোধে স্বয়ংক্রিয়ভাবে শিরোনামের মধ্যে বিষয় API ব্যবহারকারীর বিষয় অন্তর্ভুক্ত করবে। যদি এপিআই এক বা একাধিক বিষয় ফেরত দেয়, তাহলে যেখান থেকে বিষয়গুলি পর্যবেক্ষণ করা হয়েছে সেখানে একটি আনার অনুরোধের মধ্যে একটি Sec-Browsing-Topics শিরোনাম অন্তর্ভুক্ত থাকবে:

   (325);v=chrome.1:1:1, ();p=P000000000

যদি API দ্বারা কোন বিষয় ফেরত না আসে, তাহলে শিরোনামটি এইরকম দেখায়:

   ();p=P0000000000000000000000000000000

পুনঃনির্দেশ অনুসরণ করা হবে, এবং পুনঃনির্দেশের অনুরোধে পাঠানো বিষয়গুলি পুনঃনির্দেশ URL-এর জন্য নির্দিষ্ট হবে। Sec-Browsing-Topics শিরোনাম মান প্যাড করা হয়, হেডারের দৈর্ঘ্যের উপর ভিত্তি করে একজন কলারের কাছে স্কোপ করা বিষয়ের সংখ্যা শেখার আক্রমণকারীর ঝুঁকি কমাতে।

সার্ভার-সাইড প্রতিক্রিয়া হ্যান্ডেল

যদি অনুরোধের প্রতিক্রিয়াতে একটি Observe-Browsing-Topics: ?1 শিরোনাম, এটি ইঙ্গিত দেয় যে ব্রাউজারটিকে অনুষঙ্গী অনুরোধের বিষয়গুলিকে পর্যবেক্ষণ হিসাবে চিহ্নিত করা উচিত এবং ব্যবহারকারীর পরবর্তী যুগের বিষয় গণনায় বর্তমান পৃষ্ঠা পরিদর্শন অন্তর্ভুক্ত করা উচিত। আপনার সার্ভার-সাইড কোডের প্রতিক্রিয়াতে Observe-Browsing-Topics: ?1 শিরোনাম অন্তর্ভুক্ত করুন:

   res.setHeader('Observe-Browsing-Topics', '?1');
বিষয় নির্ধারণ এবং পুনরুদ্ধার করার জন্য অনুরোধ এবং প্রতিক্রিয়া শিরোনাম.
iframe এবং fetch() জন্য হেডার।

অংশীদারদের সাথে পর্যবেক্ষণ বিষয় শেয়ার করুন

যেহেতু এসএসপি-এর উপস্থিতি শুধুমাত্র প্রকাশকের পাশে থাকে, তাই ডিএসপিরা তাদের অংশীদার এসএসপিদের সাথে বিজ্ঞাপনদাতার সাইটগুলিতে পর্যবেক্ষণ করা বিষয়গুলি শেয়ার করতে চাইতে পারে। তারা বিজ্ঞাপনদাতার শীর্ষ-স্তরের প্রসঙ্গ থেকে SSP-এর কাছে বিষয় শিরোনাম সহ একটি fetch() অনুরোধ করে তা করতে পারে।

const response = await fetch("partner-ssp.example", {
 browsingTopics: true
});

জাভাস্ক্রিপ্ট দিয়ে বিষয়গুলি পর্যবেক্ষণ করুন এবং অ্যাক্সেস করুন

টপিকস জাভাস্ক্রিপ্ট এপিআই পদ্ধতি document.browsingTopics() ব্রাউজার পরিবেশের মধ্যে ব্যবহারকারীর আগ্রহের বিষয়গুলি পর্যবেক্ষণ এবং পুনরুদ্ধার করার একটি উপায় প্রদান করে: - রেকর্ড পর্যবেক্ষণ: ব্রাউজারকে অবহিত করে যে কলকারী ব্যবহারকারীকে বর্তমান পৃষ্ঠায় দেখেছেন। এই পর্যবেক্ষণ ভবিষ্যতের যুগে কলকারীর জন্য ব্যবহারকারীর বিষয় গণনাতে অবদান রাখে। - অ্যাক্সেসের বিষয়: ব্যবহারকারীর জন্য কলকারী পূর্বে পর্যবেক্ষণ করেছেন এমন বিষয়গুলি পুনরুদ্ধার করে৷ পদ্ধতিটি এলোমেলো ক্রমে তিনটি বিষয় অবজেক্টের একটি অ্যারে প্রদান করে, একটি সাম্প্রতিক যুগের প্রতিটির জন্য।

আমরা আপনাকে টপিকস জাভাস্ক্রিপ্ট এপিআই ডেমো ফোর্ক করার পরামর্শ দিই এবং এটিকে আপনার কোডের জন্য একটি প্রারম্ভিক পয়েন্ট হিসাবে ব্যবহার করুন।

API প্রাপ্যতা

API ব্যবহার করার আগে, নিশ্চিত করুন যে এটি সমর্থিত এবং উপলব্ধ:

 if ('browsingTopics' in document && document.featurePolicy.allowsFeature('browsing-topics')) {
    console.log('document.browsingTopics() is supported on this page');
 } else {
    console.log('document.browsingTopics() is not supported on this page');
 }

একটি আইফ্রেম এম্বেড করুন

একটি ক্রস-অরিজিন আইফ্রেম অবশ্যই কলের জন্য ব্যবহার করা উচিত, কারণ যে প্রসঙ্গ থেকে এপিআই আহ্বান করা হয়েছে তা নিশ্চিত করতে ব্যবহার করা হয় যে ব্রাউজারটি কলারের উপযুক্ত বিষয়গুলি ফিরিয়ে দেয়৷ আপনার HTML এ একটি <iframe> উপাদান অন্তর্ভুক্ত করুন:

<iframe src="https://example.com" browsingtopics></iframe>

আপনি জাভাস্ক্রিপ্ট ব্যবহার করে গতিশীলভাবে একটি আইফ্রেম তৈরি করতে পারেন:

 const iframe = document.createElement('iframe');
 iframe.setAttribute('src', 'https://adtech.example/');
 document.body.appendChild(iframe);

আইফ্রেমের মধ্যে থেকে API কল করুন

 try {
   // Get the array of top topics for this user.
   const topics = await document.browsingTopics();
  
   // Request an ad creative, providing topics information.
   const response = await fetch('https://ads.example/get-creative', {
   method: 'POST',
   headers: {
    'Content-Type': 'application/json',
   },
   body: JSON.stringify(topics)
   })
  
   // Get the JSON from the response.
   const creative = await response.json();
  
   // Display ad.

 } catch (error) {
   // Handle error.
 }

ডিফল্টরূপে, document.browsingTopics() পদ্ধতিটিও ব্রাউজারকে কলারের দ্বারা পর্যবেক্ষণ করা বর্তমান পৃষ্ঠা পরিদর্শন রেকর্ড করার কারণ করে, তাই এটি পরবর্তীতে বিষয় গণনাতে ব্যবহার করা যেতে পারে। পদ্ধতিটি একটি ঐচ্ছিক যুক্তি পাস করা যেতে পারে যাতে পৃষ্ঠা পরিদর্শন রেকর্ড করা থেকে এড়িয়ে যায়: {skipObservation:true}

 // current page won't be included in the calculation of topics:
 const topics = await document.browsingTopics({skipObservation:true});

প্রতিক্রিয়া বুঝুন

সর্বাধিক তিনটি বিষয় ফেরত দেওয়া হয়: গত তিন সপ্তাহের প্রতিটির জন্য একটি বা শূন্য, বিষয়গুলি পর্যবেক্ষণ করা হয়েছে কিনা তার উপর নির্ভর করে৷ শুধুমাত্র বর্তমান ব্যবহারকারীর জন্য কলার দ্বারা পর্যবেক্ষণ করা বিষয়গুলি ফেরত দেওয়া হয়। API কী ফেরত দেয় তার একটি উদাহরণ এখানে দেওয়া হল:

 [{
'configVersion': chrome.2,
 'modelVersion': 4,
 'taxonomyVersion': 4,
 'topic': 309,
 'version': chrome.2:2:4
}]
  • কনফিগারেশন সংস্করণ : ব্রাউজারের বিষয় অ্যালগরিদম কনফিগারেশন সংস্করণ সনাক্তকারী একটি স্ট্রিং।
  • মডেল সংস্করণ : একটি স্ট্রিং যা মেশিন-লার্নিং ক্লাসিফায়ারকে চিহ্নিত করে যা বিষয়গুলি অনুমান করতে ব্যবহৃত হয়।
  • taxonomyVersion : ব্রাউজার দ্বারা ব্যবহৃত বিষয়গুলির সেট সনাক্তকারী একটি স্ট্রিং।
  • বিষয় : শ্রেণীবিন্যাসে বিষয় চিহ্নিতকারী একটি সংখ্যা।
  • সংস্করণ : একটি স্ট্রিং সংযুক্ত কনফিগার configVersion , taxonomyVersion এবং modelVersion । এই নির্দেশিকায় বর্ণিত পরামিতি এবং API-এর বিশদ বিবরণ (যেমন শ্রেণীবিন্যাস আকার, প্রতি সপ্তাহে গণনা করা বিষয়ের সংখ্যা এবং প্রতি কলে ফেরত আসা বিষয়ের সংখ্যা) পরিবর্তন সাপেক্ষে যেহেতু আমরা বাস্তুতন্ত্রের প্রতিক্রিয়া অন্তর্ভুক্ত করি এবং API এ পুনরাবৃত্তি করি।

কোন প্রতিক্রিয়া আশা করতে হবে এবং আরও প্রাসঙ্গিক বিজ্ঞাপনের জন্য অতিরিক্ত সংকেত হিসাবে বিষয়গুলি কীভাবে ব্যবহার করবেন তা জানতে পরীক্ষা করুন এবং লাইভ পৃষ্ঠাটি দেখুন

পরবর্তী পদক্ষেপ

টপিক ভিত্তিক সমাধানগুলি কীভাবে স্থাপন, পরীক্ষা এবং স্কেল করা যায় তা শিখুন।
টপিক এপিআই তথ্য দেখতে, বিষয়গুলি কীভাবে বরাদ্দ করা হয় তা বুঝতে এবং আপনার বাস্তবায়ন ডিবাগ করার জন্য Chrome-এ উপলব্ধ সরঞ্জামগুলি সম্পর্কে জানুন।

এছাড়াও দেখুন

ওয়েবে টপিক এপিআই আরও ভালভাবে বুঝতে আমাদের সংস্থানগুলি দেখুন।