FLEDGE API বিকাশকারী গাইড

এই নিবন্ধটি কার জন্য?

এই পোস্টটি পরীক্ষামূলক সুরক্ষিত শ্রোতা API এর বর্তমান পুনরাবৃত্তির একটি প্রযুক্তিগত রেফারেন্স।

সুরক্ষিত শ্রোতা কি?

Protected Audience API হল একটি গোপনীয়তা স্যান্ডবক্স প্রস্তাবনা যা পুনঃবিপণন এবং কাস্টম শ্রোতাদের ব্যবহারের ক্ষেত্রে পরিবেশন করার জন্য, ডিজাইন করা হয়েছে যাতে এটি সাইট জুড়ে ব্যবহারকারীর ব্রাউজিং আচরণ ট্র্যাক করতে তৃতীয় পক্ষ ব্যবহার করতে না পারে৷ এপিআই ব্রাউজার দ্বারা ডিভাইসে নিলামে সক্ষম করে, ব্যবহারকারী পূর্বে পরিদর্শন করা ওয়েবসাইটগুলির জন্য প্রাসঙ্গিক বিজ্ঞাপন বেছে নিতে।

Protected Audience হল প্রথম পরীক্ষা যা Chromium-এ TURTLEDOVE প্রস্তাবনার পরিবারের মধ্যে প্রয়োগ করা হয়েছে৷

নীচের চিত্রটি FLEDGE জীবনচক্রের একটি ওভারভিউ প্রদান করে:

FLEDGE জীবনচক্রের প্রতিটি পর্যায়ের একটি সংক্ষিপ্ত বিবরণ প্রদান করে দৃষ্টান্ত
FLEDGE জীবনচক্র।

আমি কিভাবে সুরক্ষিত শ্রোতা চেষ্টা করতে পারি?

সুরক্ষিত শ্রোতা ডেমো

বিজ্ঞাপনদাতা এবং প্রকাশক সাইট জুড়ে একটি মৌলিক সুরক্ষিত শ্রোতা স্থাপনের একটি ওয়াকথ্রু protected-audience-demo.web.app এ উপলব্ধ৷

ডেমো ভিডিও ব্যাখ্যা করে যে ডেমো কোড কীভাবে কাজ করে এবং কীভাবে সুরক্ষিত দর্শক ডিবাগিংয়ের জন্য Chrome DevTools ব্যবহার করতে হয় তা দেখায়।

একটি সুরক্ষিত অডিয়েন্স অরিজিন ট্রায়ালে অংশ নিন

একটি গোপনীয়তা স্যান্ডবক্স প্রাসঙ্গিকতা এবং পরিমাপ মূল ট্রায়াল ক্রোম বিটা 101.0.4951.26 এবং তার উপরে ডেস্কটপে সুরক্ষিত দর্শক, বিষয় এবং অ্যাট্রিবিউশন রিপোর্টিং API-এর জন্য উপলব্ধ করা হয়েছে৷

অংশ নিতে, একটি অরিজিন ট্রায়াল টোকেনের জন্য নিবন্ধন করুন

একবার আপনি সফলভাবে ট্রায়ালে নথিভুক্ত হয়ে গেলে, আপনি একটি বৈধ ট্রায়াল টোকেন প্রদান করে এমন পৃষ্ঠাগুলিতে সুরক্ষিত শ্রোতা জাভাস্ক্রিপ্ট API ব্যবহার করে দেখতে পারেন: উদাহরণস্বরূপ, ব্রাউজারকে এক বা একাধিক আগ্রহের গোষ্ঠীতে যোগ দিতে বলা এবং তারপরে একটি বিজ্ঞাপন নিলাম চালানোর জন্য একটি বিজ্ঞাপন নির্বাচন করুন এবং প্রদর্শন করুন।

প্রোটেক্টেড অডিয়েন্স ডেমো এন্ড-টু-এন্ড প্রোটেক্টেড অডিয়েন্স ডিপ্লয়মেন্টের একটি মৌলিক উদাহরণ প্রদান করে।

প্রতিটি পৃষ্ঠার জন্য একটি ট্রায়াল টোকেন প্রদান করুন যেখানে আপনি সুরক্ষিত দর্শক API কোড চালাতে চান:

  • <head> এ একটি মেটা ট্যাগ হিসাবে:

    <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">

  • একটি HTTP শিরোনাম হিসাবে:

    Origin-Trial: TOKEN_GOES_HERE

  • প্রোগ্রামগতভাবে একটি টোকেন প্রদান করে:

    const otMeta = document.createElement('meta');
    otMeta.httpEquiv = 'origin-trial';
    otMeta.content = 'TOKEN_GOES_HERE';
    document.head.append(otMeta);
    

একটি আইফ্রেম চলমান সুরক্ষিত শ্রোতা কোড—যেমন একটি navigator.joinAdInterestGroup() কোনো স্বার্থ গোষ্ঠীর মালিকের কল—কে একটি টোকেন প্রদান করতে হবে যা এর মূলের সাথে মেলে।

প্রস্তাবিত প্রথম সুরক্ষিত অডিয়েন্স অরিজিন ট্রায়ালের বিবরণ প্রথম ট্রায়ালের লক্ষ্য সম্পর্কে আরও বিশদ প্রদান করে এবং ব্যাখ্যা করে যে কোন বৈশিষ্ট্যগুলি সমর্থিত।

chrome://flags বা বৈশিষ্ট্য পতাকা দিয়ে পরীক্ষা করুন

আপনি ডেস্কটপে Chrome বিটা 101.0.4951.26 এবং তার উপরে একটি একক ব্যবহারকারীর জন্য সুরক্ষিত দর্শকদের পরীক্ষা করতে পারেন: * chrome://flags/#privacy-sandbox-ads-apis সক্ষম করে। * কমান্ড লাইন থেকে পতাকা সেট করে।

আইফ্রেম বা বেড়াযুক্ত ফ্রেমে বিজ্ঞাপন রেন্ডার করুন

কোন পতাকা সেট করা হয়েছে তার উপর নির্ভর করে বিজ্ঞাপনগুলি একটি <iframe> বা একটি <fencedframe> এ রেন্ডার করা যেতে পারে।

বিজ্ঞাপন রেন্ডার করতে <fencedframe> ব্যবহার করতে:

--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,FencedFrames

বিজ্ঞাপন রেন্ডার করতে <iframe> ব্যবহার করতে:

--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,AllowURNsInIframes --disable-features=FencedFrames

অস্থায়ী ডিবাগ ক্ষতি/জয় রিপোর্টিং পদ্ধতিগুলি সক্ষম করতে BiddingAndScoringDebugReportingAPI পতাকা অন্তর্ভুক্ত করুন৷

ফ্ল্যাগ সহ Chromium চালান কমান্ড লাইন থেকে Chrome এবং অন্যান্য Chromium-ভিত্তিক ব্রাউজার চালানোর সময় পতাকা কিভাবে সেট করতে হয় তা ব্যাখ্যা করে। সুরক্ষিত শ্রোতা পতাকার সম্পূর্ণ তালিকা Chromium কোড অনুসন্ধান থেকে উপলব্ধ।

Chrome এর সর্বশেষ সংস্করণে কোন বৈশিষ্ট্যগুলি সমর্থিত?

সুরক্ষিত শ্রোতা প্রস্তাবের নিম্নলিখিত বৈশিষ্ট্যগুলি পরীক্ষা করার জন্য প্রথম পরীক্ষা হিসাবে Chromium-এ বৈশিষ্ট্য পতাকার পিছনে সুরক্ষিত দর্শক উপলব্ধ করা হচ্ছে:

  • আগ্রহের গোষ্ঠী : বিজ্ঞাপন বিডিং এবং রেন্ডারিং কনফিগার করতে সংশ্লিষ্ট মেটাডেটা সহ ব্রাউজার দ্বারা সংরক্ষিত।
  • ক্রেতাদের দ্বারা অন-ডিভাইস বিডিং (ডিএসপি বা বিজ্ঞাপনদাতা) : সঞ্চিত আগ্রহের গোষ্ঠী এবং বিক্রেতার সংকেতের উপর ভিত্তি করে।
  • বিক্রেতার (এসএসপি বা প্রকাশক) দ্বারা ডিভাইসে বিজ্ঞাপন নির্বাচন : নিলাম বিড এবং ক্রেতাদের থেকে মেটাডেটার উপর ভিত্তি করে।
  • ফেন্সড ফ্রেমের একটি অস্থায়ীভাবে শিথিল সংস্করণে বিজ্ঞাপন রেন্ডারিং : নেটওয়ার্ক অ্যাক্সেস এবং বিজ্ঞাপন রেন্ডারিংয়ের জন্য অনুমোদিত লগিং সহ।

API ব্যাখ্যাকারী বৈশিষ্ট্য সমর্থন এবং সীমাবদ্ধতা সম্পর্কে আরও বিশদ প্রদান করে

সুদ গ্রুপ অনুমতি

