কীভাবে একটি সুরক্ষিত শ্রোতা API নিলাম কনফিগার করবেন তা শিখুন।
বিক্রেতাদের দ্বারা পরিচালিত অন-ডিভাইস নিলাম
একটি অন-ডিভাইস প্রোটেক্টেড অডিয়েন্স নিলাম এমন একটি সাইটে পরিচালিত হয় যেখানে বিজ্ঞাপনের স্থান বিক্রি করা হয় এবং আমরা নিলাম পরিচালনাকারী পক্ষকে বিক্রেতা হিসাবে উল্লেখ করি। অনেক পক্ষ বিক্রেতা হিসাবে কাজ করতে পারে: একটি সাইট নিজস্ব বিজ্ঞাপন নিলাম পরিচালনা করতে পারে, অথবা এর জন্য নিলাম পরিচালনা করার জন্য একটি তৃতীয় পক্ষের স্ক্রিপ্ট অন্তর্ভুক্ত করতে পারে, অথবা একটি SSP ব্যবহার করতে পারে যা অন-ডিভাইস নিলাম পরিচালনার সাথে অন্যান্য সার্ভার-সাইড বিজ্ঞাপন নিলাম কার্যকলাপকে একত্রিত করে। অন-ডিভাইস বিজ্ঞাপন নিলামে বিক্রেতাদের তিনটি মৌলিক কাজ রয়েছে:
- বিক্রেতারা সিদ্ধান্ত নেন (ক) কোন ক্রেতারা অংশগ্রহণ করতে পারবেন, এবং (খ) সেই ক্রেতাদের আগ্রহের গোষ্ঠীগুলির কোন দর নিলামে প্রবেশের যোগ্য। এর ফলে বিক্রেতা পৃষ্ঠায় কোন বিজ্ঞাপনগুলি প্রদর্শিত হতে পারে তার জন্য সাইটের নিয়মগুলি প্রয়োগ করতে পারবেন।
- নিলামের ব্যবসায়িক যুক্তির জন্য বিক্রেতারা দায়ী: জাভাস্ক্রিপ্ট কোড যা প্রতিটি বিডের মূল্য এবং মেটাডেটা বিবেচনা করে এবং "আকাঙ্ক্ষাযোগ্যতা" স্কোর গণনা করে। সর্বোচ্চ আকাঙ্ক্ষাযোগ্যতা স্কোর সহ বিড নিলামে জয়ী হয়।
- বিক্রেতারা নিলামের ফলাফলের উপর প্রতিবেদন তৈরি করেন, যার মধ্যে ক্লিয়ারিং মূল্য এবং অন্যান্য পে-আউট সম্পর্কিত তথ্য অন্তর্ভুক্ত থাকে। বিজয়ী এবং পরাজিত ক্রেতারাও তাদের নিজস্ব প্রতিবেদন তৈরি করতে পারেন।
এই নথিতে ব্যাখ্যা করা হবে কিভাবে একটি অন-ডিভাইস নিলাম কনফিগার এবং শুরু করতে হয়।
একটি সুরক্ষিত দর্শক API বিজ্ঞাপন নিলাম কনফিগার করুন
একটি Protected Audience API বিজ্ঞাপন নিলাম চালানোর জন্য, প্রথম ধাপ হল নিলামটি কনফিগার করা। এটি একটি auctionConfig অবজেক্ট তৈরি করে করা হয়। এখানে এমন একটি কনফিগারেশনের উদাহরণ দেওয়া হল:
const auctionConfig = {
seller: 'https://seller.example',
decisionLogicUrl: ...,
trustedScoringSignalsUrl: ...,
interestGroupBuyers: ['https://buyer-1.example', 'https://buyer-2.example', ...],
auctionSignals: {...},
sellerSignals: {...},
sellerTimeout: 100,
perBuyerSignals: {
'https://buyer-1.example': {...},
'https://buyer-2.example': {...},
...
},
perBuyerTimeouts: {
'https://buyer-1.example': 50,
'https://buyer-2.example': 200,
'*': 150,
...
},
componentAuctions: [
{
'seller': 'https://component-seller.example',
'decisionLogicUrl': ...,
...
},
...
],
resolveToConfig: [true|false],
};
AuctionConfig বৈশিষ্ট্য
প্রয়োজনীয় বৈশিষ্ট্য
auctionConfigs জন্য শুধুমাত্র প্রয়োজনীয় বৈশিষ্ট্যগুলি হল seller , decisionLogicUrl , এবং interestGroupBuyers ।
| সম্পত্তি | উদাহরণ | ভূমিকা |
|---|---|---|
| বিক্রেতা | https://seller.example | বিক্রেতার উৎপত্তি। |
| decisionLogicUrl সম্পর্কে | https://seller.example/decision-logic.js | নিলাম জাভাস্ক্রিপ্ট ডিসিশন লজিক ওয়ার্কলেটের URL। এই ফিল্ডটি বিক্রেতা ফিল্ডের মতো একই উৎসের হতে হবে। |
| ইন্টারেস্টগ্রুপবায়ার্স | [https://buyer-1.example, https://buyer-2.example, ...] | নিলামে দরপত্র আহ্বান করা সকল স্বার্থ গোষ্ঠীর মালিকদের উৎপত্তি |
ঐচ্ছিক বৈশিষ্ট্য
auctionConfigs জন্য অবশিষ্ট সম্পত্তি ঐচ্ছিক।
| সম্পত্তি | উদাহরণ | ভূমিকা |
|---|---|---|
| বিশ্বস্ত স্কোরিংসিগন্যাল ইউআরএল | https://seller.example/scoring-signals | বিক্রেতার কী/মান সার্ভারের URL। বিজ্ঞাপন স্কোরিং প্রক্রিয়ার সময় এটি অনুসন্ধান করা হবে ক্রিয়েটিভের রেন্ডার URL ব্যবহার করে যা কী হিসেবে ব্যবহৃত হয়। এই ক্ষেত্রটির উৎপত্তি বিক্রেতার ক্ষেত্রের মতোই হওয়া উচিত। |
| নিলাম সংকেত | {"বিভাগ":"সংবাদ"} | নিলামে অংশগ্রহণকারী সকল ক্রেতা এবং বিক্রেতার জন্য উপলব্ধ সংকেতগুলির প্রতিনিধিত্বকারী JSON সিরিয়ালাইজেবল অবজেক্ট। |
| বিক্রেতা সংকেত | {...} | JSON সিরিয়ালাইজেবল অবজেক্ট যা শুধুমাত্র বিক্রেতাদের জন্য উপলব্ধ সংকেত উপস্থাপন করে। |
| perBuyerSignals সম্পর্কে | {https://dsp.উদাহরণ: {...}, https://another-buyer.example: {...}, ... } | নির্দিষ্ট ক্রেতার কাছে উপলব্ধ সংকেত। সংকেতগুলি বিক্রেতাদের কাছ থেকে এবং ক্রেতাদের কাছ থেকেও আসতে পারে। |
| perBuyerTimeouts সম্পর্কে | {https://www.example-dsp.com: ৫০, https://www.another-buyer.com: ২০০, *: ১৫০, ...}, | একটি নির্দিষ্ট ক্রেতার generateBid() স্ক্রিপ্টের সর্বোচ্চ রানটাইম মিলিসেকেন্ডে। প্রতিটি ক্রেতার জন্য একটি ওয়াইল্ডকার্ড প্রতীক প্রয়োগ করা হবে যার নির্দিষ্ট সময়সীমা নির্ধারিত নেই। |
| বিক্রেতার সময়সীমা | ১০০ | বিক্রেতার scoreAd() স্ক্রিপ্টের সর্বোচ্চ রানটাইম মিলিসেকেন্ডে। |
| উপাদান নিলাম | [{বিক্রেতা: https://www.some-other-ssp.com, decisionLogicUrl: ..., ...}, ...] | উপাদান নিলামের জন্য অতিরিক্ত কনফিগারেশন। |
| resolveToConfig সম্পর্কে | সত্য|মিথ্যা | একটি বুলিয়ান যা runAdAuction() থেকে FencedFrameConfig-এ রিসোলভ করার প্রতিশ্রুতি প্রদান করে, যদি সত্য হয় (<fencedframe>-এ ব্যবহারের জন্য), অথবা একটি opaque urn:uuid URL-এ যদি মিথ্যা হয় (<iframe>-এ ব্যবহারের জন্য)। ডিফল্টভাবে মিথ্যা। |
অ্যাসিঙ্ক্রোনাসভাবে সিগন্যাল সরবরাহ করুন
কিছু সিগন্যালের মান (যা auctionSignals , sellerSignals , perBuyerSignals , এবং perBuyerTimeouts ক্ষেত্র দ্বারা কনফিগার করা হয়েছে) ঐচ্ছিকভাবে নির্দিষ্ট মান হিসেবে নয়, বরং প্রতিশ্রুতি হিসেবে প্রদান করা যেতে পারে। এটি নিলামের কিছু অংশ, যেমন স্ক্রিপ্ট এবং বিশ্বস্ত সংকেত লোড করা এবং বিচ্ছিন্ন ওয়ার্কলেট প্রক্রিয়া চালু করা, সেই মানগুলির গণনা (অথবা নেটওয়ার্ক পুনরুদ্ধার) ওভারল্যাপ করার অনুমতি দেয়। ওয়ার্কলেট স্ক্রিপ্টগুলি কেবল সমাধান করা মানগুলি দেখতে পাবে; যদি এই ধরনের কোনও প্রতিশ্রুতি প্রত্যাখ্যান করা হয়, তাহলে নিলাম বাতিল করা হবে যদি না এটি ইতিমধ্যেই ব্যর্থ হয় বা অন্য কোনও উপায়ে বাতিল করা হয়।
একাধিক বিক্রেতার সাথে একটি নিলাম কনফিগার করুন
কিছু ক্ষেত্রে, একাধিক বিক্রেতা একটি নিলামে অংশগ্রহণ করতে চাইতে পারেন, যেখানে পৃথক নিলামের বিজয়ীদের অন্য একটি নিলামে প্রেরণ করা হয়, যা অন্য বিক্রেতা দ্বারা পরিচালিত হয়। এই পৃথক নিলামগুলি প্রেরণ করা হয় যাকে উপাদান নিলাম বলা হয়। এই উপাদান নিলামগুলিকে সহজতর করার জন্য, componentAuctions অবজেক্টে প্রতিটি বিক্রেতার উপাদান নিলামের জন্য অতিরিক্ত নিলাম কনফিগারেশন থাকতে পারে। এই প্রতিটি উপাদান নিলামের বিজয়ী দর "শীর্ষ-স্তরের" নিলামে প্রেরণ করা হবে যা নিলামের চূড়ান্ত নির্ধারণ করে। উপাদান নিলামের auctionConfig এর নিজস্ব componentAuctions নাও থাকতে পারে। যখন componentAuctions খালি থাকে না, তখন interestGroupBuyers খালি থাকতে হবে। অর্থাৎ, যেকোনো নির্দিষ্ট Protected Audience নিলামের জন্য, হয় একজন একক বিক্রেতা থাকবে এবং কোনও উপাদান নিলাম থাকবে না, অথবা অন্যথায় সমস্ত বিড উপাদান নিলাম থেকে আসে এবং শীর্ষ-স্তরের নিলাম শুধুমাত্র উপাদান নিলামের বিজয়ীদের মধ্যে থেকে বেছে নিতে পারে।
নিলাম চালান
বিক্রেতা navigator.runAdAuction() এ কল করে ব্যবহারকারীর ব্রাউজারে বিজ্ঞাপন নিলাম শুরু করার জন্য অনুরোধ করেন।
try {
const auctionResultPromise = navigator.runAdAuction(auctionConfig);
} catch (error) {
// Handle error.
}
runAdAuction() কলটি এমন একটি প্রতিশ্রুতি প্রদান করে যা বিজ্ঞাপনটির সমাধান করে। প্রকাশক পৃষ্ঠার কোনও কোডের পক্ষে runAdAuction() এর ফলাফল থেকে বিজয়ী বিজ্ঞাপনটি পরীক্ষা করা বা এর বিষয়বস্তু সম্পর্কে জানা সম্ভব নয়। যদি AuctionConfig এ resolveToConfig ফ্ল্যাগটি সত্য হিসাবে সেট করা থাকে, তাহলে একটি FencedFrameConfig অবজেক্ট ফেরত পাঠানো হয় যা কেবল একটি বেড়াযুক্ত ফ্রেমে রেন্ডার করা যেতে পারে। যদি পতাকাটি মিথ্যা হিসাবে সেট করা থাকে, তাহলে একটি অস্বচ্ছ URN ফেরত পাঠানো হয় যা একটি iframe এ রেন্ডার করা যেতে পারে। এটা সম্ভব যে runAdAuction একটি নাল মান ফেরত পাঠায়, যা নির্দেশ করে যে কোনও বিজ্ঞাপন নির্বাচন করা হয়নি। এই ক্ষেত্রে বিক্রেতা একটি প্রাসঙ্গিকভাবে লক্ষ্যযুক্ত বিজ্ঞাপন রেন্ডার করতে বেছে নিতে পারেন।