বিষয় API বিকাশকারীর নির্দেশিকা৷

কোড নমুনা সহ ব্যবহারকারীর আগ্রহের বিষয় পর্যবেক্ষণ এবং অ্যাক্সেস করতে বিষয় API কীভাবে প্রয়োগ করবেন তা শিখুন।

বাস্তবায়নের অবস্থা

ডেমো চেষ্টা করুন

দুটি বিষয় API ডেমো রয়েছে যা আপনাকে একক ব্যবহারকারী হিসাবে বিষয়গুলি পরীক্ষা করতে সক্ষম করে।

টপিক ক্লাসিফায়ার মডেল ব্যবহার করে দেখতে আপনি টপিক কোল্যাব চালাতে পারেন।

বিষয়গুলি অ্যাক্সেস করতে JavaScript API ব্যবহার করুন এবং সেগুলি পর্যবেক্ষণ করা হিসাবে রেকর্ড করুন৷

টপিকস জাভাস্ক্রিপ্ট API এর একটি পদ্ধতি রয়েছে: document.browsingTopics() । এর দুটি উদ্দেশ্য রয়েছে:

  • ব্রাউজারকে বলুন বর্তমান পৃষ্ঠা পরিদর্শনটি কলারের জন্য পর্যবেক্ষণ করা হয়েছে বলে রেকর্ড করতে, যাতে এটি পরে ব্যবহারকারীর জন্য (কলারের জন্য) বিষয় গণনা করতে ব্যবহার করা যেতে পারে।
  • কলার দ্বারা পর্যবেক্ষণ করা ব্যবহারকারীর জন্য বিষয়গুলি অ্যাক্সেস করুন৷

পদ্ধতিটি একটি প্রতিশ্রুতি প্রদান করে যা এলোমেলো ক্রমে তিনটি সর্বাধিক সাম্প্রতিক যুগের প্রতিটির জন্য একটি করে তিনটি বিষয়ের একটি অ্যারের সমাধান করে৷ একটি যুগ হল একটি সময়কাল যা Chrome এর বাস্তবায়নে এক সপ্তাহে সেট করা হয়েছে৷

document.browsingTopics() দ্বারা প্রত্যাবর্তিত অ্যারের প্রতিটি বিষয় বস্তুর এই বৈশিষ্ট্যগুলি রয়েছে:

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

এই নির্দেশিকায় বর্ণিত পরামিতি এবং API-এর বিশদ বিবরণ (যেমন শ্রেণীবিন্যাস আকার, প্রতি সপ্তাহে গণনা করা বিষয়ের সংখ্যা এবং প্রতি কলে ফেরত আসা বিষয়ের সংখ্যা) পরিবর্তন সাপেক্ষে যেহেতু আমরা বাস্তুতন্ত্রের প্রতিক্রিয়া অন্তর্ভুক্ত করি এবং API এ পুনরাবৃত্তি করি।

document.browsingTopics-এর জন্য সমর্থন সনাক্ত করুন

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

'browsingTopics' in document && document.featurePolicy.allowsFeature('browsing-topics') ?
 console.log('document.browsingTopics() is supported on this page') :
 console.log('document.browsingTopics() is not supported on this page');

JavaScript API দিয়ে বিষয়গুলি অ্যাক্সেস করুন৷

বর্তমান ব্যবহারকারীর জন্য বিষয়গুলি অ্যাক্সেস করতে সম্ভাব্য 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() বর্তমান ব্যবহারকারীর জন্য কলার দ্বারা পর্যবেক্ষণ করা বিষয় ফেরত দেয়। ডিফল্টরূপে, পদ্ধতিটি ব্রাউজারকে বর্তমান পৃষ্ঠার ভিজিট রেকর্ড করার কারণ হিসেবে কলারের দ্বারা পর্যবেক্ষণ করা হয়, তাই এটি পরবর্তীতে বিষয় গণনায় ব্যবহার করা যেতে পারে। Chrome 108 থেকে, পদ্ধতিটি একটি ঐচ্ছিক যুক্তি পাস করা যেতে পারে যাতে পৃষ্ঠা পরিদর্শনটি রেকর্ড করা থেকে এড়িয়ে যায়: {skipObservation:true}

অন্য কথায়, {skipObservation:true} মানে মেথড কলের কারণে বর্তমান পৃষ্ঠাকে বিষয়ের গণনায় অন্তর্ভুক্ত করা হবে না।