Protected Audience-এর বর্তমান বাস্তবায়নে ডিফল্ট হল joinAdInterestGroup() পৃষ্ঠার যেকোনো স্থান থেকে এমনকি ক্রস-ডোমেন আইফ্রেম থেকে কল করার অনুমতি দেওয়া। ভবিষ্যতে, একবার সাইটের মালিকরা তাদের ক্রস-ডোমেন আইফ্রেম অনুমতি নীতিগুলি সামঞ্জস্য করার সময় পেয়ে গেলে, ব্যাখ্যাকারীর বর্ণনা অনুসারে ক্রস-ডোমেন আইফ্রেম থেকে কলগুলিকে অস্বীকৃতি জানানোর পরিকল্পনা।

কী/মূল্য পরিষেবা

একটি সুরক্ষিত শ্রোতা বিজ্ঞাপন নিলামের অংশ হিসাবে, ব্রাউজার একটি কী/মান পরিষেবা অ্যাক্সেস করতে পারে যা বিজ্ঞাপন ক্রেতাকে তথ্য প্রদানের জন্য সাধারণ কী-মান জোড়া ফেরত দেয়, যেমন অবশিষ্ট প্রচারাভিযানের বাজেট। সুরক্ষিত শ্রোতাদের প্রস্তাবটি আদেশ দেয় যে এই সার্ভারটি "কোন ইভেন্ট-লেভেল লগিং সম্পাদন করে না এবং এই অনুরোধগুলির উপর ভিত্তি করে অন্য কোন পার্শ্ব প্রতিক্রিয়া নেই"।

সুরক্ষিত শ্রোতা কী/মান পরিষেবা কোড এখন একটি গোপনীয়তা স্যান্ডবক্স গিটহাব সংগ্রহস্থলে উপলব্ধ। এই পরিষেবাটি Chrome এবং Android ডেভেলপাররা ব্যবহার করতে পারে৷ স্ট্যাটাস আপডেটের জন্য ঘোষণার ব্লগ পোস্টটি দেখুন। API ব্যাখ্যাকারী এবং বিশ্বাস মডেল ব্যাখ্যাকারী থেকে সুরক্ষিত দর্শক কী/মান পরিষেবা সম্পর্কে আরও জানুন।

প্রাথমিক পরীক্ষার জন্য, "আপনার নিজের সার্ভার আনুন" মডেল ব্যবহার করা হয়। দীর্ঘমেয়াদে, অ্যাডটেকগুলিকে রিয়েল-টাইম ডেটা পুনরুদ্ধার করার জন্য বিশ্বস্ত এক্সিকিউশন পরিবেশে চলমান ওপেন-সোর্স সুরক্ষিত দর্শক কী/মান পরিষেবাগুলি ব্যবহার করতে হবে।

বাস্তুতন্ত্রের পরীক্ষা করার জন্য পর্যাপ্ত সময় আছে তা নিশ্চিত করার জন্য, আমরা তৃতীয় পক্ষের কুকি অবচয় না হওয়া পর্যন্ত ওপেন-সোর্স কী/মান পরিষেবা বা TEE-এর ব্যবহারের প্রয়োজন বলে আশা করি না। এই রূপান্তরটি ঘটার আগে আমরা ডেভেলপারদের পরীক্ষা এবং গ্রহণ শুরু করার জন্য যথেষ্ট নোটিশ প্রদান করব।

বৈশিষ্ট্য সমর্থন সনাক্ত করুন

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

'joinAdInterestGroup' in navigator &&
  document.featurePolicy.allowsFeature('join-ad-interest-group') &&
  document.featurePolicy.allowsFeature('run-ad-auction') ?
  console.log('navigator.joinAdInterestGroup() is supported on this page') :
  console.log('navigator.joinAdInterestGroup() is not supported on this page');

আমি কিভাবে সুরক্ষিত শ্রোতা থেকে অপ্ট আউট করতে পারি?

আপনি সাইটের মালিক হিসাবে বা একজন স্বতন্ত্র ব্যবহারকারী হিসাবে সুরক্ষিত দর্শক API-এ অ্যাক্সেস ব্লক করতে পারেন।

সাইটগুলি কীভাবে অ্যাক্সেস নিয়ন্ত্রণ করতে পারে?

সুরক্ষিত শ্রোতাদের শেষ পর্যন্ত সাইটগুলিকে সুরক্ষিত দর্শক কার্যকারিতা উপলব্ধ করার অনুমতি দেওয়ার জন্য একটি অনুমতি নীতি সেট করতে হবে৷ এটি নিশ্চিত করতে সাহায্য করবে যে নির্বিচারে তৃতীয় পক্ষগুলি সাইটের জ্ঞান ছাড়া API ব্যবহার করতে পারবে না৷ যাইহোক, প্রথম অরিজিন ট্রায়ালের সময় পরীক্ষার সুবিধার্থে, এই প্রয়োজনীয়তাটি ডিফল্টরূপে পরিত্যাগ করা হয়। যে সাইটগুলি পরীক্ষার সময়কালে সুরক্ষিত শ্রোতা কার্যকারিতা স্পষ্টভাবে অক্ষম করতে চায় তারা অ্যাক্সেস ব্লক করতে প্রাসঙ্গিক অনুমতি নীতি ব্যবহার করতে পারে।

দুটি সুরক্ষিত শ্রোতা অনুমতি নীতি রয়েছে যা স্বাধীনভাবে সেট করা যেতে পারে: * join-ad-interest-group একটি ব্রাউজারকে আগ্রহের গোষ্ঠীতে যুক্ত করতে কার্যকারিতা সক্ষম/অক্ষম করে * run-ad-auction একটি অন-ডিভাইস নিলাম চালানোর জন্য কার্যকারিতা সক্ষম/অক্ষম করে

একটি HTTP প্রতিক্রিয়া শিরোনামে নিম্নলিখিত অনুমতি নীতি নির্দিষ্ট করে প্রথম পক্ষের প্রেক্ষাপটে সুরক্ষিত শ্রোতা API-তে অ্যাক্সেস সম্পূর্ণরূপে অক্ষম করা যেতে পারে:

Permissions-Policy: join-ad-interest-group=(), run-ad-auction=()

আপনি একটি iframe উপাদানে নিম্নলিখিত allow বৈশিষ্ট্য যোগ করে একটি iframe-এ API-এর ব্যবহার নিষ্ক্রিয় করতে পারেন:

<iframe src="https://example.com" allow="join-ad-interest-group 'none'; run-ad-auction 'none'"></iframe>

প্রস্তাবিত প্রথম সুরক্ষিত অডিয়েন্স অরিজিন ট্রায়াল অনুমতি-নীতি বিভাগ আরও বিশদ প্রদান করে।

ব্যবহারকারী অপ্ট-আউট

একজন ব্যবহারকারী নিম্নলিখিত যেকোনও পদ্ধতি ব্যবহার করে সুরক্ষিত দর্শক API এবং অন্যান্য গোপনীয়তা স্যান্ডবক্স বৈশিষ্ট্যগুলিতে অ্যাক্সেস ব্লক করতে পারেন:

  • Chrome সেটিংসে গোপনীয়তা স্যান্ডবক্স ট্রায়ালগুলি অক্ষম করুন : সেটিংস > নিরাপত্তা এবং গোপনীয়তা > গোপনীয়তা স্যান্ডবক্স । এটি chrome://settings/adPrivacy এও অ্যাক্সেসযোগ্য।
  • Chrome সেটিংসে তৃতীয় পক্ষের কুকি অক্ষম করুন : সেটিংস > নিরাপত্তা এবং গোপনীয়তা
  • chrome://settings/cookies থেকে কুকিজ এবং অন্যান্য সাইট ডেটা "ব্লক থার্ড-পার্টি কুকিজ" বা "সব কুকিজ ব্লক করুন"-এ সেট করুন।
  • ছদ্মবেশী মোড ব্যবহার করুন।

সুরক্ষিত শ্রোতা ব্যাখ্যাকারী API ডিজাইন উপাদান সম্পর্কে আরও বিশদ প্রদান করে এবং API কীভাবে গোপনীয়তা লক্ষ্য পূরণ করতে চায় তা বর্ণনা করে।

ডিবাগ সুরক্ষিত অডিয়েন্স ওয়ার্কলেট

Chrome Canary 98.0.4718.0 থেকে, Chrome DevTools-এর মধ্যে সুরক্ষিত অডিয়েন্স ওয়ার্কলেটগুলি ডিবাগ করা সম্ভব৷

প্রথম ধাপ হল উৎস প্যানেলে ইভেন্ট লিসেনার ব্রেকপয়েন্ট প্যানে একটি নতুন বিভাগের মাধ্যমে ব্রেকপয়েন্ট সেট করা।

Chrome Canary-এ DevTools-এর স্ক্রিনশট, উৎস প্যানেলে ইভেন্ট লিসেনার ব্রেকপয়েন্ট প্যান হাইলাইট করে। বিজ্ঞাপন নিলাম ওয়ার্কলেটের অধীনে বিডার বিডিং ফেজ স্টার্ট নির্বাচন করা হয়েছে।

যখন একটি ব্রেকপয়েন্ট ট্রিগার হয়, ওয়ার্কলেট স্ক্রিপ্টের শীর্ষ-স্তরের প্রথম বিবৃতির আগে এক্সিকিউশন থামানো হয়। আপনি বিডিং/স্কোরিং/রিপোর্টিং ফাংশন নিজেই পেতে নিয়মিত ব্রেকপয়েন্ট বা ধাপ কমান্ড ব্যবহার করতে পারেন।

