বিক্রেতা নির্দেশিকা: বিজ্ঞাপন নিলাম চালান

সুরক্ষিত দর্শক API বিজ্ঞাপন নিলামের জন্য বিক্রেতা API নির্দেশিকা এবং রেফারেন্স।

এই প্রবন্ধে, আপনি বিজ্ঞাপন নিলামের জন্য একটি প্রযুক্তিগত রেফারেন্স পাবেন, যা পরীক্ষামূলক সুরক্ষিত দর্শক API-এর বর্তমান পুনরাবৃত্তিতে ব্যবহৃত হয়েছে।

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

ডেভেলপার নন? Protected Audience API ওভারভিউ দেখুন।

সুরক্ষিত দর্শক API বিজ্ঞাপন নিলাম কী?

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

একটি সুরক্ষিত দর্শক API বিজ্ঞাপন নিলামের ছয়টি ধাপ
একটি সুরক্ষিত দর্শক API বিজ্ঞাপন নিলামের ছয়টি ধাপ
এই চিত্রটি একটি সুরক্ষিত দর্শক API বিজ্ঞাপন নিলামের প্রতিটি পর্যায়ের রূপরেখা তুলে ধরে।
  1. একজন ব্যবহারকারী এমন একটি সাইট পরিদর্শন করেন যেখানে বিজ্ঞাপন দেখানো হয়।
  2. বিক্রেতার কোড navigator.runAdAuction() কার্যকর করে। এটি নির্দিষ্ট করে যে কোন বিজ্ঞাপন স্থান বিক্রয়ের জন্য এবং কারা বিড করতে পারবে। বিক্রেতাদের অবশ্যই একটি স্ক্রিপ্ট অন্তর্ভুক্ত করতে হবে যা প্রতিটি বিডকে স্কোর করে, scoreAd()
  3. আমন্ত্রিত ক্রেতার কোডটি একটি বিড, প্রাসঙ্গিক বিজ্ঞাপন সৃজনশীলের জন্য URL এবং অন্যান্য ডেটা তৈরি করতে কার্যকর হয়। বিডিং স্ক্রিপ্টটি ক্রেতার কী/মান পরিষেবা থেকে রিয়েল-টাইম ডেটা, যেমন অবশিষ্ট বিজ্ঞাপন প্রচারণার বাজেটের জন্য অনুসন্ধান করতে পারে।
  4. বিক্রেতার কোড প্রতিটি বিডকে স্কোর করে এবং একজন বিজয়ী নির্বাচন করে। এই লজিক বিডের মান এবং অন্যান্য ডেটা ব্যবহার করে একটি বিডের আকাঙ্ক্ষিততা ফেরত দেয়। যেসব বিজ্ঞাপন প্রাসঙ্গিক বিজয়ীকে ছাড়িয়ে যেতে পারে না, সেগুলি প্রত্যাখ্যান করা হয়। বিক্রেতা রিয়েল-টাইম ডেটার জন্য তাদের নিজস্ব কী/মান পরিষেবা ব্যবহার করতে পারেন।
  5. বিজয়ী বিজ্ঞাপনটি একটি অস্বচ্ছ মান হিসেবে ফেরত পাঠানো হবে, যা একটি বেড়াযুক্ত ফ্রেমে প্রদর্শিত হবে। বিক্রেতা এবং প্রকাশক উভয়ই এই মানটি দেখতে পারবেন না।
  6. নিলামের খবর বিক্রেতা এবং বিজয়ী ক্রেতাদের জানানো হয়।

নিলাম কখন অনুষ্ঠিত হবে?

সুরক্ষিত শ্রোতা API নিজে নিজে অথবা প্রোগ্রাম্যাটিক নিলামের মাধ্যমে চালানো যেতে পারে। একটি বহু-বিক্রেতা, প্রোগ্রাম্যাটিক নিলামে:

  1. ব্যবহারকারী একটি অংশগ্রহণকারী সাইট পরিদর্শন করেন।
  2. একটি উপলব্ধ বিজ্ঞাপন স্লটের জন্য একটি প্রাসঙ্গিক বিজ্ঞাপন খুঁজে বের করার জন্য অন্য বিক্রেতা একটি প্রোগ্রাম্যাটিক নিলাম পরিচালনা করে।
  3. সুরক্ষিত শ্রোতা API নিলাম পরিচালিত হচ্ছে।
  4. scoreAd() ক্রেতার দরপত্রের সাথে প্রথম নিলামের ফলাফলের তুলনা করে।

যেসব দরপত্র প্রাসঙ্গিক বিজয়ীকে ছাড়িয়ে যেতে পারে না, সেগুলো বাতিল করা হবে।

প্রোটেক্টেড অডিয়েন্স API বিজ্ঞাপন নিলাম কে পরিচালনা করে?

বিজ্ঞাপনের জায়গা বিক্রি করার জন্য একাধিক দল নিলাম চালাতে পারে।

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

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

Protected Audience API ব্যবহার করে, একজন বিক্রেতার তিনটি কাজ থাকে:

  • প্রকাশকের নিয়মাবলী কার্যকর করুন: কোন ক্রেতা এবং কোন দরপত্র যোগ্য।
  • রান অকশন লজিক: প্রতিটি বিডের জন্য একটি পছন্দসই স্কোর গণনা করার জন্য জাভাস্ক্রিপ্ট ওয়ার্কলেটে চালানো হয়।
  • নিলামের ফলাফল রিপোর্ট করুন।

এই কাজগুলি প্রোগ্রাম্যাটিকভাবে করা হয়, বিক্রেতার দ্বারা প্রদত্ত কোডে যখন এটি জাভাস্ক্রিপ্ট ফাংশন navigator.runAdAuction() কল করে একটি বিজ্ঞাপন নিলামের জন্য উৎসাহিত করে।

API ফাংশন

runAdAuction()

বিক্রেতা 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': ...,
      ...
    },
    ...
  ]
};

try {
  const auctionResultPromise = navigator.runAdAuction(auctionConfig);
} catch (error) {
  // Handle error.
}

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



decisionLogicUrl

decisionLogicUrl হল নিলাম কনফিগারেশন অবজেক্টের একটি সম্পত্তি, যা runAdAuction() এ পাস করা হয়েছে। এই URL-এ scoreAd() ফাংশনের জন্য একটি স্ক্রিপ্ট থাকতে হবে। প্রতিটি বিজ্ঞাপনের পছন্দসইতা নির্ধারণের জন্য এই লজিকটি একবার চালানো হয়।

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

browserSignals

browserSignals হল ব্রাউজার দ্বারা নির্মিত একটি বস্তু, যার মধ্যে এমন তথ্য রয়েছে যা ব্রাউজার জানে এবং যা বিক্রেতার নিলাম স্ক্রিপ্ট যাচাই করতে চাইতে পারে:

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

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

scoreAd()

scoreAd() নিম্নলিখিত আর্গুমেন্টগুলি গ্রহণ করে:

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

সচরাচর জিজ্ঞাস্য

নিলামে বিজয়ী কীভাবে নির্ধারণ করা হয় এবং কে তাদের বেছে নেয়?

বিক্রেতা প্রতিটি বিজ্ঞাপনের পছন্দসই স্কোর নির্ধারণের জন্য স্কোরিং লজিক প্রদান করে এবং ব্রাউজার সর্বোচ্চ স্কোরটিকে বিজয়ী বিজ্ঞাপন হিসেবে নির্বাচন করে।

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

সকল সুরক্ষিত শ্রোতা API রেফারেন্স

API রেফারেন্স গাইড উপলব্ধ:

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