گزارش اشکال زدایی مخاطب محافظت شده به توسعه دهندگان فناوری تبلیغات اجازه می دهد تا URL های راه دور را برای دریافت درخواست GET از دستگاه ها در هنگام برنده شدن یا باختن یک حراج اعلام کنند. این موارد استفاده زیر را فعال می کند:
- دریافت گزارش نتایج حراج برنده و باخت.
- بدانید چرا حراج ها از بین می روند. به عنوان مثال: درک کنید که آیا مشکلی با اجرای پیشنهاد یا امتیازدهی اسکریپت یا یک مشکل منطقی اصلی است.
- وقتی منطق جاوا اسکریپت به روز می شود مشکلات را کشف کنید
گزارش اشکالزدایی در سطح رویداد برای آزمایش در Privacy Sandbox Developer Preview 9 در دسترس است. گزارش اشکالزدایی در همه دستگاههایی که AdId در دسترس است پشتیبانی میشود.
برنامه بلندمدت این است که پلتفرم را قادر سازد تا نتایج حراج را با سرویس Private Aggregation گزارش دهد. این تضمین میکند که از گزارش پس از وقوع نمیتوان برای پیوستن مخاطبان سفارشی کاربران به برنامه ناشر استفاده کرد. گزارشدهی در سطح رویداد موقتی است، تا زمانی که یک چارچوب گزارشدهی مناسب منتشر شود.
درباره گزارش اشکالزدایی در پیشنهاد آزمایشی اصلی FLEDGE Chrome بیشتر بیاموزید.
استفاده
گزارش اشکال زدایی با استفاده از 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}
با ارزش واقعی جایگزین میشود.
فروشندگان ممکن است به صورت اختیاری یک rejectReason
را از عملکرد scoreAds
خود برگردانند:
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 | ارزش پیشنهادی که توسط اسکریپت scoreAd فروشنده به عنوان دومین امتیاز بالاترین امتیاز را کسب کرد. توجه داشته باشید که این ممکن است دومین ارزش پیشنهادی نباشد، زیرا امتیازها و پیشنهادها ممکن است مستقل باشند. |
madeHighestScoringOtherBid | یک مقدار بولی که نشان میدهد خریدار این مخاطب سفارشی پیشنهاد ${highestScoringOtherBid} را یا توسط این مخاطب سفارشی یا مخاطب سفارشی دیگری با همان خریدار ارائه کرده است. |
rejectReason | رشته ای که به صورت اختیاری توسط فروشنده تنظیم می شود و توضیح می دهد که چرا یک پیشنهاد را رد کرده است. می تواند یکی از مقادیر زیر باشد:
|
محدودیت ها
- میزبان URL باید با دامنه Sandbox حریم خصوصی ثبت شده شما مطابقت داشته باشد.
- URL نباید از 4096 کاراکتر از جمله دامنه، پیشوند
https://
و دادههای حراج جایگزین تجاوز کند. - در نسخههای بعدی، پینگهای رفع اشکال تنها زمانی ارسال میشوند که به Wi-Fi متصل شوند.
رفتار روی دستگاه
در یک محیط تلفن همراه، حفاظت از حافظه و استفاده از شبکه یک اولویت اصلی است. به این ترتیب، گزارش های اشکال زدایی به صورت دسته ای اتفاق می افتد.
ویژگیهای سیستم زیر نرخ و اندازه دستهای را کنترل میکنند که میتوان آنها را به مقادیر کمتری برای توسعه تنظیم کرد:
-
fledge_event_level_debug_reporting_batching_rate
-
fledge_event_level_debug_reporting_batch_size
تأخیر مورد انتظار گزارش اشکال زدایی بین 15 تا 60 دقیقه پس از اتمام حراج است.
هیچ تضمین سختی در مورد کامل بودن گزارش های اشکال زدایی وجود ندارد. اگر دستگاه راهاندازی مجدد شود یا فرآیند خدمات تبلیغاتی قبل از ارسال تماسها به سرور از کار بیفتد، این رویدادها حذف میشوند.
هر فناوری تبلیغاتی دارای حداکثر 75 URL اشکال زدایی ثبت شده در هر حراج است. نشانیهای اینترنتی ثبتشده پس از رسیدن به آن محدودیت، بیصدا حذف میشوند.
در نهایت، اگر کاربر AdId را غیرفعال کرده باشد، گزارش های اشکال زدایی ارسال می شود. این در Developer Preview 9 پیاده سازی نشده است، اما در نسخه های بعدی پیاده سازی خواهد شد.
رفتار سرور فناوری تبلیغات
سرورهای فناوری تبلیغات باید رفتارهای زیر را برای گزارش اشکال زدایی داشته باشند:
- دستگاه درخواستهای GET را به سروری که شما تعیین کردهاید با APIهای
forDebuggingOnly.*
ارسال میکند. - هر درخواست یک گزارش اشکال زدایی در سطح رویداد را نشان می دهد: یک برد مزایده آگهی یا ضرر در حراج.
- هر درخواستی بدن ندارد. تمام داده ها در پارامترهای پرس و جو هستند.
- بارهای پاسخ بزرگ می توانند بر عملکرد و استفاده از داده تأثیر منفی بگذارند و نادیده گرفته می شوند.
گزارش اشکال زدایی مخاطب محافظت شده به توسعه دهندگان فناوری تبلیغات اجازه می دهد تا URL های راه دور را برای دریافت درخواست GET از دستگاه ها در هنگام برنده شدن یا باختن یک حراج اعلام کنند. این موارد استفاده زیر را فعال می کند:
- دریافت گزارش نتایج حراج برنده و باخت.
- بدانید چرا حراج ها از بین می روند. به عنوان مثال: درک کنید که آیا مشکلی با اجرای پیشنهاد یا امتیازدهی اسکریپت یا یک مشکل منطقی اصلی است.
- وقتی منطق جاوا اسکریپت به روز می شود مشکلات را کشف کنید
گزارش اشکالزدایی در سطح رویداد برای آزمایش در Privacy Sandbox Developer Preview 9 در دسترس است. گزارش اشکالزدایی در همه دستگاههایی که AdId در دسترس است پشتیبانی میشود.
برنامه بلندمدت این است که پلتفرم را قادر سازد تا نتایج حراج را با سرویس Private Aggregation گزارش دهد. این تضمین میکند که از گزارش پس از وقوع نمیتوان برای پیوستن مخاطبان سفارشی کاربران به برنامه ناشر استفاده کرد. گزارشدهی در سطح رویداد موقتی است، تا زمانی که یک چارچوب گزارشدهی مناسب منتشر شود.
درباره گزارش اشکالزدایی در پیشنهاد آزمایشی اصلی FLEDGE Chrome بیشتر بیاموزید.
استفاده
گزارش اشکال زدایی با استفاده از 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}
با ارزش واقعی جایگزین میشود.
فروشندگان ممکن است به صورت اختیاری یک rejectReason
را از عملکرد scoreAds
خود برگردانند:
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 | ارزش پیشنهادی که توسط اسکریپت scoreAd فروشنده به عنوان دومین امتیاز بالاترین امتیاز را کسب کرد. توجه داشته باشید که این ممکن است دومین ارزش پیشنهادی نباشد، زیرا امتیازها و پیشنهادها ممکن است مستقل باشند. |
madeHighestScoringOtherBid | یک مقدار بولی که نشان میدهد خریدار این مخاطب سفارشی پیشنهاد ${highestScoringOtherBid} را یا توسط این مخاطب سفارشی یا مخاطب سفارشی دیگری با همان خریدار ارائه کرده است. |
rejectReason | رشته ای که به صورت اختیاری توسط فروشنده تنظیم می شود و توضیح می دهد که چرا یک پیشنهاد را رد کرده است. می تواند یکی از مقادیر زیر باشد:
|
محدودیت ها
- میزبان URL باید با دامنه Sandbox حریم خصوصی ثبت شده شما مطابقت داشته باشد.
- URL نباید از 4096 کاراکتر از جمله دامنه، پیشوند
https://
و دادههای حراج جایگزین تجاوز کند. - در نسخههای بعدی، پینگهای رفع اشکال تنها زمانی ارسال میشوند که به Wi-Fi متصل شوند.
رفتار روی دستگاه
در یک محیط تلفن همراه، حفاظت از حافظه و استفاده از شبکه یک اولویت اصلی است. به این ترتیب، گزارش های اشکال زدایی به صورت دسته ای اتفاق می افتد.
ویژگیهای سیستم زیر نرخ و اندازه دستهای را کنترل میکنند که میتوان آنها را به مقادیر کمتری برای توسعه تنظیم کرد:
-
fledge_event_level_debug_reporting_batching_rate
-
fledge_event_level_debug_reporting_batch_size
تأخیر مورد انتظار گزارش اشکال زدایی بین 15 تا 60 دقیقه پس از اتمام حراج است.
هیچ تضمین سختی در مورد کامل بودن گزارش های اشکال زدایی وجود ندارد. اگر دستگاه راهاندازی مجدد شود یا فرآیند خدمات تبلیغاتی قبل از ارسال تماسها به سرور از کار بیفتد، این رویدادها حذف میشوند.
هر فناوری تبلیغاتی دارای حداکثر 75 URL اشکال زدایی ثبت شده در هر حراج است. نشانیهای اینترنتی ثبتشده پس از رسیدن به آن محدودیت، بیصدا حذف میشوند.
در نهایت، اگر کاربر AdId را غیرفعال کرده باشد، گزارش های اشکال زدایی ارسال می شود. این در Developer Preview 9 پیاده سازی نشده است، اما در نسخه های بعدی پیاده سازی خواهد شد.
رفتار سرور فناوری تبلیغات
سرورهای فناوری تبلیغات باید رفتارهای زیر را برای گزارش اشکال زدایی داشته باشند:
- دستگاه درخواستهای GET را به سروری که شما تعیین کردهاید با APIهای
forDebuggingOnly.*
ارسال میکند. - هر درخواست یک گزارش اشکال زدایی در سطح رویداد را نشان می دهد: یک برد مزایده آگهی یا ضرر در حراج.
- هر درخواستی بدن ندارد. تمام داده ها در پارامترهای پرس و جو هستند.
- بارهای پاسخ بزرگ می توانند بر عملکرد و استفاده از داده تأثیر منفی بگذارند و نادیده گرفته می شوند.