লাইভ ওয়ার্কলেট স্ক্রিপ্টগুলিও থ্রেড প্যানেলের অধীনে প্রদর্শিত হবে।

ক্রোম ক্যানারিতে DevTools-এর স্ক্রিনশট, সোর্স প্যানেলে থ্রেডস প্যানে হাইলাইট করে, বর্তমান ওয়ার্কলেট স্ক্রিপ্ট দেখায় যা পজ করা হয়েছে।

যেহেতু কিছু ওয়ার্কলেট সমান্তরালভাবে চলতে পারে, তাই একাধিক থ্রেড সেখানে "পজড" অবস্থায় শেষ হতে পারে; আপনি থ্রেডের মধ্যে সুইচ করতে থ্রেড তালিকা ব্যবহার করতে পারেন, এবং পুনরায় শুরু করতে বা যথাযথভাবে তাদের আরও ঘনিষ্ঠভাবে পরিদর্শন করতে পারেন।

সুরক্ষিত দর্শক ইভেন্টগুলি পর্যবেক্ষণ করুন

Chrome DevTools-এর অ্যাপ্লিকেশান প্যানেল থেকে, আপনি সুরক্ষিত দর্শকের আগ্রহের গোষ্ঠী এবং নিলাম ইভেন্টগুলি পর্যবেক্ষণ করতে পারেন৷

আপনি যদি প্রোটেক্টেড অডিয়েন্স সক্ষম করা ব্রাউজারে প্রোটেক্টেড অডিয়েন্স ডেমো শপিং সাইটে যান, তাহলে DevTools join ইভেন্ট সম্পর্কে তথ্য প্রদর্শন করবে।

Chrome Canary-এ DevTools অ্যাপ্লিকেশান প্যানেল, একটি সুরক্ষিত শ্রোতাদের আগ্রহের গোষ্ঠীতে যোগদানের ইভেন্ট সম্পর্কে তথ্য দেখাচ্ছে৷

এখন, আপনি যদি প্রোটেক্টেড অডিয়েন্স সক্ষম করা ব্রাউজারে প্রোটেক্টেড অডিয়েন্স ডেমো প্রকাশক সাইটে যান, তাহলে DevTools bid এবং win ইভেন্টগুলি সম্পর্কে তথ্য প্রদর্শন করে৷

ক্রোম ক্যানারিতে DevTools অ্যাপ্লিকেশন প্যানেল, সুরক্ষিত শ্রোতা নিলাম বিড এবং বিজয় ইভেন্ট সম্পর্কে তথ্য দেখাচ্ছে৷

কিভাবে সুরক্ষিত শ্রোতা API কাজ করে?

এই উদাহরণে, একজন ব্যবহারকারী একটি কাস্টম বাইক নির্মাতার ওয়েবসাইট ব্রাউজ করেন, তারপরে একটি নিউজ ওয়েবসাইট পরিদর্শন করেন এবং বাইক নির্মাতার কাছ থেকে একটি নতুন বাইকের জন্য একটি বিজ্ঞাপন দেখানো হয়৷

1. একজন ব্যবহারকারী একটি বিজ্ঞাপনদাতার সাইটে যান৷

একজন ব্যক্তিকে তার ল্যাপটপে একটি ব্রাউজারে একটি কাস্টম বাইক প্রস্তুতকারকের সাইট পরিদর্শন করাকে চিত্রিত করা হয়েছে৷

কল্পনা করুন যে একজন ব্যবহারকারী একটি কাস্টম বাইক প্রস্তুতকারকের (এই উদাহরণে বিজ্ঞাপনদাতা ) ওয়েবসাইটে যান এবং একটি হস্তনির্মিত স্টিল বাইকের জন্য পণ্যের পৃষ্ঠায় কিছু সময় ব্যয় করেন। এটি বাইক নির্মাতাকে একটি পুনঃবিপণনের সুযোগ প্রদান করে।

2. ব্যবহারকারীর ব্রাউজারকে একটি আগ্রহের গোষ্ঠী যুক্ত করতে বলা হয়৷

একজন ব্যক্তিকে তার ল্যাপটপে একটি ব্রাউজারে একটি সাইট দেখছেন এমন চিত্র। JavaScript কোড joinAdInterestGroup() ব্রাউজারে চলছে।

ব্যাখ্যাকারী বিভাগ: ব্রাউজার রেকর্ড ইন্টারেস্ট গ্রুপ

বিজ্ঞাপনদাতার ডিমান্ড-সাইড প্ল্যাটফর্ম (ডিএসপি) (অথবা বিজ্ঞাপনদাতা নিজেই) navigator.joinAdInterestGroup() কে কল করে ব্রাউজারটিকে ব্রাউজারটি যে গ্রুপের সদস্য সেগুলির তালিকায় একটি আগ্রহ গোষ্ঠী যুক্ত করতে বলে৷ এই উদাহরণে, গ্রুপটির নাম দেওয়া হয়েছে custom-bikes , এবং মালিক হল dsp.example । আগ্রহ গ্রুপের মালিক (এই ক্ষেত্রে, DSP) ধাপ 4 এ বর্ণিত বিজ্ঞাপন নিলামে একজন ক্রেতা হবেন। ইন্টারেস্ট গ্রুপের সদস্যতা ব্রাউজার দ্বারা, ব্যবহারকারীর ডিভাইসে সংরক্ষণ করা হয় এবং ব্রাউজার বিক্রেতা বা অন্য কারো সাথে শেয়ার করা হয় না।

joinAdInterestGroup() এর থেকে অনুমতি প্রয়োজন: * সাইটটি পরিদর্শন করা হচ্ছে * আগ্রহ গ্রুপের মালিক

উদাহরণস্বরূপ: malicious.example এর অনুমতি ছাড়া dsp.example এর মালিক হিসাবে dsp.example joinAdInterestGroup() কল করা সম্ভব হবে না।

সাইট পরিদর্শন করা হচ্ছে থেকে অনুমতি

একই উত্স : ডিফল্টরূপে, যে সাইটটি পরিদর্শন করা হচ্ছে সেই একই উত্স থেকে, অর্থাৎ বর্তমান পৃষ্ঠার শীর্ষ-স্তরের ফ্রেমের মতো একই উত্স থেকে joinAdInterestGroup() কলগুলির জন্য পরোক্ষভাবে অনুমতি দেওয়া হয়৷ joinAdInterestGroup() কল অক্ষম করতে সাইটগুলি একটি সুরক্ষিত শ্রোতা অনুমতি নীতির শিরোনাম join-ad-interest-group নির্দেশিকা ব্যবহার করতে পারে৷

ক্রস অরিজিন : বর্তমান পৃষ্ঠা থেকে ভিন্ন মূল থেকে joinAdInterestGroup() কল করা শুধুমাত্র তখনই সফল হতে পারে যখন পরিদর্শন করা সাইটটিতে একটি অনুমতি নীতি সেট করা থাকে যা ক্রস-অরিজিন iframes থেকে কলগুলিকে যোগদানের জন্য joinAdInterestGroup() অনুমতি দেয়৷

স্বার্থ গ্রুপ মালিক থেকে অনুমতি

স্বার্থ গোষ্ঠীর মালিকের অনুমতি একটি আইফ্রেম থেকে joinAdInterestGroup() কল করার মাধ্যমে অন্তর্নিহিতভাবে মঞ্জুর করা হয় যেটি আগ্রহ গোষ্ঠীর মালিকের মতই। উদাহরণস্বরূপ, একটি dsp.example iframe dsp.example মালিকানাধীন স্বার্থ গোষ্ঠীর জন্য joinAdInterestGroup() কল করতে পারে।

প্রস্তাবটি হল joinAdInterestGroup() মালিকের ডোমেনে একটি পৃষ্ঠা বা iframe-এ চলতে পারে, অথবা একটি .well-known URL-এ একটি তালিকা ব্যবহার করে প্রদত্ত অন্যান্য ডোমেনে অর্পিত হতে পারে৷

navigator.joinAdInterestGroup() ব্যবহার করে

API কীভাবে ব্যবহার করা যেতে পারে তার একটি উদাহরণ এখানে দেওয়া হল:

const interestGroup = {
  owner: 'https://dsp.example',
  name: 'custom-bikes',
  biddingLogicUrl: ...,
  biddingWasmHelperUrl: ...,
  dailyUpdateUrl: ...,
  trustedBiddingSignalsUrl: ...,
  trustedBiddingSignalsKeys: ['key1', 'key2'],
  userBiddingSignals: {...},
  ads: [bikeAd1, bikeAd2, bikeAd3],
  adComponents: [customBike1, customBike2, bikePedal, bikeFrame1, bikeFrame2],
};

navigator.joinAdInterestGroup(interestGroup, 7 * kSecsPerDay);

ফাংশনে পাস করা interestGroup অবজেক্টটি অবশ্যই 50 কিবি সাইজের বেশি হবে না, অন্যথায় কলটি ব্যর্থ হবে। দ্বিতীয় প্যারামিটারটি সুদের গোষ্ঠীর সময়কাল নির্দিষ্ট করে, 30 দিনে সীমাবদ্ধ। পরপর কলগুলি পূর্বে সংরক্ষিত মানগুলিকে ওভাররাইট করে।

