একজন বিজ্ঞাপন ক্রেতা (ডিএসপি এবং বিজ্ঞাপনদাতা) হিসেবে, আপনি প্রকাশক সাইটে একটি সুরক্ষিত দর্শক বিজ্ঞাপন নিলামে অংশগ্রহণ করতে আগ্রহী হতে পারেন যাতে বিজ্ঞাপনদাতার সাইটে আপনার সংজ্ঞায়িত আগ্রহ গোষ্ঠীর জন্য একটি বিজ্ঞাপন লক্ষ্য করা যায়। সুরক্ষিত দর্শক নিলামে অংশগ্রহণ করে, আপনি গোপনীয়তা-সংরক্ষণের উপায়ে অন্যান্য সাইটে আপনার চিহ্নিত গ্রাহকদের কাছে পৌঁছাতে সক্ষম হন।
একটি সুরক্ষিত দর্শক নিলামে, আপনি বিড তৈরির জন্য যুক্তি প্রদান করেন এবং ব্রাউজার সেই যুক্তি ব্যবহার করে বিড গণনা করে। এটি অন্যান্য নিলাম আর্কিটেকচারের বিপরীতে যেখানে আপনি যুক্তি প্রদানের পরিবর্তে সরাসরি বিড জমা দেন।
আপনি generateBid() জাভাস্ক্রিপ্ট ফাংশনে আপনার বিড জেনারেশন লজিক সরবরাহ করেন এবং ফাইলটি আপনার সার্ভারে হোস্ট করা হয়। যখন আপনি একটি ইন্টারেস্ট গ্রুপে একজন ব্যবহারকারী যোগ করেন , তখন এই ফাইলের অবস্থানটি biddingLogicUrl হিসাবে ইন্টারেস্ট গ্রুপ কনফিগারে পাঠানো হয়।
নিলামের সময়, ব্রাউজারটি biddingLogicUrl ক্ষেত্রে উল্লেখিত আপনার বিডিং লজিকটি সংগ্রহ করে এবং প্রতিটি আগ্রহী গোষ্ঠীর জন্য আপনার generateBid() ফাংশনটি একটি নিরাপদ বিচ্ছিন্ন পরিবেশে কার্যকর করে যা বাইরের প্রসঙ্গের সাথে যোগাযোগের ক্ষেত্রে সীমিত। যখন generateBid() কার্যকর করা হয়, তখন ব্রাউজারটি ফাংশনে আর্গুমেন্ট হিসাবে সংকেত প্রেরণ করে। এই সংকেতগুলিতে বিভিন্ন উৎস থেকে বিভিন্ন তথ্য থাকে, যেমন প্রকাশকের প্রথম-পক্ষের ডেটা, বিক্রেতার ডেটা, রিয়েল-টাইম ডেটা এবং আরও অনেক কিছু। আপনি বিড গণনা করতে এই সংকেতগুলি ব্যবহার করতে পারেন এবং generateBid() কল থেকে মান ফেরত পাঠানো হয়। বিড জমা দেওয়ার পরে, ব্রাউজার বিক্রেতার পছন্দনীয় স্কোর গণনা করার জন্য প্রতিটি বিডে বিক্রেতার স্কোরিং লজিক কার্যকর করবে।
generateBid()
নিম্নলিখিতটি generateBid() ফাংশনের আর্গুমেন্ট এবং ফাংশন থেকে ফিরে আসা বিডের কাঠামো বর্ণনা করে:
generateBid(interestGroup, auctionSignals, perBuyerSignals,
trustedBiddingSignals, browserSignals, directFromSellerSignals) {
return {
ad: adObject,
adCost: optionalAdCost,
bid: bidValue,
bidCurrency: 'USD',
render: {
url: renderURL,
width: renderWidth,
height: renderHeight
},
adComponents: [
{url: adComponent1, width: componentWidth1, height: componentHeight1},
{url: adComponent2, width: componentWidth2, height: componentHeight2},
// ...
],
allowComponentAuction: false,
modelingSignals: 123 // 0-4095 integer (12-bits)
};
}
যুক্তি
generateBid() নিম্নলিখিত আর্গুমেন্ট গ্রহণ করে:
| যুক্তি | ভূমিকা |
|---|---|
| বিজ্ঞাপন ক্রেতার কাছে একটি বস্তু পাঠানো হয়েছে। আগ্রহের গোষ্ঠীটি dailyUpdateUrl দিয়ে আপডেট করা যেতে পারে। |
| বিক্রেতা কর্তৃক navigator.runAdAuction() এ পাস করা নিলাম কনফিগ আর্গুমেন্টের একটি বৈশিষ্ট্য। এটি পৃষ্ঠার প্রসঙ্গ (যেমন বিজ্ঞাপনের আকার এবং প্রকাশক আইডি), নিলামের ধরণ (প্রথম-মূল্য বা দ্বিতীয়-মূল্য) এবং অন্যান্য মেটাডেটা সম্পর্কে তথ্য প্রদান করে। |
| বিক্রেতা কর্তৃক পাস করা নিলাম কনফিগ আর্গুমেন্টের একটি বৈশিষ্ট্য। এটি ক্রেতার সার্ভার থেকে পৃষ্ঠা সম্পর্কে প্রাসঙ্গিক সংকেত সরবরাহ করতে পারে, যদি বিক্রেতা একজন SSP হয় যা ক্রেতার সার্ভারগুলিতে একটি রিয়েল-টাইম বিডিং কল করে এবং প্রতিক্রিয়াটি পাইপ করে, অথবা যদি প্রকাশক পৃষ্ঠাটি সরাসরি ক্রেতার সার্ভারের সাথে যোগাযোগ করে। যদি তাই হয়, তাহলে ক্রেতা টেম্পারিং থেকে সুরক্ষা হিসাবে generateBid() এর ভিতরে সেই সংকেতগুলির একটি ক্রিপ্টোগ্রাফিক স্বাক্ষর পরীক্ষা করতে চাইতে পারেন। |
| এমন একটি অবজেক্ট যার কীগুলি হল আগ্রহ গোষ্ঠীর জন্য trustedBiddingSignalsKeys , এবং যার মানগুলি trustedBiddingSignals অনুরোধে ফেরত পাঠানো হয়। |
| ব্রাউজার দ্বারা নির্মিত একটি অবজেক্ট, যাতে পৃষ্ঠার প্রেক্ষাপট সম্পর্কে তথ্য থাকতে পারে (যেমন বর্তমান পৃষ্ঠার hostname , যা বিক্রেতা অন্যথায় জাল করতে পারে) এবং আগ্রহী গোষ্ঠীর জন্য ডেটা (যেমন ডিভাইসে ফ্রিকোয়েন্সি ক্যাপিং অনুমোদনের জন্য গোষ্ঠীটি পূর্বে কখন নিলাম জিতেছিল তার রেকর্ড)। |
| একটি নির্দিষ্ট বিক্রেতার কাছ থেকে আসা সংকেত, auctionSignals এবং sellerSignals এর বিপরীতে যা runAdAuction কার্যকর করার প্রেক্ষাপটে উপস্থিত যেকোনো অংশগ্রহণকারীর কাছ থেকে আসতে পারে। |
ব্রাউজার সিগন্যাল
browserSignals অবজেক্টের নিম্নলিখিত বৈশিষ্ট্য রয়েছে:
{
topWindowHostname: 'publisher.example',
seller: 'https://ssp.example',
topLevelSeller: 'https://www.top-level-ssp.com',
requestedSize: {width: 100, height: 200}, /* if specified in auction config */
joinCount: 3,
recency: 3600000,
bidCount: 17,
prevWinsMs: [[timeDeltaMs1,ad1],[timeDeltaMs2,ad2],...],
wasmHelper: ...
dataVersion: 1,
adComponentsLimit: 40
}
| সম্পত্তি | বিবরণ |
|---|---|
| যেখানে runAdAuction() কল করা হয়েছিল তার হোস্টনেম। |
| যে বিক্রেতার কাছে দরপত্র জমা দেওয়া হয়েছে। একটি কম্পোনেন্ট নিলামে, এই মূল্য হল কম্পোনেন্ট বিক্রেতা। |
| একটি উপাদান নিলামে শীর্ষ-স্তরের বিক্রেতা, এবং শুধুমাত্র একটি উপাদান নিলামে উপস্থিত থাকে। |
| requestedSize প্রপার্টি নিলামের জন্য একটি ফ্রেম সাইজ সুপারিশ করে। বিক্রেতা নিলাম কনফিগারেশনে অনুরোধকৃত সাইজ সেট করে এবং মানটি generateBid() এ দরদাতাদের কাছে উপলব্ধ হয়। নিলামের ভিতরে দরদাতারা বিজ্ঞাপনের জন্য একটি ভিন্ন কন্টেন্ট সাইজ বেছে নিতে পারেন এবং ফলস্বরূপ আকারটি দৃশ্যত উপাদানের কন্টেইনার সাইজের মধ্যে ফিট করার জন্য স্কেল করা হবে। |
| joinCount ক্ষেত্রটি হল গত 30 দিনে এই ডিভাইসটি কতবার এই আগ্রহ গোষ্ঠীতে যোগ দিয়েছে, যখন আগ্রহ গোষ্ঠীটি ক্রমাগত সংরক্ষণ করা হয়েছে (অর্থাৎ, সদস্যপদ ছেড়ে যাওয়ার কারণে বা মেয়াদ শেষ হওয়ার কারণে ডিভাইসে আগ্রহ গোষ্ঠীর স্টোরেজে কোনও ফাঁক নেই)। |
| recency ক্ষেত্র হল এই ডিভাইসটি যখন এই আগ্রহের গোষ্ঠীতে যোগদান করেছে তখন থেকে এখন পর্যন্ত সময়ের সময়কাল (মিনিটের মধ্যে) |
| সেই আগ্রহী গোষ্ঠী কতবার দর জমা দিয়েছে। |
| prevWinMs ক্ষেত্রে আগ্রহ গোষ্ঠীর বিজয়ী বিজ্ঞাপন এবং তাদের পূর্ববর্তী জয়ের পর থেকে সময় মিলিসেকেন্ডে দেখানো হয়েছে। মনে রাখবেন যে এখানে বিজ্ঞাপনের বস্তুটিতে কেবল renderURL এবং মেটাডেটা ক্ষেত্র রয়েছে। |
| আগ্রহ গোষ্ঠীর biddingWasmHelperURL উপর ভিত্তি করে একটি WebAssembly.Module অবজেক্ট। |
| ক্রেতার কী/মান পরিষেবা প্রতিক্রিয়া(গুলি) থেকে ডেটা-সংস্করণ মান। |
| generateBid() রিটার্ন করতে পারে এমন বিজ্ঞাপন উপাদানের সর্বাধিক সংখ্যা |
একটি বিড গণনা করুন
একটি বিড মান গণনা করতে, generateBid() এর কোড ফাংশনের প্যারামিটারের বৈশিষ্ট্য ব্যবহার করতে পারে।
উদাহরণস্বরূপ:
function generateBid(interestGroup, auctionSignals, perBuyerSignals,
trustedBiddingSignals, browserSignals) {
return {
// ...
bid: auctionSignals.is_above_the_fold ? perBuyerSignals.atf_value : perBuyerSignals.btf_value,
// ...
}
}
একটি বিড ফেরত দিন
generateBid() নিম্নলিখিত বৈশিষ্ট্য সহ একটি বস্তু ফেরত পাঠায়:
| সম্পত্তি | ভূমিকা |
|---|---|
ad | বিজ্ঞাপন সম্পর্কে ইচ্ছামত মেটাডেটা, যেমন বিক্রেতা এই বিড বা বিজ্ঞাপন সৃজনশীল সম্পর্কে জানতে চান এমন তথ্য। বিক্রেতা তার নিলাম এবং সিদ্ধান্তের যুক্তিতে এই তথ্য ব্যবহার করেন। |
adCost | রিপোর্টিং বিজ্ঞাপনদাতার ক্লিক বা রূপান্তর খরচ generateBid থেকে reportWin-এ পাস করার জন্য ব্যবহৃত একটি সংখ্যাসূচক মান। এই সংখ্যার নির্ভুলতা 8-বিট ম্যান্টিসা এবং 8-বিট এক্সপোনেন্টের মধ্যে সীমাবদ্ধ, যেকোনো রাউন্ডিং স্টোকাস্টিকভাবে করা হয়। |
adComponents | একাধিক অংশের সমন্বয়ে গঠিত বিজ্ঞাপনের জন্য সর্বোচ্চ ২০টি উপাদানের একটি ঐচ্ছিক তালিকা, যা navigator.joinAdInterestGroup() এ পাঠানো ইন্টারেস্ট গ্রুপ আর্গুমেন্টের adComponents সম্পত্তি থেকে নেওয়া হয়েছে। |
allowComponentAuction | একটি বুলিয়ান মান যা নির্দেশ করে যে এই বিডটি কোনও উপাদান নিলামে ব্যবহার করা যেতে পারে কিনা। নির্দিষ্ট না করা থাকলে ডিফল্টভাবে "মিথ্যা" হিসেবে বিবেচিত হবে। |
bid | একটি সংখ্যাসূচক দর যা নিলামে প্রবেশ করবে। বিক্রেতাকে অবশ্যই বিভিন্ন ক্রেতার দর তুলনা করার মতো অবস্থানে থাকতে হবে, তাই দরগুলি অবশ্যই বিক্রেতা-নির্বাচিত কিছু ইউনিটে (যেমন "প্রতি হাজারে USD") হতে হবে। যদি দর শূন্য বা ঋণাত্মক হয়, তাহলে এই আগ্রহ গোষ্ঠী বিক্রেতার নিলামে মোটেও অংশগ্রহণ করবে না। এই ব্যবস্থার সাহায্যে, ক্রেতা তাদের বিজ্ঞাপনগুলি কোথায় প্রদর্শিত হতে পারে বা নাও হতে পারে তার জন্য যেকোনো বিজ্ঞাপনদাতার নিয়ম বাস্তবায়ন করতে পারে। |
bidCurrency | মুদ্রা-পরীক্ষার জন্য ব্যবহৃত বিডের মুদ্রা। |
render | এই বিড নিলামে জেতা হলে কোন সৃজনশীলতা তৈরি করা উচিত তা বর্ণনা করে একটি অভিধান। এর মধ্যে রয়েছে:
|
| noising এবং bucketing স্কিমে বর্ণিত noising সহ reportWin() তে 0-4095 পূর্ণসংখ্যা (12-বিট) পাস করা হয়েছে। নেতিবাচক, অসীম এবং NaN মানের মতো অবৈধ মানগুলি উপেক্ষা করা হবে এবং পাস করা হবে না। কেবলমাত্র সর্বনিম্ন 12 বিট পাস করা হবে।ক্রেতা generateBid() ফাংশনের ভিতরে উপলব্ধ সিগন্যালগুলি ব্যবহার করতে পারেন, যার মধ্যে userBiddingSignals এ Interest Group তৈরির সময় ক্যাপচার করা প্রথম-পক্ষের ক্রেতার ডেটা অন্তর্ভুক্ত রয়েছে, যা কিছু মান অর্জন করে যা ক্রেতার win reporting ফাংশনে প্রেরণ করা হয় যাতে ML মডেল প্রশিক্ষণ সক্ষম করা যায়। |