প্রকাশকের পৃষ্ঠায় একটি বিজ্ঞাপন নিলাম সেট আপ করুন৷

একটি সুরক্ষিত দর্শক API নিলাম কিভাবে কনফিগার করবেন তা জানুন।

বিক্রেতাদের দ্বারা চালিত অন-ডিভাইস নিলাম

একটি ডিভাইসে সুরক্ষিত শ্রোতা নিলাম একটি সাইটে বিজ্ঞাপনের স্থান বিক্রি করে, এবং আমরা যে পক্ষকে বিক্রেতা হিসাবে নিলাম চালাচ্ছে তাকে উল্লেখ করি৷ অনেক দল বিক্রেতা হিসাবে কাজ করতে পারে: একটি সাইট তার নিজস্ব বিজ্ঞাপন নিলাম চালাতে পারে, বা এটির জন্য নিলাম চালানোর জন্য একটি তৃতীয় পক্ষের স্ক্রিপ্ট অন্তর্ভুক্ত করতে পারে, বা একটি SSP ব্যবহার করতে পারে যা অন্য সার্ভার-সাইড বিজ্ঞাপনের সাথে একটি অন-ডিভাইস নিলাম চালানোর সমন্বয় করে নিলাম কার্যক্রম। অন-ডিভাইস বিজ্ঞাপন নিলামে বিক্রেতাদের তিনটি মৌলিক কাজ আছে:

  1. বিক্রেতারা সিদ্ধান্ত নেয় (ক) কোন ক্রেতারা অংশগ্রহণ করতে পারে এবং (খ) সেই ক্রেতাদের স্বার্থ গোষ্ঠীর কোনটি নিলামে প্রবেশের যোগ্য। এটি বিক্রেতাকে পৃষ্ঠায় কোন বিজ্ঞাপন দেখানোর অনুমতি দেওয়া হয়েছে তার জন্য সাইটের নিয়মগুলি প্রয়োগ করতে দেয়৷
  2. বিক্রেতারা নিলামের ব্যবসায়িক যুক্তির জন্য দায়ী: জাভাস্ক্রিপ্ট কোড যা প্রতিটি বিডের মূল্য এবং মেটাডেটা বিবেচনা করে এবং একটি "আকাঙ্খিত" স্কোর গণনা করে। সর্বোচ্চ আকাঙ্খিত স্কোর সহ বিড নিলামে জয়লাভ করে।
  3. বিক্রেতারা নিলামের ফলাফলের উপর রিপোর্টিং সঞ্চালন করে, যার মধ্যে ক্লিয়ারিং মূল্য এবং অন্য কোন পে-আউট সম্পর্কে তথ্য রয়েছে। বিজয়ী এবং পরাজিত ক্রেতারাও তাদের নিজস্ব প্রতিবেদন করতে পারেন।

এই দস্তাবেজটি ব্যাখ্যা করবে কিভাবে কনফিগার করতে হয় এবং একটি অন-ডিভাইস নিলাম শুরু করতে হয়।

একটি সুরক্ষিত দর্শক API বিজ্ঞাপন নিলাম কনফিগার করুন

একটি সুরক্ষিত দর্শক 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 বিক্রেতার উৎপত্তি।
সিদ্ধান্ত লজিক ইউআরএল https://seller.example/decision-logic.js জাভাস্ক্রিপ্ট সিদ্ধান্ত লজিক ওয়ার্কলেট নিলামের জন্য URL। এই ক্ষেত্রটি বিক্রেতার ক্ষেত্রের মতো একই উত্স থাকা দরকার৷
স্বার্থগ্রুপ ক্রেতাদের [https://buyer-1.example,
https://buyer-2.example,
...]
নিলামে বিড করতে বলা সমস্ত স্বার্থ গ্রুপ মালিকদের উত্স

ঐচ্ছিক বৈশিষ্ট্য

auctionConfigs এর জন্য অবশিষ্ট বৈশিষ্ট্য ঐচ্ছিক।