সুদ গ্রুপ বৈশিষ্ট্য

সম্পত্তি প্রয়োজন উদাহরণ ভূমিকা
owner প্রয়োজন 'https://dsp.example' স্বার্থ গোষ্ঠীর মালিকের উৎপত্তি।
name প্রয়োজন 'custom-bikes' স্বার্থ গ্রুপের নাম।
biddingLogicUrl ** ঐচ্ছিক* 'https://dsp.example/bid/custom-bikes/bid.js' বিডিং জাভাস্ক্রিপ্ট ওয়ার্কলেটে চালানোর URL।
biddingWasmHelperUrl ** ঐচ্ছিক* 'https://dsp.example/bid/custom-bikes/bid.wasm' biddingLogicUrl থেকে চালিত WebAssembly কোডের URL।
dailyUpdateUrl ** ঐচ্ছিক 'https://dsp.example/bid/custom-bikes/update' ইউআরএল যা আগ্রহ গ্রুপের বৈশিষ্ট্যগুলি আপডেট করতে JSON প্রদান করে। ( আগ্রহী গোষ্ঠী আপডেট করুন দেখুন।)
trustedBiddingSignalsUrl ** ঐচ্ছিক 'https://dsp.example/trusted/bidding-signals' দরদাতার বিশ্বস্ত সার্ভারে মূল-মূল্যের অনুরোধের জন্য ভিত্তি URL।
trustedBiddingSignalsKeys ঐচ্ছিক ['key1', 'key2' ...] কী-মান বিশ্বস্ত সার্ভারে অনুরোধের জন্য কী।
userBiddingSignals ঐচ্ছিক {...} অতিরিক্ত মেটাডেটা মালিক বিডিংয়ের সময় ব্যবহার করতে পারেন।
ads ঐচ্ছিক* [bikeAd1, bikeAd2, bikeAd3] এই আগ্রহ গ্রুপের জন্য রেন্ডার করা হতে পারে যে বিজ্ঞাপন.
adComponents ঐচ্ছিক [customBike1, customBike2, bikePedal, bikeFrame1, bikeFrame2] একাধিক টুকরা দিয়ে তৈরি বিজ্ঞাপনের উপাদান।

* owner এবং name ছাড়া সমস্ত সম্পত্তি ঐচ্ছিক। biddingLogicUrl এবং ads বৈশিষ্ট্য ঐচ্ছিক, কিন্তু একটি নিলামে অংশগ্রহণের জন্য প্রয়োজন৷ এই বৈশিষ্ট্যগুলি ছাড়াই একটি আগ্রহের গোষ্ঠী তৈরি করার ক্ষেত্রে ব্যবহার করা যেতে পারে: উদাহরণস্বরূপ, একটি স্বার্থ গোষ্ঠীর মালিক একটি প্রচারণার জন্য একটি স্বার্থ গোষ্ঠীতে একটি ব্রাউজার যোগ করতে চাইতে পারেন যা এখনও চলছে না, বা অন্য কিছু ভবিষ্যতে ব্যবহারের জন্য, বা তারা সাময়িকভাবে বিজ্ঞাপনের বাজেট শেষ হয়ে যেতে পারে।

** biddingLogicUrl , biddingWasmHelperUrl , dailyUpdateUrl এবং trustedBiddingSignalsUrl ইউআরএলগুলির মালিকের মতো একই উত্স থাকতে হবে৷ ads এবং adComponents URL-এ এই ধরনের কোনো সীমাবদ্ধতা নেই।

ইন্টারেস্ট গ্রুপ অ্যাট্রিবিউট আপডেট করুন

dailyUpdateUrl এমন একটি ওয়েব সার্ভার নির্দিষ্ট করে যা JSON সংজ্ঞায়িত করে সুদ গোষ্ঠীর বৈশিষ্ট্য প্রদান করে, যা navigator.joinAdInterestGroup() এ পাস করা আগ্রহের গ্রুপ অবজেক্টের সাথে সম্পর্কিত। এটি গ্রুপের মালিকের স্বার্থ গ্রুপের বৈশিষ্ট্যগুলিকে পর্যায়ক্রমে আপডেট করার জন্য একটি প্রক্রিয়া প্রদান করে। বর্তমান বাস্তবায়নে , নিম্নলিখিত বৈশিষ্ট্যগুলি পরিবর্তন করা যেতে পারে:

  • biddingLogicUrl
  • biddingWasmHelperUrl
  • trustedBiddingSignalsUrl
  • trustedBiddingSignalsKeys
  • ads
  • priority

JSON-এ নির্দিষ্ট করা নেই এমন কোনও ক্ষেত্র ওভাররাইট করা হবে না—শুধুমাত্র JSON-এ নির্দিষ্ট করা ক্ষেত্রগুলি আপডেট করা হয়—যেখানে navigator.joinAdInterestGroup() কল করলে যে কোনও বিদ্যমান আগ্রহের গোষ্ঠী ওভাররাইট হয়৷

আপডেটগুলি সর্বোত্তম প্রচেষ্টা, এবং নিম্নলিখিত শর্তগুলির অধীনে ব্যর্থ হতে পারে: * নেটওয়ার্ক অনুরোধের সময়সীমা (বর্তমানে 30 সেকেন্ড)। * অন্যান্য নেটওয়ার্ক ব্যর্থতা। * JSON পার্সিং ব্যর্থতা।

আপডেটগুলিও বাতিল করা যেতে পারে যদি আপডেট করতে খুব বেশি সময় ব্যয় করা হয়, যদিও এটি বাতিল (বাকি থাকা) আপডেটগুলিতে সীমাবদ্ধ কোনো হার চাপিয়ে দেয় না। আপডেটগুলি প্রতিদিন সর্বোচ্চ একটি পর্যন্ত রেট-সীমিত। নেটওয়ার্ক ত্রুটির কারণে ব্যর্থ হওয়া আপডেটগুলি এক ঘন্টা পরে পুনরায় চেষ্টা করা হয় এবং ইন্টারনেট থেকে সংযোগ বিচ্ছিন্ন হওয়ার কারণে ব্যর্থ হওয়া আপডেটগুলি পুনরায় সংযোগের সাথে সাথে পুনরায় চেষ্টা করা হয়।

ম্যানুয়াল আপডেট

বর্তমান ফ্রেমের মূলের মালিকানাধীন স্বার্থ গোষ্ঠীর আপডেটগুলি ম্যানুয়ালি navigator.updateAdInterestGroups() এর মাধ্যমে ট্রিগার করা যেতে পারে৷ হার সীমিতকরণ আপডেটগুলিকে ঘন ঘন ঘটতে বাধা দেয়: navigator.updateAdInterestGroups() এ বারবার কল করা রেট সীমা সময়কাল (বর্তমানে এক দিন) অতিক্রান্ত না হওয়া পর্যন্ত কিছু করবে না। একই স্বার্থ গোষ্ঠীর owner এবং name জন্য navigator.joinAdInterestGroup() আবার কল করা হলে হারের সীমা রিসেট হয়ে যায়।

স্বয়ংক্রিয় আপডেট

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

একটি আগ্রহ গ্রুপের জন্য বিজ্ঞাপন নির্দিষ্ট করুন

ads এবং adComponents বস্তুতে একটি বিজ্ঞাপন ক্রিয়েটিভ এবং ঐচ্ছিকভাবে, নির্বিচারে মেটাডেটার জন্য একটি URL অন্তর্ভুক্ত থাকে যা বিডিংয়ের সময় ব্যবহার করা যেতে পারে। উদাহরণ স্বরূপ:

{
  renderUrl: 'https://cdn.example/.../bikeAd1.html',
  metadata: bikeAd1metadata // optional
}

ক্রেতারা কিভাবে বিড করবেন?

স্বার্থ গোষ্ঠীর মালিকের দ্বারা প্রদত্ত biddingLogicUrl এর স্ক্রিপ্টে অবশ্যই একটি generateBid() ফাংশন অন্তর্ভুক্ত থাকতে হবে৷ যখন কোনো বিজ্ঞাপন-স্থান বিক্রেতা navigator.runAdAuction() কল করে , generatedBid() ফাংশনটি ব্রাউজারটি যে সকল স্বার্থ গোষ্ঠীর সদস্য, সেগুলির জন্য একবার কল করা হয়, যদি স্বার্থ গোষ্ঠীর মালিককে বিড করার জন্য আমন্ত্রণ জানানো হয়। অন্য কথায়, প্রতিটি প্রার্থীর বিজ্ঞাপনের জন্য generateBid() একবার কল করা হয়। বিক্রেতা navigator.runAdAuction() এ পাস করা নিলাম কনফিগারেশন প্যারামিটারে একটি decisionLogicUrl সম্পত্তি প্রদান করে। এই URL-এর কোডটিতে অবশ্যই একটি scoreAd() ফাংশন অন্তর্ভুক্ত থাকতে হবে, যা নিলামে প্রতিটি দরদাতার জন্য চালানো হয়, যাতে প্রতিটি বিড generateBid() দ্বারা প্রত্যাবর্তিত হয়।

