বিডিং এবং নিলাম (B&A) পরিষেবাগুলি হল বিজ্ঞাপন ক্রেতা এবং বিক্রেতাদের জন্য পরিষেবাগুলির একটি সেট যা একটি সুরক্ষিত দর্শক (PA) নিলামের সুবিধার্থে একটি বিশ্বস্ত এক্সিকিউশন এনভায়রনমেন্ট (TEE) এ চলে৷ এই বিকাশকারীর নির্দেশিকা ব্যাখ্যা করে যে কীভাবে একজন বিক্রেতা B&A-এর জন্য Chrome PA নিলামের সাথে একীভূত হতে পারে।
ওয়াকথ্রু
পদক্ষেপগুলি নিম্নলিখিত হিসাবে সংক্ষিপ্ত করা যেতে পারে:
- ব্রাউজার থেকে এনক্রিপ্ট করা পেলোড পেতে
getInterestGroupAdAuctionData()
এ কল করুন -
fetch('https://your-ad-server.example')
কল করুন এবং আপনার SAS-এ এনক্রিপ্ট করা পেলোড সহ ইউনিফাইড নিলামের অনুরোধ পাঠান - B&A নিলাম চালানোর জন্য আপনার SAS থেকে আপনার SFE-এর
SelectAd()
অপারেশনে কল করুন - প্রতিক্রিয়ার হ্যাশ সহ B&A নিলামের ফলাফল পৃষ্ঠায় ফেরত দিন
- একটি একক-বিক্রেতা, মিশ্র-মোড, বা বহু-বিক্রেতা PA নিলাম চালানোর জন্য ব্রাউজারে
runAdAuction()
এ কল করুন এবং সার্ভার-সাইড B&A নিলাম ফলাফল কলে পাস করুন
এনক্রিপ্ট করা বিজ্ঞাপন নিলাম ডেটা পান
সার্ভার-সাইড B&A নিলাম চালানোর জন্য প্রয়োজনীয় ডেটা পেতে, প্রকাশক পৃষ্ঠায় বিক্রেতার জাভাস্ক্রিপ্ট কোডটি navigator.getInterestGroupAdAuctionData()
কল করে।
const adAuctionData = await navigator.getInterestGroupAdAuctionData({
seller: 'https://ssp.example', // Required
requestSize: 51200,
coordinatorOrigin: 'https://publickeyservice.pa.gcp.privacysandboxservices.com/',
perBuyerConfig: {
'https://dsp-x.example': { targetSize: 8192 },
'https://dsp-y.example': { targetSize: 8192 }
}
});
const { requestId, request } = adAuctionData;
মাঠ | বর্ণনা |
---|---|
seller | প্রয়োজন নিলাম চলমান বিক্রেতার উৎপত্তি. এই মানটি অবশ্যই runAdAuction() কলে seller মানের সাথে মিলতে হবে। |
requestSize | ঐচ্ছিক সমস্ত ক্রেতা ডেটার সর্বোচ্চ পেলোড আকার সেট করে। আরও জানতে ব্যাখ্যাকারীর অনুরোধের আকার বিভাগটি দেখুন। |
perBuyerConfig | ঐচ্ছিক প্রতিটি ক্রেতার জন্য কনফিগারেশন সেট করে এবং কোন ক্রেতারা B&A নিলামে অংশগ্রহণ করবে তাও নিয়ন্ত্রণ করে। যদি ক্রেতার উৎস |
targetSize | requestSize সেট করা থাকলে ঐচ্ছিক । perBuyerConfig এ একজন ক্রেতার উৎস সেট করা থাকলে প্রয়োজন হয় কিন্তু requestSize সেট করা না থাকে।সেই ক্রেতার ডেটার সর্বোচ্চ পেলোড সাইজ সেট করে। আরও জানতে ব্যাখ্যাকারীর অনুরোধের আকার বিভাগটি দেখুন। |
coordinatorOrigin | ঐচ্ছিক , কিন্তু শেষ পর্যন্ত প্রয়োজন হবে। সেট না থাকলে https: https://publickeyservice.pa.gcp.privacysandboxservices.com এ ডিফল্ট।পেলোড এনক্রিপ্ট করার জন্য কী আনার জন্য ব্যবহার করার জন্য সমন্বয়কারীকে সেট করে। আরও জানতে ব্যাখ্যাকারীর সমন্বয়কারী বিভাগটি দেখুন। |
যখন কল করা হয়, ব্রাউজার perBuyerConfig
এ তালিকাভুক্ত ক্রেতাদের আগ্রহের গোষ্ঠীগুলি পড়ে এবং ক্রেতার ডেটা এনক্রিপ্ট করে৷ এই ক্রেতার ডেটাতে বিডিংয়ের জন্য ব্যবহার করার জন্য ক্রস-সাইট তথ্য রয়েছে এবং টিইই-এর বাইরে ডিক্রিপ্ট করা যাবে না। পেলোড অপ্টিমাইজেশানের জন্য, শুধুমাত্র আগ্রহের গোষ্ঠীর নাম, বিশ্বস্ত বিডিং সিগন্যাল কী এবং ব্রাউজার সংকেত পেলোডে অন্তর্ভুক্ত করা হয়েছে।
getInterestGroupAdAuctionData()
কল দ্বারা ফেরত বিজ্ঞাপন নিলাম ডেটা অবজেক্টে, requestId
স্ট্রিং এবং এনক্রিপ্ট করা request
বাইট অ্যারে উপলব্ধ।
requestId
স্ট্রিংটি পরে ব্যবহার করা হয় যখন runAdAuction()
ব্রাউজারে নিলাম শেষ করতে কল করা হয়। এনক্রিপ্ট করা request
পেলোড ইউনিফাইড নিলাম অনুরোধের অংশ হিসাবে বিক্রেতা বিজ্ঞাপন পরিষেবাতে পাঠানো হয়।
এই কলের একটি উদাহরণ দেখতে, স্থানীয় টেস্টিং অ্যাপের বিক্রেতা জাভাস্ক্রিপ্ট কোডটি দেখুন।
ইউনিফাইড নিলাম অনুরোধ এসএএস-এ পাঠান
একটি ইউনিফাইড নিলাম অনুরোধ হল একটি অনুরোধ যাতে প্লেইনটেক্সট প্রাসঙ্গিক নিলাম পেলোড এবং PA B&A নিলাম পেলোড থাকে। PA B&A নিলাম পেলোড হল এনক্রিপ্ট করা request
ডেটা যা ব্রাউজার getInterestGroupAdAuctionData()
কলে তৈরি করেছে। এই অনুরোধটি SAS-এ পাঠানো হয়, যেখানে প্রাসঙ্গিক নিলাম এবং PA B&A নিলাম করা হয়।
fetch('https://ssp.example/ad-auction', {
method: 'POST',
adAuctionHeaders: true,
body: JSON.stringify({
contextualAuctionPayload: { somePayload },
protectedAudienceAuctionPayload: encodeBinaryData(request)
}),
});
SAS-তে অনুরোধ পাঠাতে, পৃষ্ঠা থেকে একটি fetch()
কল করা হয়:
- কলটিতে অবশ্যই
adAuctionHeaders: true
অপশন অন্তর্ভুক্ত থাকতে হবে, যা ব্রাউজারকে সংকেত দেয় এই কলের প্রতিক্রিয়া যাচাই করার জন্য পরবর্তী সময়ে যখনrunAdAuction()
ব্রাউজারে নিলাম শেষ করতে বলা হয়। - আনার অনুরোধের উত্স অবশ্যই
getInterestGroupAdAuctionData()
এবংrunAdAuction()
কলগুলিতে প্রদত্তseller
উত্সের সাথে মিলতে হবে৷
কলের মূল অংশে রয়েছে:
- প্রাসঙ্গিক নিলাম চালানোর জন্য SAS দ্বারা ব্যবহৃত প্লেইনটেক্সট প্রাসঙ্গিক নিলাম পেলোড।
- সার্ভার-সাইড B&A নিলাম চালানোর জন্য এনক্রিপ্ট করা সুরক্ষিত শ্রোতা নিলামের পেলোড SFE-তে পাঠানো হবে।
এই কলের একটি উদাহরণ দেখতে, স্থানীয় টেস্টিং অ্যাপের বিক্রেতা জাভাস্ক্রিপ্ট কোডটি দেখুন।
Base64 এনকোডিং এবং ডিকোডিং
getInterestGroupAdAuctionData()
কল থেকে এনক্রিপ্ট করা request
পেলোডটি Uint8Array
এর একটি উদাহরণ, যা একটি ডেটা টাইপ যা JSON পরিচালনা করতে পারে না। একটি JSON বিন্যাসে বাইট অ্যারে পাঠাতে, আপনি একটি স্ট্রিং এ রূপান্তর করতে বাইনারি ডেটাতে একটি base64 এনকোডিং প্রয়োগ করতে পারেন।
JavaScript ব্রাউজার API window
atob()
এবং btoa()
ফাংশন প্রদান করে যা বাইনারি ডেটা এবং base64-এনকোডেড ASCII স্ট্রিং এর মধ্যে রূপান্তর করে। ( atob
মানে ASCII-থেকে-বাইনারী, এবং btoa
মানে বাইনারি-থেকে-ASCII)।
একটি বেস 64-এনকোডেড স্ট্রিং-এ বাইনারি ডেটা এনকোড করতে btoa()
কল করুন নিম্নলিখিতগুলির মতো দেখাচ্ছে:
function encodeBinaryData(data) {
return btoa(String.fromCharCode.apply(null, data));
}
এই fetch
কল থেকে এনক্রিপ্ট করা B&A নিলামের ফলাফলটিও একটি base64 এনকোডিং-এ রয়েছে, তাই আপনাকে এটিকে বাইনারি ডেটাতে ডিকোড করতে হবে। বাইনারী ডেটাতে base64-এনকোডেড ASCII স্ট্রিং ডিকোড করতে atob()
কল করুন:
function decodeBase64String(base64string) {
return new Uint8Array(
atob(base64string)
.split('')
.map((char) => char.charCodeAt(0))
);
}
যাইহোক, একটি base64-এনকোডেড স্ট্রিং সাধারণত মূল ডেটার চেয়ে প্রায় 33% বড় হয়। আপনি যদি আরও লেটেন্সি উন্নতি চান, বাইনারি ডেটা পাঠাতে JSON ছাড়া অন্য ফর্ম্যাট ব্যবহার করুন।
B&A নিলাম চালানোর জন্য SFE-এর SelectAd
কল করুন
একবার বিক্রেতা বিজ্ঞাপন পরিষেবাটি পৃষ্ঠা থেকে একীভূত নিলামের অনুরোধ পেয়ে গেলে, প্রাসঙ্গিক নিলামটি প্রাসঙ্গিক নিলাম বিজয়ী নির্ধারণ করতে এবং PA B&A নিলামে পাস করার জন্য ক্রেতা সংকেত সংগ্রহ করতে প্রথমে চলে। তারপর, অনুরোধ পেলোড সহ SAF থেকে SFE-এর SelectAd
অপারেশনকে কল করার মাধ্যমে B&A নিলাম শুরু হয়। মনে রাখবেন যে ধাপ #2- এ পৃষ্ঠার অনুরোধ থেকে SAS-এর কাছে কিছু মেটাডেটা SFE-তে ফরোয়ার্ড করা হয়েছে।
SelectAdRequest
পেলোড তৈরি করুন
SelectAd
কলের রিকোয়েস্ট পেলোড নিচের মত করে তৈরি করা যেতে পারে:
const selectAdRequest = {
auction_config: {
seller: 'https://ssp.example',
auction_signals: '{"testKey":"someValue"}',
seller_signals: '{"testKey":"someValue"}',
buyer_list: [
'https://dsp-x.example',
'https://dsp-y.example',
],
per_buyer_config: {
'https://dsp-x.example': { buyer_signals: '{"testKey": "someValue"}' },
'https://dsp-y.example': { buyer_signals: '{"testKey": "someValue"}' },
},
},
client_type: 'CLIENT_TYPE_BROWSER',
protected_auction_ciphertext: decodeBase64string(request)
};
মনে রাখবেন যে ব্রাউজার থেকে এনক্রিপ্ট করা বিজ্ঞাপন নিলাম ডেটা যদি base64-এনকোড করা হয়, তাহলে GRPC ব্যবহার করে SFE-তে অনুরোধ পাঠানো হলে সেটিকে বাইনারি ডেটাতে ডিকোড করতে হবে। যদি HTTP ব্যবহার করে অনুরোধ পাঠানো হয়, তাহলে এনক্রিপ্ট করা বিজ্ঞাপন নিলামের ডেটা বেস64-এনকোডেড ফর্মে থাকতে পারে।
SelectAd
অনুরোধে সংজ্ঞায়িত অন্যান্য ক্ষেত্র দেখতে, SelectAdRequest
এর প্রোটো সংজ্ঞা দেখুন।
মিশ্র-মোড এবং উপাদান নিলামের জন্য শীর্ষ-স্তরের বিক্রেতা ক্ষেত্র সেট করুন
যদি বিক্রেতা একটি মিশ্র-মোড নিলাম চালায় বা বহু-বিক্রেতার নিলামে একটি উপাদান বিক্রেতা হিসাবে অংশগ্রহণ করে, তাহলে অনুরোধে top_level_seller
ক্ষেত্রটি সংজ্ঞায়িত করা প্রয়োজন।
আপনি যদি মিশ্র-মোড বিক্রেতা হন, তাহলে top_level_seller
মানটি আপনার মূল:
const selectAdRequest = {
auction_config: {
seller: 'https://ssp-mix.example',
top_level_seller: 'https://ssp-mix.example',
}
}
আপনি যদি একজন কম্পোনেন্ট বিক্রেতা হন, top_level_seller
মান হল বহু-বিক্রেতা নিলামের শীর্ষ-স্তরের বিক্রেতা:
const selectAdRequest = {
auction_config: {
seller: 'https://ssp-mix.example',
top_level_seller: 'https://ssp-top.example',
}
}
SFE এর SelectAd
কল করুন
SAS থেকে SFE-তে কল করা যেতে পারে gRPC বা HTTP দিয়ে।
gRPC কল
একটি gRPC ক্লায়েন্টের সাথে নোডে এক্সপ্রেস ব্যবহার করে SFE-এর কাছে gRPC অনুরোধ নিম্নলিখিতটির মতো দেখাচ্ছে:
import grpc from '@grpc/grpc-js';
// Load proto definition
const packageDefinition = protoLoader.loadSync(protoPath, { keepCase: true, enums: String });
const {
privacy_sandbox: {
bidding_auction_servers: { SellerFrontEnd }
}
} = grpc.loadPackageDefinition(packageDefinition);
// Instantiate the gRPC client
const sfeGrpcClient = new SellerFrontEnd('192.168.84.104:50067', grpc.credentials.createInsecure());
// Send SelectAd request
sfeGrpcClient.selectAd(selectAdRequest,(error, response) => {
// Handle SFE response
});
SFE ক্লায়েন্টের প্রোটো সংজ্ঞা স্থানীয় টেস্টিং অ্যাপ রিপোজিটরিতে পাওয়া যাবে।
দূত প্রক্সিতে HTTP কল
SFE-তে HTTP POST অনুরোধটি /v1/selectAd
পাথে পাঠানো হয়, এবং নিচের মত দেখায়:
fetch('https://ssp-ba.example/sfe/v1/selectAd', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(selectAdRequest),
});
মেটাডেটা ফরোয়ার্ড করুন
SAS-তে পৃষ্ঠার কল থেকে নিম্নলিখিত মেটাডেটা SFE-তে SAS-এর SelectAd
কলে যোগ করা উচিত:
-
Accept-Language
-
User-Agent
- আইপি ঠিকানা
যখন মেটাডেটা SFE-তে পাঠানো হয়, তখন তাদের অবশ্যই নিম্নলিখিত অ-মানক শিরোনামগুলি ব্যবহার করতে হবে কারণ gRPC User-Agent
শিরোনাম পরিবর্তন করতে পারে:
-
X-Accept-Language
-
X-User-Agent
-
X-BnA-Client-IP
GRPC ক্লায়েন্টের সাথে নোডে এক্সপ্রেস ব্যবহার করে কীভাবে মেটাডেটা ফরোয়ার্ড করা যায় তার একটি উদাহরণ নিচে দেওয়া হল:
sellerAdService.post('/ad-auction', (req, res) => {
// …
const metadata = new grpc.Metadata();
metadata.add('X-Accept-Language', req.header('Accept-Language'));
metadata.add('X-User-Agent', req.header('User-Agent'));
metadata.add('X-BnA-Client-IP', req.ip);
const sfeGrpcClient = createSfeGrpcClient();
sfeGrpcClient.selectAd(selectAdRequest, metadata, callbackFn);
})
HTTP কল ব্যবহার করে কীভাবে মেটাডেটা ফরোয়ার্ড করা যায় তার একটি উদাহরণ নিচে দেওয়া হল:
sellerAdService.post('/ad-auction', (req, res) => {
// …
fetch('https://ssp-ba.example/sfe/v1/selectAd', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Accept-Language': req.header('Accept-Language'),
'X-User-Agent': req.header('User-Agent'),
'X-BnA-Client-IP': req.ip
},
body: JSON.stringify(selectAdRequest)
});
})
সার্ভার-অর্কেস্ট্রেটেড বহু-বিক্রেতা নিলাম
আপনি যদি সার্ভার-অর্কেস্ট্রেটেড মাল্টি-সেলার নিলাম চালাচ্ছেন একজন শীর্ষ-স্তরের বিক্রেতা হন, তাহলে SelectAd
কল করার আগে GetComponentAuctionCiphertexts
কলটি SFE-তে করা হয়। প্রতিক্রিয়াটিতে পুনরায় এনক্রিপ্ট করা উপাদান নিলাম পেলোড রয়েছে যা উপাদান বিক্রেতার বিজ্ঞাপন পরিষেবাগুলিতে পাঠানো হয়। প্রত্যাবর্তিত উপাদান B&A বিজ্ঞাপন নিলামের ফলাফল শীর্ষ-স্তরের বিক্রেতার SFE-এর SelectAd
কলে সরবরাহ করা হয়।
আরও জানতে GitHub-এ বহু-বিক্রেতা ব্যাখ্যাকারী দেখুন।
B&A নিলামের ফলাফল পৃষ্ঠায় ফেরত দিন
B&A নিলাম শেষ হওয়ার পর, এনক্রিপ্ট করা নিলামের ফলাফল SAS-এ ফেরত দেওয়া হয়, এবং SAS এনক্রিপ্ট করা নিলামের ফলাফলের সাথে ধাপ #2- এ পৃষ্ঠা থেকে একীভূত নিলামের অনুরোধে সাড়া দেয়। পৃষ্ঠার SAS প্রতিক্রিয়াতে, এনক্রিপ্ট করা নিলাম ফলাফলের base64url -এনকোডেড SHA-256 হ্যাশ Ad-Auction-Result
প্রতিক্রিয়া শিরোনামে সেট করা আছে। ক্লায়েন্টে নিলাম শেষ করার সময় পেলোড যাচাই করতে ব্রাউজার এই হ্যাশ ব্যবহার করে।
বেস64 এনকোডিং সহ একটি SHA-256 হ্যাশ তৈরি করা নোডে নিম্নলিখিতগুলির মতো দেখায়:
import { createHash } from 'crypto';
createHash('sha256')
.update(binaryData, 'base64')
.digest('base64url');
প্রতিক্রিয়া শিরোনামে হ্যাশ সংযুক্ত করা এবং পৃষ্ঠায় নিলামের ফলাফল ফিরিয়ে দেওয়া নিম্নলিখিতটির মতো দেখায়:
sellerAdService.post('/ad-auction', (req, res) => {
// …
sfeGrpcClient.selectAd(selectAdRequest, metadata, (error, response) => {
const { auction_result_ciphertext } = response;
const ciphertextShaHash = createHash('sha256')
.update(auction_result_ciphertext, 'base64')
.digest('base64url');
res.set('Ad-Auction-Result', ciphertextShaHash);
res.json({
protectedAudienceAuctionResult: encodeBinaryData(auction_result_ciphertext),
contextualAuctionResult: getContextualAuctionResult()
});
});
})
যেহেতু এটি ধাপ #2 এ পৃষ্ঠা থেকে করা একীভূত নিলামের অনুরোধের একটি প্রতিক্রিয়া, তাই প্রাসঙ্গিক নিলামের ফলাফলও প্রতিক্রিয়াতে অন্তর্ভুক্ত করা হয়েছে।
হেডার পুনরাবৃত্তি করে বা হ্যাশগুলিকে আলাদা করে Ad-Auction-Result
মধ্যে একাধিক হ্যাশ অন্তর্ভুক্ত করা যেতে পারে। নিম্নলিখিত দুটি প্রতিক্রিয়া শিরোনাম সমতুল্য:
Ad-Auction-Result: ungWv48Bz-pBQUDeXa4iI7ADYaOWF3qctBD_YfIAFa0=,9UTB-u-WshX66Xqz5DNCpEK9z-x5oCS5SXvgyeoRB1k=
Ad-Auction-Result: ungWv48Bz-pBQUDeXa4iI7ADYaOWF3qctBD_YfIAFa0=
Ad-Auction-Result: 9UTB-u-WshX66Xqz5DNCpEK9z-x5oCS5SXvgyeoRB1k=
এই কলের একটি উদাহরণ দেখতে, স্থানীয় টেস্টিং অ্যাপের বিক্রেতার সার্ভার কোডটি দেখুন।
নিলাম সম্পূর্ণ করতে runAdAuction()
এ কল করুন
SAS থেকে ফিরে আসা একীভূত নিলামের প্রতিক্রিয়া এনক্রিপ্ট করা B&A নিলামের ফলাফল অন্তর্ভুক্ত করে। এই পেলোডটি ব্রাউজারে নিলাম শেষ করতে runAdAuction()
কলে পাস করা হয়। ধাপ #1 -এ getInterestGroupAdAuctionData()
কল থেকে requestId
মানটিও নিলামে পাঠানো হয়েছে।
// Get the encrypted ad auction data (Step #1)
const { requestId, request } = navigator.getInterestGroupAdAuctionData(adAuctionDataConfig)
// Send unified auction request (Step #2)
const response = await fetch('https://ssp-ba.example/ad-auction', {
method: 'POST',
body: JSON.stringify({
adAuctionRequest: encodeBinaryData(request),
}),
});
const { protectedAudienceAuctionResult } = await response.json();
// Finish the auction in the browser
await navigator.runAdAuction({
// pass in "requestId" and "protectedAudienceAuctionResult"
// the config structure will differ based on the auction configuration
});
runAdAuction()
কলে পাস করা নিলাম কনফিগারেশনের গঠন বিক্রেতার দ্বারা নির্বাচিত নিলাম কনফিগারেশনের উপর ভিত্তি করে আলাদা হয়।
একক বিক্রেতা নিলাম
একটি একক-বিক্রেতা B&A নিলাম চালানোর জন্য, runAdAuction()
কলের নিলাম কনফিগ নিম্নলিখিত মত তৈরি করা হয়েছে:
await navigator.runAdAuction({
seller: 'https://ssp-ba.example',
requestId,
serverResponse: protectedAudienceAuctionResult,
});
getInterestGroupAdAuctionData()
কলের মাধ্যমে requestId
ফিল্ডটি requestId
গ্রহণ করে। serverResponse
ক্ষেত্রটি B&A নিলামের একটি বাইট অ্যারে গ্রহণ করে যা ধাপ #3 এ চলে।
এই কলের একটি উদাহরণ দেখতে, স্থানীয় টেস্টিং অ্যাপের বিক্রেতা জাভাস্ক্রিপ্ট কোডটি দেখুন।
মিশ্র-মোড নিলাম
একটি মিশ্র-মোড B&A নিলাম চালানোর জন্য যেখানে ডিভাইসে থাকা এবং B&A ক্রেতা উভয়ই অংশগ্রহণ করতে পারে, runAdAuction()
কলের নিলাম কনফিগ নিম্নলিখিত মত তৈরি করা হয়েছে:
await navigator.runAdAuction({
seller: 'https://ssp-mix.example',
decisionLogicURL: 'https://ssp-mix.example/score-ad.js',
componentAuctions: [
// B&A auction result
{
seller: 'https://ssp-mix.example',
requestId,
serverResponse: protectedAudienceAuctionResult,
},
// On-device auction config
{
seller: 'https://ssp-mix.example',
decisionLogicURL: 'https://ssp-mix.example/on-device-score-ad.js',
interestGroupBuyers: [
'https://dsp-a.example', // On-device buyer
'https://dsp-a.example', // On-device buyer
],
},
]
});
একটি মিশ্র-মোড নিলামের সুবিধার্থে, B&A নিলামের ফলাফল এবং ডিভাইসে নিলামের কনফিগারেশন componentAuctions
ক্ষেত্রে পাঠানো হয়। একটি মিশ্র-মোড নিলামে, seller
মান শীর্ষ-স্তরের কনফিগারেশন এবং কম্পোনেন্ট কনফিগারেশন উভয়ের জন্যই একই।
এই কলের একটি উদাহরণ দেখতে, স্থানীয় টেস্টিং অ্যাপের বিক্রেতা জাভাস্ক্রিপ্ট কোডটি দেখুন।
বহু-বিক্রেতা নিলাম
আপনি যদি একজন শীর্ষ-স্তরের বিক্রেতা হন যে একটি ডিভাইস-অর্কেস্ট্রেটেড মাল্টি-সেলার নিলাম চালাচ্ছেন, তাহলে প্রতিটি উপাদান বিক্রেতা তাদের B&A নিলামের ফলাফল এবং ডিভাইসে নিলামের কনফিগারেশন জমা দেয়।
await navigator.runAdAuction({
seller: 'https://ssp-top.example',
decisionLogicURL: 'https://ssp-top.example/score-ad.js',
componentAuctions: [
// SSP-BA's B&A-only auction result
{
seller: 'https://ssp-ba.example',
requestId: 'g8312cb2-da2d-4e9b-80e6-e13dec2a581c',
serverResponse: Uint8Array(560) [193, 120, 4, …] // Encrypted B&A auction result
},
// SSP-MIX's B&A auction result
{
seller: 'https://ssp-mix.example',
requestId: 'f5135cb2-da2d-4e9b-80e6-e13dec2a581c',
serverResponse: Uint8Array(560) [133, 20, 4, …] // Encrypted B&A auction result
}.
// SSP-MIX's on-device auction config
{
seller: 'https://ssp-mix.example',
interestGroupBuyers: ['https://dsp-a.example', 'https://dsp-b.example'],
decisionLogicURL: 'https://ssp-mix.example/score-ad.js',
}
// SSP-OD's on-device auction config
{
seller: 'https://ssp-od.example',
interestGroupBuyers: ['https://dsp-a.example', 'https://dsp-b.example'],
decisionLogicURL: 'https://ssp-od.example/score-ad.js',
}
]
})
এই কলের একটি উদাহরণ দেখতে, স্থানীয় টেস্টিং অ্যাপের বিক্রেতা জাভাস্ক্রিপ্ট কোডটি দেখুন।
পরবর্তী পদক্ষেপ
এই নির্দেশিকাটি পড়ার পরে, আপনি নিম্নলিখিত পদক্ষেপগুলি নিতে পারেন:
আরও জানুন
- একটি গভীর বোঝার জন্য, GitHub এ নিম্নলিখিত ব্যাখ্যাকারীদের দেখুন:
- ওয়েবের জন্য B&A আর্কিটেকচার সম্পর্কে আরও জানুন
- এন্ড-টু-এন্ড লোকাল টেস্টিং কোডল্যাব অনুসরণ করে B&A-এর সাথে সুরক্ষিত দর্শকদের নিয়ে পরীক্ষা করুন।
প্রশ্ন আছে?
- আপনার যদি বিডিং এবং নিলাম পরিষেবাগুলি সম্পর্কে কোনও প্রশ্ন থাকে তবে B&A পরিষেবাগুলির সংগ্রহস্থলে একটি সমস্যা খুলুন ৷
- আপনার যদি সাধারণভাবে গোপনীয়তা স্যান্ডবক্স সম্পর্কে কোনো প্রশ্ন থাকে, তাহলে privacy-sandbox-dev-support repository-এ একটি সমস্যা খুলুন ।