সুরক্ষিত অডিয়েন্স ডিবাগ রিপোর্টিং বিজ্ঞাপন প্রযুক্তি বিকাশকারীদের একটি নিলাম জিতে বা হারলে ডিভাইস থেকে একটি GET অনুরোধ পাওয়ার জন্য দূরবর্তী URL ঘোষণা করতে দেয়। এটি নিম্নলিখিত ব্যবহারের ক্ষেত্রে সক্ষম করে:
- নিলাম ফলাফল জিতে এবং হারের জন্য রিপোর্ট পান.
- বুঝুন কেন নিলাম হারিয়েছে। উদাহরণ স্বরূপ: বুঝুন এটি একটি বিডিং বা স্কোরিং স্ক্রিপ্ট বাস্তবায়ন বা মূল লজিকের সমস্যা কিনা।
- জাভাস্ক্রিপ্ট লজিক আপডেট হলে সমস্যাগুলি আবিষ্কার করুন
ইভেন্ট-লেভেল ডিবাগ রিপোর্টিং প্রাইভেসি স্যান্ডবক্স ডেভেলপার প্রিভিউ 9-এ পরীক্ষার জন্য উপলব্ধ। যে সমস্ত ডিভাইসে AdId পাওয়া যায় সেখানে ডিবাগ রিপোর্টিং সমর্থিত।
দীর্ঘমেয়াদী পরিকল্পনা হল প্ল্যাটফর্মটিকে প্রাইভেট অ্যাগ্রিগেশন পরিষেবার সাথে নিলামের ফলাফল রিপোর্ট করতে সক্ষম করা। এটি নিশ্চিত করে যে প্রকাশকের অ্যাপে স্বতন্ত্র ব্যবহারকারীদের কাস্টম শ্রোতাদের সাথে যোগদানের জন্য ঘটনা-পরবর্তী প্রতিবেদন ব্যবহার করা যাবে না। একটি পর্যাপ্ত রিপোর্টিং ফ্রেমওয়ার্ক প্রকাশ না হওয়া পর্যন্ত ইভেন্ট-লেভেল রিপোর্টিং অস্থায়ী।
Chrome-এর আসল FLEDGE অরিজিন ট্রায়াল প্রস্তাবে ডিবাগ রিপোর্টিং সম্পর্কে আরও জানুন৷
ব্যবহার
ডিবাগ রিপোর্টিং নিম্নলিখিত জাভাস্ক্রিপ্ট API ব্যবহার করে প্রয়োগ করা হয়, উভয়ই একটি URL স্ট্রিং আর্গুমেন্ট নেয়:
-
forDebuggingOnly.reportAdAuctionWin(String url)
-
forDebuggingOnly.reportAdAuctionLoss(String url)
নিম্নলিখিত উদাহরণ বিজয়ী বিড এবং একটি অভ্যন্তরীণ ভেরিয়েবলের সাথে একটি বিজ্ঞাপন নিলামে ক্ষতির রিপোর্ট করে৷ এই ডেটা তারপর ডিবাগিং উদ্দেশ্যে ব্যবহার করা যেতে পারে.
let someDebuggableVariable = 123;
const url = "https://example.com/reportLoss?winningBid=${winningBid}&someDebuggableVariable=" + someDebuggableVariable;
forDebuggingOnly.reportAdAuctionLoss(url);
নিলাম শেষ হওয়ার পর ${winningBid}
টেমপ্লেটটি আসল মানের সাথে প্রতিস্থাপিত হয়।
বিক্রেতারা ঐচ্ছিকভাবে তাদের scoreAds
ফাংশন থেকে একটি rejectReason
ফেরত দিতে পারে:
function scoreAd(ad, bid, auction_config, seller_signals,
trusted_scoring_signals, contextual_signal,
custom_audience_signal) {
let score = ...
return {
'status': 0,
'score': score,
'rejectReason': 'blocked-by-publisher'
}
}
যদি একজন বিক্রেতা প্রত্যাখ্যানের কারণ সেট না করে, তাহলে এর পরিবর্তে not-available
পাঠানো হয়।
URL ভেরিয়েবল
ডিবাগ URL-এ যে ভেরিয়েবলগুলি যোগ করা যেতে পারে সেগুলি Chrome-এ তাদের সমকক্ষগুলির সাথে মিলে যায় (যদিও ${topLevelWinningBid}
এবং ${topLevelMadeWinningBid}
অনুপলব্ধ কারণ Android-এ উপাদান নিলামের কোনও ধারণা নেই)৷
পরিবর্তনশীল নাম | বর্ণনা |
winningBid | বিজয়ী দর মান. |
madeWinningBid | একটি বুলিয়ান মান প্রতিনিধিত্ব করে যে এই কাস্টম শ্রোতার ক্রেতা বিজয়ী বিড করেছে কিনা, হয় এই কাস্টম শ্রোতাদের দ্বারা, বা একই ক্রেতার সাথে অন্য কাস্টম দর্শকদের দ্বারা। |
highestScoringOtherBid | বিডের মান যা বিক্রেতার স্কোরAd স্ক্রিপ্ট দ্বারা দ্বিতীয় সর্বোচ্চ হিসাবে স্কোর করা হয়েছিল। মনে রাখবেন যে এটি দ্বিতীয় সর্বোচ্চ বিড মান নাও হতে পারে, যেহেতু স্কোর এবং বিড স্বাধীন হতে পারে। |
madeHighestScoringOtherBid | এই কাস্টম অডিয়েন্সের ক্রেতা ${highestScoringOtherBid} বিড করেছে কিনা, এই কাস্টম শ্রোতাদের দ্বারা বা একই ক্রেতার সাথে অন্য কাস্টম শ্রোতাদের দ্বারা একটি বুলিয়ান মান। |
rejectReason | একজন বিক্রেতার দ্বারা ঐচ্ছিকভাবে সেট করা একটি স্ট্রিং ব্যাখ্যা করে যে কেন তারা একটি বিড প্রত্যাখ্যান করেছে। নিম্নলিখিত মান হতে পারে:
|
সীমাবদ্ধতা
- URL হোস্ট অবশ্যই আপনার নথিভুক্ত গোপনীয়তা স্যান্ডবক্স ডোমেনের সাথে মিলবে৷
- URL ডোমেন, একটি
https://
উপসর্গ, এবং প্রতিস্থাপিত নিলাম ডেটা সহ 4096 অক্ষরের বেশি হওয়া উচিত নয়৷ - ভবিষ্যতের রিলিজে, ডিবাগ পিংগুলি শুধুমাত্র Wi-Fi এর সাথে সংযুক্ত হলেই পাঠানো হয়৷
ডিভাইসে আচরণ
একটি মোবাইল পরিবেশে, মেমরি এবং নেটওয়ার্ক ব্যবহার রক্ষা করা একটি মূল অগ্রাধিকার। যেমন, ডিবাগ রিপোর্ট ব্যাচে ঘটে।
নিম্নলিখিত সিস্টেম বৈশিষ্ট্যগুলি ব্যাচের হার এবং আকার নিয়ন্ত্রণ করে, যা উন্নয়নের জন্য নিম্ন মানগুলির সাথে সামঞ্জস্য করা যেতে পারে:
-
fledge_event_level_debug_reporting_batching_rate
-
fledge_event_level_debug_reporting_batch_size
একটি ডিবাগ রিপোর্টের প্রত্যাশিত বিলম্ব একটি নিলাম শেষ হওয়ার 15-60 মিনিটের মধ্যে হয়৷
ডিবাগ রিপোর্টের সম্পূর্ণতার কোন কঠিন গ্যারান্টি নেই। সার্ভারে কল পাঠানোর আগে ডিভাইস রিবুট হলে বা বিজ্ঞাপন প্রক্রিয়া ক্র্যাশ হলে, এই ইভেন্টগুলি বাদ দেওয়া হয়।
প্রতিটি বিজ্ঞাপন প্রযুক্তিতে প্রতি নিলামে সর্বাধিক 75টি নিবন্ধিত ডিবাগ ইউআরএল রয়েছে। সেই সীমায় পৌঁছে যাওয়ার পরে নিবন্ধিত URLগুলি নিঃশব্দে বাদ দেওয়া হয়৷
অবশেষে, ব্যবহারকারী যদি AdId নিষ্ক্রিয় করে থাকে, তাহলে ডিবাগ রিপোর্ট পাঠানো হয়। এটি বিকাশকারী পূর্বরূপ 9 এ প্রয়োগ করা হয়নি, তবে ভবিষ্যতের সংস্করণগুলিতে প্রয়োগ করা হবে৷
বিজ্ঞাপন প্রযুক্তি সার্ভার আচরণ
ডিবাগ রিপোর্টিংয়ের জন্য বিজ্ঞাপন প্রযুক্তি সার্ভারের নিম্নলিখিত আচরণ থাকা উচিত:
- ডিভাইসটি
forDebuggingOnly.*
APIs। - প্রতিটি অনুরোধ একটি একক ইভেন্ট-স্তরের ডিবাগ রিপোর্ট উপস্থাপন করে: একটি একক বিজ্ঞাপন নিলামে জয় বা নিলামে ক্ষতি।
- প্রতিটি অনুরোধের কোন শরীর নেই। সমস্ত ডেটা ক্যোয়ারী প্যারামিটারে রয়েছে।
- বড় প্রতিক্রিয়া পেলোড নেতিবাচকভাবে কর্মক্ষমতা এবং ডেটা ব্যবহার প্রভাবিত করতে পারে, এবং উপেক্ষা করা হয়।
সুরক্ষিত অডিয়েন্স ডিবাগ রিপোর্টিং বিজ্ঞাপন প্রযুক্তি বিকাশকারীদের একটি নিলাম জিতে বা হারলে ডিভাইস থেকে একটি GET অনুরোধ পাওয়ার জন্য দূরবর্তী URL ঘোষণা করতে দেয়। এটি নিম্নলিখিত ব্যবহারের ক্ষেত্রে সক্ষম করে:
- নিলাম ফলাফল জিতে এবং হারের জন্য রিপোর্ট পান.
- বুঝুন কেন নিলাম হারিয়েছে। উদাহরণ স্বরূপ: বুঝুন এটি একটি বিডিং বা স্কোরিং স্ক্রিপ্ট বাস্তবায়ন বা মূল লজিকের সমস্যা কিনা।
- জাভাস্ক্রিপ্ট লজিক আপডেট হলে সমস্যাগুলি আবিষ্কার করুন
ইভেন্ট-লেভেল ডিবাগ রিপোর্টিং প্রাইভেসি স্যান্ডবক্স ডেভেলপার প্রিভিউ 9-এ পরীক্ষার জন্য উপলব্ধ। যে সমস্ত ডিভাইসে AdId পাওয়া যায় সেখানে ডিবাগ রিপোর্টিং সমর্থিত।
দীর্ঘমেয়াদী পরিকল্পনা হল প্ল্যাটফর্মটিকে প্রাইভেট অ্যাগ্রিগেশন পরিষেবার সাথে নিলামের ফলাফল রিপোর্ট করতে সক্ষম করা। এটি নিশ্চিত করে যে প্রকাশকের অ্যাপে স্বতন্ত্র ব্যবহারকারীদের কাস্টম শ্রোতাদের সাথে যোগদানের জন্য ঘটনা-পরবর্তী প্রতিবেদন ব্যবহার করা যাবে না। একটি পর্যাপ্ত রিপোর্টিং ফ্রেমওয়ার্ক প্রকাশ না হওয়া পর্যন্ত ইভেন্ট-লেভেল রিপোর্টিং অস্থায়ী।
Chrome-এর আসল FLEDGE অরিজিন ট্রায়াল প্রস্তাবে ডিবাগ রিপোর্টিং সম্পর্কে আরও জানুন৷
ব্যবহার
ডিবাগ রিপোর্টিং নিম্নলিখিত জাভাস্ক্রিপ্ট API ব্যবহার করে প্রয়োগ করা হয়, উভয়ই একটি URL স্ট্রিং আর্গুমেন্ট নেয়:
-
forDebuggingOnly.reportAdAuctionWin(String url)
-
forDebuggingOnly.reportAdAuctionLoss(String url)
নিম্নলিখিত উদাহরণ বিজয়ী বিড এবং একটি অভ্যন্তরীণ ভেরিয়েবলের সাথে একটি বিজ্ঞাপন নিলামে ক্ষতির রিপোর্ট করে৷ এই ডেটা তারপর ডিবাগিং উদ্দেশ্যে ব্যবহার করা যেতে পারে.
let someDebuggableVariable = 123;
const url = "https://example.com/reportLoss?winningBid=${winningBid}&someDebuggableVariable=" + someDebuggableVariable;
forDebuggingOnly.reportAdAuctionLoss(url);
নিলাম শেষ হওয়ার পর ${winningBid}
টেমপ্লেটটি আসল মানের সাথে প্রতিস্থাপিত হয়।
বিক্রেতারা ঐচ্ছিকভাবে তাদের scoreAds
ফাংশন থেকে একটি rejectReason
ফেরত দিতে পারে:
function scoreAd(ad, bid, auction_config, seller_signals,
trusted_scoring_signals, contextual_signal,
custom_audience_signal) {
let score = ...
return {
'status': 0,
'score': score,
'rejectReason': 'blocked-by-publisher'
}
}
যদি একজন বিক্রেতা প্রত্যাখ্যানের কারণ সেট না করে, তাহলে এর পরিবর্তে not-available
পাঠানো হয়।
URL ভেরিয়েবল
ডিবাগ URL-এ যে ভেরিয়েবলগুলি যোগ করা যেতে পারে সেগুলি Chrome-এ তাদের সমকক্ষগুলির সাথে মিলে যায় (যদিও ${topLevelWinningBid}
এবং ${topLevelMadeWinningBid}
অনুপলব্ধ কারণ Android-এ উপাদান নিলামের কোনও ধারণা নেই)৷
পরিবর্তনশীল নাম | বর্ণনা |
winningBid | বিজয়ী দর মান. |
madeWinningBid | একটি বুলিয়ান মান প্রতিনিধিত্ব করে যে এই কাস্টম শ্রোতার ক্রেতা বিজয়ী বিড করেছে কিনা, হয় এই কাস্টম শ্রোতাদের দ্বারা, বা একই ক্রেতার সাথে অন্য কাস্টম দর্শকদের দ্বারা। |
highestScoringOtherBid | বিডের মান যা বিক্রেতার স্কোরAd স্ক্রিপ্ট দ্বারা দ্বিতীয় সর্বোচ্চ হিসাবে স্কোর করা হয়েছিল। মনে রাখবেন যে এটি দ্বিতীয় সর্বোচ্চ বিড মান নাও হতে পারে, যেহেতু স্কোর এবং বিড স্বাধীন হতে পারে। |
madeHighestScoringOtherBid | এই কাস্টম অডিয়েন্সের ক্রেতা ${highestScoringOtherBid} বিড করেছে কিনা, এই কাস্টম শ্রোতাদের দ্বারা বা একই ক্রেতার সাথে অন্য কাস্টম শ্রোতাদের দ্বারা একটি বুলিয়ান মান। |
rejectReason | একজন বিক্রেতার দ্বারা ঐচ্ছিকভাবে সেট করা একটি স্ট্রিং ব্যাখ্যা করে যে কেন তারা একটি বিড প্রত্যাখ্যান করেছে। নিম্নলিখিত মান হতে পারে:
|
সীমাবদ্ধতা
- URL হোস্ট অবশ্যই আপনার নথিভুক্ত গোপনীয়তা স্যান্ডবক্স ডোমেনের সাথে মিলবে৷
- URL ডোমেন, একটি
https://
উপসর্গ, এবং প্রতিস্থাপিত নিলাম ডেটা সহ 4096 অক্ষরের বেশি হওয়া উচিত নয়৷ - ভবিষ্যতের রিলিজে, ডিবাগ পিংগুলি শুধুমাত্র Wi-Fi এর সাথে সংযুক্ত হলেই পাঠানো হয়৷
ডিভাইসে আচরণ
একটি মোবাইল পরিবেশে, মেমরি এবং নেটওয়ার্ক ব্যবহার রক্ষা করা একটি মূল অগ্রাধিকার। যেমন, ডিবাগ রিপোর্ট ব্যাচে ঘটে।
নিম্নলিখিত সিস্টেম বৈশিষ্ট্যগুলি ব্যাচের হার এবং আকার নিয়ন্ত্রণ করে, যা উন্নয়নের জন্য নিম্ন মানগুলির সাথে সামঞ্জস্য করা যেতে পারে:
-
fledge_event_level_debug_reporting_batching_rate
-
fledge_event_level_debug_reporting_batch_size
একটি ডিবাগ রিপোর্টের প্রত্যাশিত বিলম্ব একটি নিলাম শেষ হওয়ার 15-60 মিনিটের মধ্যে হয়৷
ডিবাগ রিপোর্টের সম্পূর্ণতার কোন কঠিন গ্যারান্টি নেই। সার্ভারে কল পাঠানোর আগে ডিভাইস রিবুট হলে বা বিজ্ঞাপন প্রক্রিয়া ক্র্যাশ হলে, এই ইভেন্টগুলি বাদ দেওয়া হয়।
প্রতিটি বিজ্ঞাপন প্রযুক্তিতে প্রতি নিলামে সর্বাধিক 75টি নিবন্ধিত ডিবাগ ইউআরএল রয়েছে। সেই সীমায় পৌঁছে যাওয়ার পরে নিবন্ধিত URLগুলি নিঃশব্দে বাদ দেওয়া হয়৷
অবশেষে, ব্যবহারকারী যদি AdId নিষ্ক্রিয় করে থাকে, তাহলে ডিবাগ রিপোর্ট পাঠানো হয়। এটি বিকাশকারী পূর্বরূপ 9 এ প্রয়োগ করা হয়নি, তবে ভবিষ্যতের সংস্করণগুলিতে প্রয়োগ করা হবে৷
বিজ্ঞাপন প্রযুক্তি সার্ভার আচরণ
ডিবাগ রিপোর্টিংয়ের জন্য বিজ্ঞাপন প্রযুক্তি সার্ভারের নিম্নলিখিত আচরণ থাকা উচিত:
- ডিভাইসটি
forDebuggingOnly.*
APIs। - প্রতিটি অনুরোধ একটি একক ইভেন্ট-স্তরের ডিবাগ রিপোর্ট উপস্থাপন করে: একটি একক বিজ্ঞাপন নিলামে জয় বা নিলামে ক্ষতি।
- প্রতিটি অনুরোধের কোন শরীর নেই। সমস্ত ডেটা ক্যোয়ারী প্যারামিটারে রয়েছে।
- বড় প্রতিক্রিয়া পেলোড নেতিবাচকভাবে কর্মক্ষমতা এবং ডেটা ব্যবহার প্রভাবিত করতে পারে, এবং উপেক্ষা করা হয়।