বিজ্ঞাপন-স্পেস ক্রেতার দ্বারা প্রদত্ত biddingLogicUrl এর স্ক্রিপ্টে অবশ্যই একটি generateBid() ফাংশন অন্তর্ভুক্ত থাকতে হবে। এই ফাংশন প্রতিটি প্রার্থী বিজ্ঞাপনের জন্য একবার বলা হয়. runAdAuction() পৃথকভাবে প্রতিটি বিজ্ঞাপনকে তার সংশ্লিষ্ট বিড এবং মেটাডেটা সহ চেক করে, তারপর বিজ্ঞাপনটিকে একটি সংখ্যাসূচক পছন্দের স্কোর প্রদান করে।

generateBid(interestGroup, auctionSignals, perBuyerSignals,
    trustedBiddingSignals, browserSignals) {
  ...
  return {
    ad: adObject,
    bid: bidValue,
    render: renderUrl,
    adComponents: [adComponentRenderUrl1, ...]
   };
}

generateBid() নিম্নলিখিত আর্গুমেন্ট নেয়:

  • interestGroup
    বস্তুটি বিজ্ঞাপন ক্রেতার দ্বারা joinAdInterestGroup() এ পাস করা হয়েছে। (সুদ গ্রুপ dailyUpdateUrl এর মাধ্যমে আপডেট করা যেতে পারে।)

  • auctionSignals
    বিজ্ঞাপন-স্পেস বিক্রেতার দ্বারা navigator.runAdAuction() এ পাস করা নিলাম কনফিগার আর্গুমেন্টের একটি সম্পত্তি। এটি পৃষ্ঠার প্রসঙ্গ (যেমন বিজ্ঞাপনের আকার এবং প্রকাশক আইডি), নিলামের ধরন (প্রথম-মূল্য বা দ্বিতীয়-মূল্য) এবং অন্যান্য মেটাডেটা সম্পর্কে তথ্য প্রদান করে।

  • perBuyerSignals
    auctionSignals এর মতো, নিলাম কনফিগারেশন আর্গুমেন্টের একটি সম্পত্তি বিক্রেতার দ্বারা navigator.runAdAuction() এ পাঠানো হয়েছে। এটি পৃষ্ঠা সম্পর্কে ক্রেতার সার্ভার থেকে প্রাসঙ্গিক সংকেত প্রদান করতে পারে, যদি বিক্রেতা একজন SSP হয় যা ক্রেতা সার্ভারের কাছে একটি রিয়েল-টাইম বিডিং কল করে এবং প্রতিক্রিয়াটি পাইপ করে, অথবা যদি প্রকাশক পৃষ্ঠাটি ক্রেতার সার্ভারের সাথে সরাসরি যোগাযোগ করে। যদি তাই হয়, ক্রেতা বিড়ম্বনার বিরুদ্ধে সুরক্ষা হিসাবে generateBid() এর ভিতরে সেই সংকেতগুলির একটি ক্রিপ্টোগ্রাফিক স্বাক্ষর পরীক্ষা করতে চাইতে পারেন।

  • trustedBiddingSignals
    একটি বস্তু যার কীগুলি হল আগ্রহ গোষ্ঠীর জন্য trustedBiddingSignalsKeys এবং যার মান trustedBiddingSignals অনুরোধে ফেরত দেওয়া হয়৷

  • browserSignals
    ব্রাউজার দ্বারা নির্মিত একটি বস্তু, যাতে পৃষ্ঠার প্রসঙ্গের তথ্য অন্তর্ভুক্ত থাকতে পারে (যেমন বর্তমান পৃষ্ঠার hostname , যা বিক্রেতা অন্যথায় জাল করতে পারে) এবং আগ্রহ গোষ্ঠীর জন্য ডেটা (যেমন গোষ্ঠীটি পূর্বে কখন জিতেছিল তার রেকর্ড নিলাম, অন-ডিভাইস ফ্রিকোয়েন্সি ক্যাপিংয়ের অনুমতি দিতে)।

browserSignals অবজেক্টের নিম্নলিখিত বৈশিষ্ট্য রয়েছে:

{
  topWindowHostname: 'publisher.example',
  seller: 'https://ssp.example',
  joinCount: 3,
  bidCount: 17,
  prevWins: [[time1,ad1],[time2,ad2],...],
  wasmHelper: ... /* WebAssembly.Module object based on interest group's biddingWasmHelperUrl. */
  dataVersion: 1, /* Data-Version value from the buyer's Key/Value service response(s). */
}

একটি bid মান গণনা করতে, generateBid() এর কোড ফাংশনের পরামিতিগুলির বৈশিষ্ট্য ব্যবহার করতে পারে। উদাহরণ স্বরূপ:

function generateBid(interestGroup, auctionSignals, perBuyerSignals,
    trustedBiddingSignals, browserSignals) {
  return {
    ...
    bid: auctionSignals.is_above_the_fold ? perBuyerSignals.atf_value : perBuyerSignals.btf_value,
    ...
  }
}