বিষয়গুলি অ্যাক্সেস করতে হেডার ব্যবহার করুন এবং সেগুলিকে পর্যবেক্ষণ করা হিসাবে চিহ্নিত করুন৷

আপনি বিষয়গুলি অ্যাক্সেস করতে পারেন, এবং অনুরোধ এবং প্রতিক্রিয়া শিরোনামের সাহায্যে পৃষ্ঠা পরিদর্শনগুলি পর্যবেক্ষণ হিসাবে চিহ্নিত করতে পারেন৷

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

একটি fetch() বা XHR অনুরোধের Sec-Browsing-Topics শিরোনাম থেকে বিষয়গুলি অ্যাক্সেস করা যেতে পারে।

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

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

  • fetch() : একটি fetch() অনুরোধের বিকল্প প্যারামিটারে {browsingTopics: true} যোগ করুন। টপিক হেডার ডেমো এর একটি সরলীকৃত উদাহরণ দেখায়।
  • iframe অ্যাট্রিবিউট : একটি <iframe> উপাদানে browsingtopics অ্যাট্রিবিউট যোগ করুন, অথবা সমতুল্য জাভাস্ক্রিপ্ট বৈশিষ্ট্য iframe.browsingTopics = true সেট করুন। iframe উত্সের নিবন্ধীকরণযোগ্য ডোমেন হল কলার ডোমেন: উদাহরণস্বরূপ, <iframe src="https://example.com" browsingtopics></iframe> এর জন্য : কলার হল example.com

হেডার সম্পর্কে কিছু অতিরিক্ত নোট:

  • পুনঃনির্দেশ অনুসরণ করা হবে, এবং পুনঃনির্দেশের অনুরোধে পাঠানো বিষয়গুলি পুনঃনির্দেশ URL-এর জন্য নির্দিষ্ট হবে।
  • অনুরূপ প্রতিক্রিয়া শিরোনাম না থাকলে অনুরোধের শিরোনামটি কলারের জন্য অবস্থা পরিবর্তন করবে না। অর্থাৎ, প্রতিক্রিয়া শিরোনাম ছাড়া, পৃষ্ঠা পরিদর্শনটি পর্যবেক্ষণ হিসাবে রেকর্ড করা হবে না, তাই এটি পরবর্তী যুগের জন্য ব্যবহারকারীর বিষয় গণনাকে প্রভাবিত করবে না।
  • প্রতিক্রিয়া শিরোনাম শুধুমাত্র সম্মানিত হয় যদি সংশ্লিষ্ট অনুরোধ বিষয় শিরোনাম অন্তর্ভুক্ত.
  • অনুরোধের URL নিবন্ধনযোগ্য ডোমেন সরবরাহ করে যা কলকারী ডোমেন হিসাবে রেকর্ড করা হয়।

আপনার সাইট অপ্ট আউট করুন

আপনি Permissions-Policy: browsing-topics=() অনুমতি-নীতি শিরোনাম একটি পৃষ্ঠায় শুধুমাত্র সেই পৃষ্ঠার সমস্ত ব্যবহারকারীদের জন্য বিষয় গণনা প্রতিরোধ করতে৷ আপনার সাইটের অন্যান্য পৃষ্ঠাগুলিতে পরবর্তী পরিদর্শন প্রভাবিত হবে না: আপনি যদি একটি পৃষ্ঠায় বিষয় API ব্লক করার জন্য একটি নীতি সেট করেন, তাহলে এটি অন্য পৃষ্ঠাগুলিকে প্রভাবিত করবে না।

এছাড়াও আপনি বিষয় API-এ তৃতীয় পক্ষের অ্যাক্সেস নিয়ন্ত্রণ করতে Permissions-Policy শিরোনাম ব্যবহার করে আপনার পৃষ্ঠায় কোন তৃতীয় পক্ষের বিষয়গুলিতে অ্যাক্সেস আছে তা নিয়ন্ত্রণ করতে পারেন। হেডারের পরামিতি হিসাবে, self এবং যেকোনো ডোমেন ব্যবহার করুন যা আপনি API-তে অ্যাক্সেসের অনুমতি দিতে চান। উদাহরণস্বরূপ, আপনার নিজস্ব উত্স এবং https://example.com ব্যতীত সমস্ত ব্রাউজিং প্রসঙ্গে টপিক API-এর ব্যবহার সম্পূর্ণরূপে অক্ষম করতে, নিম্নলিখিত HTTP প্রতিক্রিয়া শিরোনামটি সেট করুন:

Permissions-Policy: browsing-topics=(self "https://example.com")

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

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

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