সম্পত্তি উদাহরণ ভূমিকা
বিশ্বস্তScoringSignalsUrl https://seller.example/scoring-signals বিক্রেতার কী/মান সার্ভারের URL। ক্রিয়েটিভের রেন্ডার ইউআরএলকে কী হিসেবে ব্যবহার করে বিজ্ঞাপন স্কোরিং প্রক্রিয়ার সময় এটি জিজ্ঞাসা করা হবে। এই ক্ষেত্রটি বিক্রেতার ক্ষেত্রের মতো একই উত্স থাকা দরকার৷
নিলাম সংকেত {"বিভাগ":"সংবাদ"} নিলামে অংশগ্রহণকারী সকল ক্রেতা এবং বিক্রেতাদের কাছে উপলব্ধ সংকেতগুলিকে প্রতিনিধিত্ব করে JSON ক্রমিকযোগ্য বস্তু।
বিক্রেতা সংকেত {...} JSON সিরিয়ালাইজেবল অবজেক্ট শুধুমাত্র বিক্রেতাদের জন্য উপলব্ধ সংকেত প্রতিনিধিত্ব করে।
perBuyerSignals {https://dsp.example: {...},
https://another-buyer.example: {...},
... }
একটি নির্দিষ্ট ক্রেতার কাছে উপলব্ধ সংকেত। সংকেতগুলি বিক্রেতাদের কাছ থেকে এবং ক্রেতাদের দ্বারাও আসতে পারে।
perBuyerTimeouts {https://www.example-dsp.com: ৫০,
https://www.another-buyer.com: 200,
*: 150,
...},
একটি নির্দিষ্ট ক্রেতার জেনারেটবিড() স্ক্রিপ্টের মিলিসেকেন্ডে সর্বাধিক রানটাইম। একটি ওয়াইল্ডকার্ড প্রতীক প্রতিটি ক্রেতার জন্য প্রয়োগ করা হবে যার একটি নির্দিষ্ট সময়সীমা সংজ্ঞায়িত নেই।
বিক্রেতা টাইমআউট 100 বিক্রেতার স্কোরAd() স্ক্রিপ্টের মিলিসেকেন্ডে সর্বাধিক রানটাইম।
উপাদান নিলাম [{বিক্রেতা: https://www.some-other-ssp.com, decisionLogicUrl: ..., ...}, ...] কম্পোনেন্ট নিলামের জন্য অতিরিক্ত কনফিগারেশন।
solveToConfig সত্য|মিথ্যা একটি বুলিয়ান প্রতিশ্রুতি নির্দেশ করে runAdAuction() থেকে একটি FencedFrameConfig-এ সমাধান করার জন্য (একটি <fencedframe> ব্যবহার করার জন্য), অথবা একটি অস্বচ্ছ urn:uuid URL যদি মিথ্যা হয় (একটি <iframe> ব্যবহারের জন্য)। ডিফল্ট থেকে মিথ্যা.

অ্যাসিঙ্ক্রোনাসভাবে সংকেত প্রদান করুন

কিছু সিগন্যালের মান (যেগুলি auctionSignals , sellerSignals , perBuyerSignals , এবং perBuyerTimeouts ক্ষেত্র দ্বারা কনফিগার করা হয়েছে) ঐচ্ছিকভাবে কংক্রিট মান হিসাবে নয়, প্রতিশ্রুতি হিসাবে প্রদান করা যেতে পারে। এটি নিলামের কিছু অংশকে অনুমতি দেয়, যেমন স্ক্রিপ্ট এবং বিশ্বস্ত সংকেত লোড করা এবং বিচ্ছিন্ন ওয়ার্কলেট প্রক্রিয়া চালু করা, সেই মানগুলির গণনা (বা নেটওয়ার্ক পুনরুদ্ধার) ওভারল্যাপ করতে। ওয়ার্কলেট স্ক্রিপ্ট শুধুমাত্র সমাধান করা মান দেখতে পাবে; যদি এই ধরনের কোনো প্রতিশ্রুতি প্রত্যাখ্যান করা হয়, নিলাম বাতিল করা হবে যদি না এটি ইতিমধ্যেই ব্যর্থ হয় বা অন্য উপায়ে বাতিল করা হয়।

একাধিক বিক্রেতার সাথে একটি নিলাম কনফিগার করুন

কিছু ক্ষেত্রে, একাধিক বিক্রেতা একটি নিলামে অংশগ্রহণ করতে চাইতে পারে, যেখানে পৃথক নিলামের বিজয়ীদের অন্য একটি নিলামে পাঠানো হয়, অন্য বিক্রেতা দ্বারা পরিচালিত হয়। এই পৃথক নিলামগুলিকে কম্পোনেন্ট নিলাম বলা হয়। এই উপাদান নিলামের সুবিধার্থে, componentAuctions অবজেক্টে প্রতিটি বিক্রেতার উপাদান নিলামের জন্য অতিরিক্ত নিলাম কনফিগারেশন থাকতে পারে। এই প্রতিটি উপাদান নিলামের বিজয়ী বিড "শীর্ষ-স্তরের" নিলামে পাস করা হবে যা নিলামের চূড়ান্ত নির্ধারণ করে। কম্পোনেন্ট নিলামের auctionConfig এর নিজস্ব componentAuctions নাও থাকতে পারে। যখন componentAuctions খালি থাকে না, তখন interestGroupBuyers অবশ্যই খালি থাকতে হবে। অর্থাৎ, কোনো নির্দিষ্ট সুরক্ষিত শ্রোতা নিলামের জন্য, হয় একজন একক বিক্রেতা এবং কোনো উপাদান নিলাম নেই, অথবা অন্যথায় সমস্ত বিড উপাদান নিলাম থেকে আসে এবং শীর্ষ-স্তরের নিলাম শুধুমাত্র উপাদান নিলামের বিজয়ীদের মধ্যে বেছে নিতে পারে।

নিলাম চালান

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

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

runAdAuction() কল একটি প্রতিশ্রুতি প্রদান করে যা বিজ্ঞাপনের সমাধান করে। প্রকাশক পৃষ্ঠার কোনো কোডের পক্ষে বিজয়ী বিজ্ঞাপনটি পরিদর্শন করা বা অন্যথায় runAdAuction() এর ফলাফল থেকে এর বিষয়বস্তু সম্পর্কে জানা সম্ভব নয়। AuctionConfigresolveToConfig পতাকা সত্য হিসাবে সেট করা থাকলে, একটি FencedFrameConfig বস্তু ফেরত দেওয়া হয় যা শুধুমাত্র একটি বেড়াযুক্ত ফ্রেমে রেন্ডার করা যেতে পারে। যদি পতাকা মিথ্যা সেট করা হয়, তাহলে একটি অস্বচ্ছ URN ফেরত দেওয়া হয় যা একটি iframe-এ রেন্ডার করা যেতে পারে। এটা সম্ভব যে runAdAuction একটি শূন্য মান প্রদান করে, যা নির্দেশ করে যে কোনো বিজ্ঞাপন নির্বাচন করা হয়নি। এই ক্ষেত্রে বিক্রেতা একটি প্রাসঙ্গিকভাবে লক্ষ্যযুক্ত বিজ্ঞাপন রেন্ডার করতে পারেন৷