generateBid() চারটি বৈশিষ্ট্য সহ একটি বস্তু ফেরত দেয়:

  • ad
    বিজ্ঞাপন সম্পর্কে নির্বিচারে মেটাডেটা, যেমন তথ্য বিক্রেতা এই বিড বা বিজ্ঞাপন সৃজনশীল সম্পর্কে জানতে চান। বিক্রেতা](/privacy-sandbox/resources/glossary#ssp) তার নিলাম এবং সিদ্ধান্ত বিজ্ঞাপন ক্রিয়েটিভে এই তথ্য ব্যবহার করে। বিক্রেতা তার নিলাম এবং সিদ্ধান্ত যুক্তিতে এই তথ্য ব্যবহার করে।

  • bid
    একটি সংখ্যাসূচক বিড যা নিলামে প্রবেশ করবে। বিক্রেতাকে অবশ্যই বিভিন্ন ক্রেতার কাছ থেকে বিড তুলনা করার অবস্থানে থাকতে হবে, তাই বিডগুলি অবশ্যই বিক্রেতা-নির্বাচিত কিছু ইউনিটে হতে হবে (যেমন "প্রতি হাজারে USD")। যদি বিড শূন্য বা ঋণাত্মক হয়, তাহলে এই স্বার্থ গোষ্ঠীটি বিক্রেতার নিলামে মোটেও অংশগ্রহণ করবে না। এই পদ্ধতির সাহায্যে, ক্রেতা তাদের বিজ্ঞাপনগুলি যেখানে প্রদর্শিত হতে পারে বা নাও হতে পারে তার জন্য বিজ্ঞাপনদাতার যেকোনো নিয়ম বাস্তবায়ন করতে পারে।

  • render
    একটি ইউআরএল, বা ইউআরএলের একটি তালিকা, যেটি সৃজনশীল রেন্ডার করতে ব্যবহার করা হবে যদি এই বিড নিলামে জয়ী হয়। (এপিআই ব্যাখ্যাকারীতে একাধিক টুকরো দিয়ে তৈরি বিজ্ঞাপনগুলি দেখুন।) মানটি আগ্রহের গোষ্ঠীর জন্য সংজ্ঞায়িত বিজ্ঞাপনগুলির একটির renderUrl সাথে মেলে।

  • adComponents
    বিজ্ঞাপনের জন্য 20টি পর্যন্ত উপাদানের একটি ঐচ্ছিক তালিকা একাধিক টুকরো দিয়ে তৈরি , যা navigator.joinAdInterestGroup() এ পাস করা আগ্রহ গ্রুপ আর্গুমেন্টের adComponents সম্পত্তি থেকে নেওয়া হয়েছে।

একটি ব্রাউজারকে একটি আগ্রহের গ্রুপ ছেড়ে যেতে বলছে

স্বার্থ গোষ্ঠীর মালিক একটি ব্রাউজারকে একটি স্বার্থ গোষ্ঠী থেকে সরানোর অনুরোধ করতে পারেন৷ অন্য কথায়, ব্রাউজারটিকে তাদের সদস্যদের তালিকা থেকে আগ্রহের গোষ্ঠীটিকে সরাতে বলা হয়।

navigator.leaveAdInterestGroup({
  owner: 'https://dsp.example',
  name: 'custom-bikes'
});

যদি কোনও ব্যবহারকারী সেই সাইটে ফিরে আসেন যেটি ব্রাউজারকে একটি আগ্রহের গোষ্ঠী যুক্ত করতে বলেছিল, স্বার্থ গোষ্ঠীর মালিক ব্রাউজারকে আগ্রহের গোষ্ঠী সরানোর অনুরোধ করতে navigator.leaveAdInterestGroup() ফাংশনে কল করতে পারেন৷ একটি বিজ্ঞাপনের কোড তার আগ্রহের গোষ্ঠীর জন্য এই ফাংশনটিকেও কল করতে পারে।

3. ব্যবহারকারী বিজ্ঞাপন স্থান বিক্রি করে এমন একটি সাইট পরিদর্শন করে

একজন ব্যক্তিকে তার ল্যাপটপে একটি ব্রাউজারে একটি নিউজ ওয়েবসাইট পরিদর্শন করার দৃষ্টান্ত। সাইটে একটি খালি বিজ্ঞাপন স্লট আছে.

পরে, ব্যবহারকারী এমন একটি সাইট পরিদর্শন করে যা বিজ্ঞাপনের স্থান বিক্রি করে, এই উদাহরণে একটি সংবাদ ওয়েবসাইট। সাইটের বিজ্ঞাপন তালিকা রয়েছে, যা এটি রিয়েল-টাইম বিডিং ব্যবহার করে প্রোগ্রাম্যাটিকভাবে বিক্রি করে।

4. ব্রাউজারে একটি বিজ্ঞাপন নিলাম চালানো হয়

একজন ব্যক্তিকে তার ল্যাপটপে একটি ব্রাউজারে একটি সংবাদ ওয়েবসাইট দেখছেন এমন চিত্র। সুরক্ষিত দর্শক API ব্যবহার করে একটি বিজ্ঞাপন নিলাম হচ্ছে৷

ব্যাখ্যাকারী বিভাগ: বিক্রেতারা ডিভাইসে নিলাম চালান

বিজ্ঞাপনের নিলাম সম্ভবত প্রকাশকের এসএসপি বা প্রকাশক নিজেই পরিচালনা করবেন। নিলামের উদ্দেশ্য হল বর্তমান পৃষ্ঠায় একটি একক উপলব্ধ বিজ্ঞাপন স্লটের জন্য সবচেয়ে উপযুক্ত বিজ্ঞাপন নির্বাচন করা। নিলামে অ্যাড-স্পেস ক্রেতা এবং কী/মূল্য পরিষেবা থেকে বিক্রেতাদের ডেটা সহ ব্রাউজারটি যে স্বার্থ গোষ্ঠীর সদস্য তা বিবেচনা করে।

বিজ্ঞাপন-স্থান বিক্রেতা navigator.runAdAuction() এ কল করে একটি বিজ্ঞাপন নিলাম শুরু করার জন্য ব্যবহারকারীর ব্রাউজারকে একটি অনুরোধ করে৷

উদাহরণ স্বরূপ:

const auctionConfig = {
  seller: 'https://ssp.example',
  decisionLogicUrl: ...,
  trustedScoringSignalsUrl: ...,
  interestGroupBuyers: ['https://dsp.example', 'https://buyer2.example', ...],
  auctionSignals: {...},
  sellerSignals: {...},
  sellerTimeout: 100,
  perBuyerSignals: {
    'https://dsp.example': {...},
    'https://another-buyer.example': {...},
    ...
  },
  perBuyerTimeouts: {
    'https://dsp.example': 50,
    'https://another-buyer.example': 200,
    '*': 150,
    ...
  },
  componentAuctions: [
    {
      'seller': 'https://some-other-ssp.example',
      'decisionLogicUrl': ...,
      ...
    },
    ...
  ]
};

const auctionResultPromise = navigator.runAdAuction(auctionConfig);

runAdAuction() একটি প্রতিশ্রুতি প্রদান করে যা একটি URN ( urn:uuid:<something> ) কে সমাধান করে যা বিজ্ঞাপন নিলামের ফলাফলকে উপস্থাপন করে। এটি শুধুমাত্র ব্রাউজার দ্বারা ডিকোড করা যেতে পারে যখন রেন্ডারিংয়ের জন্য একটি বেড়াযুক্ত ফ্রেমে পাস করা হয়: প্রকাশক পৃষ্ঠা বিজয়ী বিজ্ঞাপনটি পরিদর্শন করতে পারে না।

decisionLogicUrl স্ক্রিপ্ট প্রতিটি পৃথক বিজ্ঞাপনকে তার সংশ্লিষ্ট বিড এবং মেটাডেটা সহ, একবারে একটি বিবেচনা করে এবং তারপরে এটিকে একটি সংখ্যাসূচক পছন্দের স্কোর বরাদ্দ করে।

auctionConfig বৈশিষ্ট্য

সম্পত্তি প্রয়োজন উদাহরণ ভূমিকা
seller প্রয়োজন 'https://ssp.example' বিক্রেতার উৎপত্তি।
decisionLogicUrl প্রয়োজন 'https://ssp.example/auction-decision-logic.js' নিলাম ওয়ার্কলেট জাভাস্ক্রিপ্টের URL।
trustedScoringSignalsUrl ঐচ্ছিক 'https://ssp.example/scoring-signals' বিক্রেতার বিশ্বস্ত সার্ভারের URL।
interestGroupBuyers* প্রয়োজন ['https://dsp.example', 'https://buyer2.example', ...] নিলামে বিড করতে বলা সমস্ত স্বার্থ গ্রুপ মালিকদের উত্স.
auctionSignals ঐচ্ছিক {...} পৃষ্ঠার প্রসঙ্গ, নিলামের ধরন ইত্যাদি সম্পর্কে বিক্রেতার তথ্য।
sellerSignals ঐচ্ছিক {...} প্রকাশক সেটিংসের উপর ভিত্তি করে তথ্য, একটি প্রাসঙ্গিক বিজ্ঞাপন অনুরোধ করা ইত্যাদি।
sellerTimeout ঐচ্ছিক 100 বিক্রেতার scoreAd() স্ক্রিপ্টের সর্বোচ্চ রানটাইম (ms)।
perBuyerSignals ঐচ্ছিক {'https://dsp.example': {...},
'https://another-buyer.example': {...},
...}
প্রতিটি নির্দিষ্ট ক্রেতার জন্য তাদের সার্ভার থেকে পৃষ্ঠা সম্পর্কে প্রাসঙ্গিক সংকেত।
perBuyerTimeouts ঐচ্ছিক 50 নির্দিষ্ট ক্রেতার generateBid() স্ক্রিপ্টের সর্বোচ্চ রানটাইম (এমএস)।
componentAuctions ঐচ্ছিক [{'seller': 'https://www.some-other-ssp.com',
'decisionLogicUrl': ..., ...},
...]
কম্পোনেন্ট নিলামের জন্য অতিরিক্ত কনফিগারেশন।

* বিক্রেতা interestGroupBuyers: '*' সমস্ত স্বার্থ গোষ্ঠীকে বিড করার অনুমতি দিতে। আগ্রহ গ্রুপের মালিকের অন্তর্ভুক্তি ব্যতীত অন্যান্য মানদণ্ডের ভিত্তিতে বিজ্ঞাপনগুলি গ্রহণ বা প্রত্যাখ্যান করা হয়। উদাহরণস্বরূপ, বিক্রেতা তাদের নীতির সাথে সম্মতি নিশ্চিত করতে বিজ্ঞাপন ক্রিয়েটিভ পর্যালোচনা করতে পারেন।

** additionalBids সুরক্ষিত দর্শকের বর্তমান বাস্তবায়নে সমর্থিত নয়৷ আরও তথ্যের জন্য সুরক্ষিত শ্রোতা ব্যাখ্যাকারীর নিলাম অংশগ্রহণকারী বিভাগটি পড়ুন।

কিভাবে বিজ্ঞাপন নির্বাচন করা হয়?

decisionLogicUrl -এ কোড (নিলাম কনফিগারেশন অবজেক্টের একটি সম্পত্তি যা runAdAuction() এ পাস করা হয়েছে) অবশ্যই একটি scoreAd() ফাংশন অন্তর্ভুক্ত করবে। এটি প্রতিটি বিজ্ঞাপনের আকাঙ্খিততা নির্ধারণের জন্য একবার চালানো হয়।

scoreAd(adMetadata, bid, auctionConfig, trustedScoringSignals, browserSignals) {
  ...
  return desirabilityScoreForThisAd;
}

scoreAd() নিম্নলিখিত আর্গুমেন্ট নেয়: * adMetadata
ক্রেতা দ্বারা প্রদত্ত নির্বিচারে মেটাডেটা। * bid
একটি সংখ্যাসূচক বিড মান। * auctionConfig
নিলাম কনফিগারেশন অবজেক্টটি navigator.runAdAuction() এ পাস করা হয়েছে। * trustedScoringSignals
বিক্রেতার বিশ্বস্ত সার্ভার থেকে নিলামের সময় পুনরুদ্ধার করা মানগুলি, বিজ্ঞাপনের বিক্রেতার মতামতের প্রতিনিধিত্ব করে৷ * browserSignals
ব্রাউজার দ্বারা নির্মিত একটি বস্তু, ব্রাউজার জানে এমন তথ্য সহ এবং বিক্রেতার নিলাম স্ক্রিপ্ট যা যাচাই করতে চাইতে পারে:

{
  topWindowHostname: 'publisher.example',
  interestGroupOwner: 'https://dsp.example',
  renderUrl: 'https://cdn.example/render',
  adComponents: ['https://cdn.com/ad-component-1', ...],
  biddingDurationMsec: 12,
  dataVersion: 1 /* Data-Version value from the seller's Key/Value service response. */
}

একটি নিলাম শুরু হওয়ার আগে, বিক্রেতা উপলব্ধ বিজ্ঞাপন স্লটের জন্য সেরা প্রাসঙ্গিক বিজ্ঞাপনটি খুঁজে পান। এর scoreAd() লজিকের অংশ হল এমন কোন বিজ্ঞাপন প্রত্যাখ্যান করা যা প্রাসঙ্গিক বিজয়ীকে হারাতে পারে না।

5. বিক্রেতা এবং অংশগ্রহণকারী ক্রেতারা কী/মান পরিষেবা থেকে রিয়েলটাইম ডেটা পান

একজন ব্যক্তিকে তার ল্যাপটপে একটি ব্রাউজারে একটি সংবাদ ওয়েবসাইট দেখছেন এমন চিত্র। প্রোটেক্টেড অডিয়েন্স API ব্যবহার করে একটি বিজ্ঞাপন নিলাম হচ্ছে, একজন অংশগ্রহণকারী কী/মান পরিষেবা থেকে ডেটা পাচ্ছে।

ব্যাখ্যাকারী বিভাগ: সুরক্ষিত দর্শক কী/মান পরিষেবা থেকে রিয়েল-টাইম ডেটা আনা

একটি বিজ্ঞাপন নিলামের সময়, বিজ্ঞাপন-স্পেস বিক্রেতা navigator.runAdAuction() এ পাস করা নিলাম কনফিগারেশন আর্গুমেন্টের trustedScoringSignalsUrl প্রপার্টি ব্যবহার করে একটি কী/মান পরিষেবার কাছে অনুরোধ করে নির্দিষ্ট বিজ্ঞাপন ক্রিয়েটিভ সম্পর্কে রিয়েলটাইম ডেটা পেতে পারেন। নিলামে থাকা সমস্ত আগ্রহ গোষ্ঠীর ads এবং adComponents ক্ষেত্রের সমস্ত এন্ট্রিগুলির renderUrl বৈশিষ্ট্য৷

একইভাবে, একজন অ্যাড-স্পেস ক্রেতা navigator.joinAdInterestGroup() এ পাস করা স্বার্থ গোষ্ঠীর আর্গুমেন্টের trustedBiddingSignalsUrl এবং trustedBiddingSignalsKeys বৈশিষ্ট্য ব্যবহার করে কী/মান পরিষেবা থেকে রিয়েলটাইম ডেটার অনুরোধ করতে পারেন।

যখন runAdAuction() কল করা হয়, ব্রাউজার প্রতিটি বিজ্ঞাপন ক্রেতার বিশ্বস্ত সার্ভারের কাছে একটি অনুরোধ করে। অনুরোধের URLটি এইরকম দেখতে পারে:

https://kv-service.example/getvalues?hostname=publisher.example&keys=key1,key2
  • ভিত্তি URL টি আসে trustedBiddingSignalsUrl থেকে।
  • hostname ব্রাউজার দ্বারা প্রদান করা হয়.
  • keys মান trustedBiddingSignalsKeys থেকে নেওয়া হয়েছে।

এই অনুরোধের প্রতিক্রিয়া হল একটি JSON অবজেক্ট যা প্রতিটি কীগুলির জন্য মান প্রদান করে।

6. বিজয়ী বিজ্ঞাপন প্রদর্শিত হয়

একজন ব্যক্তিকে তার ল্যাপটপে একটি ব্রাউজারে একটি সংবাদ ওয়েবসাইট দেখছেন এমন চিত্র। একটি বাইকের জন্য একটি বিজ্ঞাপন (20% ছাড়) প্রদর্শিত হয় - উপরে একটি লক সহ দেখানো হয় যে বিজ্ঞাপনটি একটি বেড়াযুক্ত ফ্রেমে প্রদর্শিত হয়৷

ব্যাখ্যাকারী বিভাগ: ব্রাউজাররা বিজয়ী বিজ্ঞাপন রেন্ডার করে

পূর্বে বর্ণিত হিসাবে: runAdAuction() দ্বারা প্রত্যাবর্তিত প্রতিশ্রুতিটি একটি URN এর সমাধান করে যা রেন্ডারিংয়ের জন্য একটি বেড়াযুক্ত ফ্রেমে পাস করা হয় এবং সাইটটি বিজয়ী বিজ্ঞাপন প্রদর্শন করে।

7. নিলাম ফলাফল রিপোর্ট করা হয়

ব্যাখ্যাকারী বিভাগ: ইভেন্ট-লেভেল রিপোর্টিং (আপাতত)

বিক্রেতা ফলাফল রিপোর্ট

ব্যাখ্যাকারী বিভাগ: রেন্ডারে বিক্রেতা প্রতিবেদন

বিক্রেতার জাভাস্ক্রিপ্ট decisionLogicUrl প্রদত্ত (যা scoreAd() reportResult() করে

reportResult(auctionConfig, browserSignals) {
  ...
  return signalsForWinner;
}

এই ফাংশনে পাস করা আর্গুমেন্ট হল:

  • auctionConfig
    নিলাম কনফিগারেশন অবজেক্টটি navigator.runAdAuction() এ পাস করা হয়েছে।

  • browserSignals
    নিলাম সম্পর্কে তথ্য প্রদান করে ব্রাউজার দ্বারা নির্মিত একটি বস্তু। উদাহরণ স্বরূপ:

    {
      'topWindowHostname': 'publisher.example',
      'interestGroupOwner': 'https://dsp.example',
      'renderUrl': 'https://cdn.example/url-of-winning-creative.wbn',
      'bid:' <bidValue>,
      'desirability': <winningAdScore>
    }
    

এই ফাংশনের রিটার্ন মান বিজয়ী দরদাতার reportWin() ফাংশনের জন্য sellerSignals আর্গুমেন্ট হিসাবে ব্যবহৃত হয়।

বিজয়ী দরদাতা ফলাফল রিপোর্ট

ব্যাখ্যাকারী বিভাগ: রেন্ডার এবং বিজ্ঞাপন ইভেন্টে ক্রেতার প্রতিবেদন

বিজয়ী দরদাতার জাভাস্ক্রিপ্ট (যা generateBid() প্রদান করে) নিলামের ফলাফল রিপোর্ট করার জন্য একটি reportWin() ফাংশন অন্তর্ভুক্ত করতে পারে।

reportWin(auctionSignals, perBuyerSignals, sellerSignals, browserSignals) {
  ...
}

এই ফাংশনে পাস করা আর্গুমেন্ট হল:

  • auctionSignals এবং perBuyerSignals
    বিজয়ী দরদাতার জন্য একই মান generateBid() এ পাস করা হয়েছে।
  • sellerSignals
    reportResult() এর রিটার্ন মান, যা বিক্রেতাকে ক্রেতার কাছে তথ্য দেওয়ার সুযোগ দেয়।
  • browserSignals
    নিলাম সম্পর্কে তথ্য প্রদান করে ব্রাউজার দ্বারা নির্মিত একটি বস্তু। উদাহরণ স্বরূপ:

    {
      'topWindowHostname': 'publisher.example',
      'seller': 'https://ssp.example',
      'interestGroupOwner': 'https://dsp.example',
      'interestGroupName': 'custom-bikes',
      'renderUrl': 'https://cdn.example/winning-creative.wbn',
      'bid:' <bidValue>
    }
    

অস্থায়ী ক্ষতি/জয় প্রতিবেদন বাস্তবায়ন

নিলাম প্রতিবেদনের জন্য Chrome এ সাময়িকভাবে দুটি পদ্ধতি উপলব্ধ রয়েছে:

  • forDebuggingOnly.reportAdAuctionLoss()
  • forDebuggingOnly.reportAdAuctionWin()

এই পদ্ধতিগুলির প্রতিটি একটি একক যুক্তি নেয়: নিলাম শেষ হওয়ার পরে একটি URL আনার জন্য৷ বিভিন্ন ইউআরএল আর্গুমেন্ট সহ scoreAd() এবং generateBid() উভয় ক্ষেত্রেই তাদের একাধিকবার বলা যেতে পারে।

ক্রোম শুধুমাত্র ডিবাগ ক্ষতি/জয় রিপোর্ট পাঠায় যখন একটি নিলাম সম্পূর্ণ হয়। যদি একটি নিলাম বাতিল করা হয় (উদাহরণস্বরূপ, একটি নতুন নেভিগেশনের কারণে) কোনো প্রতিবেদন তৈরি করা হবে না।

chrome://flags/#privacy-sandbox-ads-apis সক্ষম থাকলে এই পদ্ধতিগুলি Chrome-এ ডিফল্টরূপে উপলব্ধ থাকে৷ কিন্তু, আপনি যদি সুরক্ষিত শ্রোতা সক্ষম করতে কমান্ড লাইন পতাকা সহ Chrome চালান, তাহলে আপনাকে BiddingAndScoringDebugReportingAPI পতাকা অন্তর্ভুক্ত করে পদ্ধতিগুলিকে স্পষ্টভাবে সক্ষম করতে হবে৷ পতাকা সক্ষম না হলে, পদ্ধতিগুলি এখনও উপলব্ধ থাকবে কিন্তু কিছুই করবেন না।

8. একটি বিজ্ঞাপন ক্লিক রিপোর্ট করা হয়

বিক্রেতা এবং ক্রেতাদের কাছে রিপোর্টের ডেটা সহ একটি নিউজ ওয়েবসাইটে, একটি বেড়াযুক্ত ফ্রেমের ভিতরে, একজন ব্যক্তিকে একটি বাইকের বিজ্ঞাপনে ক্লিক করার দৃষ্টান্ত।

একটি বেড়াযুক্ত ফ্রেমে রেন্ডার করা একটি বিজ্ঞাপনে একটি ক্লিক রিপোর্ট করা হয়েছে৷ এটি কীভাবে কাজ করতে পারে সে সম্পর্কে আরও জানতে, বেড়াযুক্ত ফ্রেম বিজ্ঞাপন প্রতিবেদন দেখুন।



নীচের চিত্রটি সুরক্ষিত দর্শক বিজ্ঞাপন নিলামের প্রতিটি পর্যায়ের রূপরেখা দেয়:

একটি সুরক্ষিত শ্রোতা বিজ্ঞাপন নিলামের প্রতিটি পর্যায়ের একটি ওভারভিউ প্রদানকারী চিত্র


সুরক্ষিত শ্রোতা এবং TURTLEDOVE-এর মধ্যে পার্থক্য কী?

Protected Audience হল প্রথম পরীক্ষা যা Chromium-এ TURTLEDOVE প্রস্তাবনার পরিবারের মধ্যে প্রয়োগ করা হয়েছে৷

সুরক্ষিত দর্শক TURTLEDOVE-এর উচ্চ-স্তরের নীতি অনুসরণ করে। কিছু অনলাইন বিজ্ঞাপন একটি সম্ভাব্য-আগ্রহী ব্যক্তিকে বিজ্ঞাপন দেখানোর উপর ভিত্তি করে তৈরি করা হয়েছে যিনি পূর্বে বিজ্ঞাপনদাতা বা বিজ্ঞাপন নেটওয়ার্কের সাথে ইন্টারঅ্যাক্ট করেছেন। ঐতিহাসিকভাবে এটি বিজ্ঞাপনদাতাদের দ্বারা কাজ করেছে যখন তারা ওয়েব সাইট জুড়ে ব্রাউজ করার সময় একটি নির্দিষ্ট ব্যক্তিকে স্বীকৃতি দেয়, যা আজকের ওয়েবের সাথে একটি মূল গোপনীয়তা উদ্বেগ।

TURTLEDOVE প্রচেষ্টা হল কিছু মূল গোপনীয়তা অগ্রগতি অফার করার সময় এই ব্যবহারের ক্ষেত্রে মোকাবেলা করার জন্য একটি নতুন API অফার করা:

  • ব্রাউজার, বিজ্ঞাপনদাতা নয়, বিজ্ঞাপনদাতা মনে করেন যে একজন ব্যক্তি আগ্রহী সে সম্পর্কে তথ্য ধারণ করে৷
  • বিজ্ঞাপনদাতারা আগ্রহের উপর ভিত্তি করে বিজ্ঞাপন পরিবেশন করতে পারে, কিন্তু সেই আগ্রহকে একজন ব্যক্তির সম্পর্কে অন্যান্য তথ্যের সাথে একত্রিত করতে পারে না — বিশেষ করে, তারা কে বা তারা কোন পৃষ্ঠাটি পরিদর্শন করছে।

সুরক্ষিত শ্রোতা TURTLEDOVE থেকে বেড়েছে এবং এপিআই ব্যবহার করবে এমন ডেভেলপারদের ভালোভাবে পরিবেশন করার জন্য পরিবর্তনের জন্য সম্পর্কিত প্রস্তাবগুলির একটি সংগ্রহ:

  • স্প্যারোতে : ক্রিটিও একটি বিশ্বস্ত এক্সিকিউশন এনভায়রনমেন্টে (টিইই) চলমান একটি ("গেটকিপার") পরিষেবা মডেল যুক্ত করার প্রস্তাব করেছে৷ সুরক্ষিত দর্শকদের মধ্যে রিয়েল-টাইম ডেটা লুকআপ এবং সমষ্টিগত প্রতিবেদনের জন্য TEE-এর আরও সীমিত ব্যবহার অন্তর্ভুক্ত।
  • নেক্সটরোলের TERN এবং Magnite-এর PARRROT প্রস্তাবগুলি ডিভাইসের নিলামে ক্রেতা এবং বিক্রেতাদের বিভিন্ন ভূমিকা বর্ণনা করেছে৷ সুরক্ষিত দর্শকের বিজ্ঞাপন বিডিং/স্কোরিং প্রবাহ এই কাজের উপর ভিত্তি করে।
  • RTB হাউসের ফলাফল-ভিত্তিক এবং পণ্য-স্তরের TURTLEDOVE পরিবর্তনগুলি ডিভাইসে নিলামের বেনামী মডেল এবং ব্যক্তিগতকরণের ক্ষমতাকে উন্নত করেছে
  • PARAKEET হল একটি TURTLEDOVE-এর মতো বিজ্ঞাপন পরিষেবার জন্য মাইক্রোসফ্টের প্রস্তাব যা ব্রাউজার এবং অ্যাডটেক প্রদানকারীদের মধ্যে একটি TEE তে চলমান একটি প্রক্সি সার্ভারের উপর নির্ভর করে, বিজ্ঞাপনের অনুরোধগুলিকে বেনামী করতে এবং গোপনীয়তা বৈশিষ্ট্যগুলি প্রয়োগ করতে৷ সুরক্ষিত শ্রোতা এই প্রক্সি মডেল গ্রহণ করেনি। আমরা PARAKEET এবং সুরক্ষিত দর্শকদের জন্য জাভাস্ক্রিপ্ট এপিআই নিয়ে আসছি, উভয় প্রস্তাবের সেরা বৈশিষ্ট্যগুলিকে আরও একত্রিত করার জন্য ভবিষ্যতের কাজের সমর্থনে।

সুরক্ষিত শ্রোতারা এখনও কোনও ওয়েবসাইটের বিজ্ঞাপন নেটওয়ার্ককে কোনও ব্যক্তি কোন বিজ্ঞাপনগুলি দেখে তা শিখতে বাধা দেয় না৷ আমরা সময়ের সাথে সাথে আরও ব্যক্তিগত হওয়ার জন্য API-কে সংশোধন করার আশা করি।

কি ব্রাউজার কনফিগারেশন উপলব্ধ?

ব্যবহারকারীরা chrome://settings/adPrivacy-এ শীর্ষ-স্তরের সেটিং সক্ষম বা অক্ষম করে Chrome-এ গোপনীয়তা স্যান্ডবক্স ট্রায়ালের জন্য তাদের অংশগ্রহণ সামঞ্জস্য করতে পারে৷ প্রাথমিক পরীক্ষার সময়, লোকেরা সুরক্ষিত দর্শকদের অপ্ট আউট করতে এই উচ্চ-স্তরের গোপনীয়তা স্যান্ডবক্স সেটিংস ব্যবহার করতে সক্ষম হবে। ক্রোম ব্যবহারকারীদের আগ্রহের গোষ্ঠীগুলির তালিকা দেখতে এবং পরিচালনা করার অনুমতি দেওয়ার পরিকল্পনা করেছে যা তারা যে সমস্ত ওয়েব সাইটগুলি পরিদর্শন করেছে জুড়ে তাদের যোগ করা হয়েছে৷ প্রাইভেসি স্যান্ডবক্স প্রযুক্তির মতো, ব্যবহারকারীর সেটিংস ব্যবহারকারী, নিয়ন্ত্রক এবং অন্যদের কাছ থেকে প্রতিক্রিয়ার সাথে বিকশিত হতে পারে।

পরীক্ষা এবং প্রতিক্রিয়ার উপর ভিত্তি করে সুরক্ষিত দর্শক প্রস্তাবের অগ্রগতির সাথে সাথে আমরা Chrome-এ উপলব্ধ সেটিংস আপডেট করা চালিয়ে যাব। ভবিষ্যতে, আমরা সুরক্ষিত শ্রোতা এবং সংশ্লিষ্ট ডেটা পরিচালনা করার জন্য আরও দানাদার সেটিংস অফার করার পরিকল্পনা করছি।

ব্যবহারকারীরা ছদ্মবেশী মোডে ব্রাউজ করলে API কলাররা গোষ্ঠীর সদস্যপদ অ্যাক্সেস করতে পারে না এবং ব্যবহারকারীরা তাদের সাইটের ডেটা সাফ করলে সদস্যপদ সরানো হয়।



জড়িত এবং মতামত শেয়ার করুন

সমর্থন পেতে

আপনার বাস্তবায়ন সম্পর্কে, ডেমো সম্পর্কে বা ডকুমেন্টেশন সম্পর্কে একটি প্রশ্ন জিজ্ঞাসা করতে: * গোপনীয়তা-স্যান্ডবক্স-দেব-সমর্থন সংগ্রহস্থলে একটি নতুন সমস্যা খুলুন । সুরক্ষিত দর্শকদের জন্য সমস্যা টেমপ্লেট নির্বাচন করা নিশ্চিত করুন। * গিটহাবের ডেমো কোড রেপোতে একটি সমস্যা উত্থাপন করুন। * API এর সাথে আপনার ব্যবহারের ক্ষেত্রে কীভাবে পূরণ করবেন সে সম্পর্কে আরও সাধারণ প্রশ্নের জন্য, প্রস্তাব সংগ্রহস্থলে একটি সমস্যা ফাইল করুন

ক্রোমে প্রোটেক্টেড অডিয়েন্স এপিআই বাস্তবায়নে বাগ এবং সমস্যার জন্য: * API-এর জন্য রিপোর্ট করা বিদ্যমান সমস্যাগুলি দেখুন । * crbug.com/new এ একটি নতুন সমস্যা উত্থাপন করুন।

আপডেট পান

আরও খোঁজ


আনস্প্ল্যাশে রে হেনেসির ছবি।