گزارش اشکال زدایی برای مخاطبین محافظت شده

گزارش اشکال‌زدایی مخاطبان محافظت‌شده به توسعه‌دهندگان فناوری تبلیغات اجازه می‌دهد تا URLهای راه دور را برای دریافت درخواست GET از دستگاه‌ها در هنگام برنده شدن یا باختن یک حراج اعلام کنند. این امر موارد استفاده زیر را امکان‌پذیر می‌کند:

  • گزارش‌هایی از نتایج مزایده‌های برنده و بازنده دریافت کنید.
  • بفهمید که چرا مزایده‌ها با شکست مواجه می‌شوند. برای مثال: بفهمید که آیا مشکل از پیاده‌سازی اسکریپت پیشنهاد قیمت یا امتیازدهی است یا مشکل از منطق اصلی است.
  • کشف مشکلات هنگام به‌روزرسانی منطق جاوا اسکریپت

گزارش اشکال‌زدایی در سطح رویداد برای آزمایش در پیش‌نمایش توسعه‌دهندگان Privacy Sandbox 9 در دسترس است. گزارش اشکال‌زدایی در تمام دستگاه‌هایی که AdId در آنها موجود است، پشتیبانی می‌شود.

برنامه بلندمدت این است که پلتفرم بتواند نتایج حراج را با سرویس Private Aggregation گزارش دهد. این امر تضمین می‌کند که گزارش‌دهی پس از وقوع رویداد نمی‌تواند برای پیوستن مخاطبان سفارشی کاربران به برنامه ناشر استفاده شود. گزارش‌دهی در سطح رویداد موقتی است، تا زمانی که یک چارچوب گزارش‌دهی مناسب منتشر شود.

درباره [گزارش اشکال‌زدایی در پیشنهاد آزمایشی اصلی FLEDGE کروم] بیشتر بدانید][10].

کاربرد

گزارش اشکال‌زدایی با استفاده از 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 ارسال می‌شود.

متغیرهای آدرس اینترنتی

متغیرهایی که می‌توانند به آدرس اینترنتی اشکال‌زدایی اضافه شوند، مشابه متغیرهای مشابه خود در کروم هستند (هرچند ${topLevelWinningBid} و ${topLevelMadeWinningBid} در دسترس نیستند زیرا مفهومی به نام مزایده اجزا در اندروید وجود ندارد).

نام متغیر توضیحات
winningBid ارزش پیشنهاد برنده.
madeWinningBid یک مقدار بولی که نشان می‌دهد آیا خریدار این مخاطب سفارشی، چه توسط این مخاطب سفارشی و چه توسط مخاطب سفارشی دیگری با همان خریدار، پیشنهاد برنده را ارائه داده است یا خیر.
highestScoringOtherBid ارزش پیشنهادی که توسط اسکریپت scoreAd فروشنده به عنوان دومین ارزش برتر امتیازدهی شده است. توجه داشته باشید که این ممکن است دومین ارزش پیشنهادی برتر نباشد، زیرا امتیازها و پیشنهادها ممکن است مستقل باشند.
madeHighestScoringOtherBid یک مقدار بولی که نشان می‌دهد آیا خریدار این مخاطب سفارشی، پیشنهاد ${highestScoringOtherBid} را، چه توسط این مخاطب سفارشی و چه توسط مخاطب سفارشی دیگری با همان خریدار، ارائه داده است یا خیر.
rejectReason رشته‌ای که به صورت اختیاری توسط فروشنده تنظیم می‌شود و توضیح می‌دهد که چرا پیشنهاد را رد کرده‌اند. می‌تواند هر یک از مقادیر زیر باشد:

  • not-available
  • invalid-bid
  • bid-below-auction-floor
  • pending-approval-by-exchange
  • disapproved-by-exchange
  • blocked-by-publisher
  • language-exclusions
  • category-exclusions

محدودیت‌ها

  • میزبان URL باید با دامنه ثبت‌شده شما در Privacy Sandbox مطابقت داشته باشد.
  • طول URL نباید از ۴۰۹۶ کاراکتر شامل دامنه، پیشوند https:// و داده‌های حراج جایگزین شده تجاوز کند.
  • در نسخه‌های آینده، پینگ‌های اشکال‌زدایی فقط هنگام اتصال به Wi-Fi ارسال می‌شوند.

رفتار روی دستگاه

در یک محیط موبایل، محافظت از حافظه و استفاده از شبکه یک اولویت اصلی است. به همین دلیل، گزارش‌های اشکال‌زدایی به صورت دسته‌ای انجام می‌شوند.

ویژگی‌های سیستم زیر، نرخ و اندازه دسته را کنترل می‌کنند که می‌توانند برای توسعه به مقادیر پایین‌تر تنظیم شوند:

  • fledge_event_level_debug_reporting_batching_rate
  • fledge_event_level_debug_reporting_batch_size

تأخیر مورد انتظار برای گزارش اشکال‌زدایی بین ۱۵ تا ۶۰ دقیقه پس از اتمام حراج است.

هیچ تضمین قطعی در مورد کامل بودن گزارش‌های اشکال‌زدایی وجود ندارد. اگر دستگاه راه‌اندازی مجدد شود یا فرآیند خدمات تبلیغاتی قبل از ارسال تماس‌ها به سرور از کار بیفتد، این رویدادها حذف می‌شوند.

هر شرکت تبلیغاتی حداکثر ۷۵ آدرس اینترنتی اشکال‌زدایی ثبت‌شده در هر مزایده دارد. آدرس‌های اینترنتی ثبت‌شده پس از رسیدن به این محدودیت، بی‌سروصدا حذف می‌شوند.

در نهایت، اگر کاربر AdId را غیرفعال کرده باشد، گزارش‌های اشکال‌زدایی ارسال می‌شوند. این مورد در پیش‌نمایش توسعه‌دهندگان ۹ پیاده‌سازی نشده است، اما در نسخه‌های آینده پیاده‌سازی خواهد شد.

رفتار سرور فناوری تبلیغات

سرورهای فناوری تبلیغات باید رفتارهای زیر را برای گزارش اشکال‌زدایی داشته باشند:

  • دستگاه درخواست‌های GET را به سروری که شما با APIهای forDebuggingOnly.* مشخص می‌کنید، ارسال می‌کند.
  • هر درخواست نشان دهنده یک گزارش اشکال زدایی در سطح رویداد است: یک برد یا باخت در مزایده تبلیغات.
  • هر درخواست بدنه ندارد. تمام داده‌ها در پارامترهای پرس‌وجو قرار دارند.
  • بارهای پاسخ بزرگ می‌توانند بر عملکرد و استفاده از داده‌ها تأثیر منفی بگذارند و نادیده گرفته می‌شوند.