تنظیم گزارش‌های اشکال‌زدایی برای گزارش‌های Attribution، تنظیم گزارش‌های اشکال‌زدایی برای گزارش Attribution

بخش ۲ از ۳ درباره اشکال‌زدایی گزارش‌دهی انتسابی. گزارش‌های اشکال‌زدایی خود را تنظیم کنید.

واژه‌نامه

  • مبدا گزارش منبعی است که منبع گزارش Attribution و هدرهای راه‌انداز را تنظیم می‌کند. تمام گزارش های تولید شده توسط مرورگر به این مبدا ارسال می شود. در این راهنما، https://adtech.example به عنوان منبع گزارش نمونه استفاده می کنیم.
  • گزارش انتساب ( گزارش به اختصار) گزارش نهایی (در سطح رویداد یا جمع‌آوری) است که حاوی داده‌های اندازه‌گیری درخواستی شما است.
  • گزارش اشکال‌زدایی حاوی داده‌های اضافی درباره یک گزارش انتساب، یا درباره یک منبع یا رویداد راه‌انداز است. دریافت گزارش اشکال‌زدایی لزوماً به این معنی نیست که چیزی درست کار نمی‌کند! دو نوع گزارش اشکال زدایی وجود دارد
  • گزارش اشکال زدایی انتقالی یک گزارش اشکال زدایی است که برای تولید و ارسال به کوکی نیاز دارد. اگر کوکی تنظیم نشده باشد و پس از منسوخ شدن کوکی‌های شخص ثالث، گزارش‌های اشکال‌زدایی انتقالی در دسترس نخواهد بود. همه گزارش های اشکال زدایی که در این راهنما توضیح داده شده اند، گزارش های اشکال زدایی انتقالی هستند.
  • گزارش‌های اشکال‌زدایی موفقیت‌آمیز تولید موفقیت‌آمیز گزارش انتساب را دنبال می‌کنند. آنها مستقیماً به گزارش اسناد مربوط می شوند. گزارش‌های اشکال‌زدایی موفقیت آمیز از Chrome 101 (آوریل 2022) در دسترس بوده است.
  • گزارش‌های اشکال‌زدایی کامل می‌توانند گزارش‌های مفقود را ردیابی کنند و به شما در تعیین علت گم شدن آن‌ها کمک کنند. آنها مواردی را نشان می‌دهند که مرورگر یک منبع یا رویداد راه‌انداز را ثبت نکرده است (به این معنی که گزارش انتساب تولید نمی‌کند)، و مواردی که به دلایلی نمی‌توان گزارش انتساب ایجاد یا ارسال کرد. گزارش‌های اشکال‌زدایی کامل شامل یک فیلد type است که دلیل ایجاد نشدن رویداد منبع، رویداد راه‌انداز یا گزارش انتساب را توضیح می‌دهد. گزارش‌های اشکال‌زدایی کامل از Chrome 109 در دسترس هستند ( در ژانویه 2023 پایدار است ).
  • کلیدهای اشکال‌زدایی شناسه‌های منحصربه‌فردی هستند که می‌توانید هم در سمت منبع و هم در سمت ماشه تنظیم کنید. کلیدهای اشکال‌زدایی به شما امکان می‌دهند تا تبدیل‌های مبتنی بر کوکی و تبدیل‌های مبتنی بر اسناد را ترسیم کنید. هنگامی که سیستم خود را برای تولید گزارش‌های اشکال‌زدایی و تنظیم کلیدهای اشکال‌زدایی تنظیم می‌کنید، مرورگر این کلیدهای اشکال‌زدایی را در همه گزارش‌های انتساب و گزارش‌های اشکال‌زدایی گنجانده است.

برای مفاهیم بیشتر و اصطلاحات کلیدی مورد استفاده در اسناد ما، به واژه نامه جعبه ایمنی حریم خصوصی مراجعه کنید.

،
  • مبدا گزارش منبعی است که منبع گزارش Attribution و هدرهای راه‌انداز را تنظیم می‌کند. تمام گزارش های تولید شده توسط مرورگر به این مبدا ارسال می شود. در این راهنما، https://adtech.example به عنوان منبع گزارش نمونه استفاده می کنیم.
  • گزارش انتساب ( گزارش به اختصار) گزارش نهایی (در سطح رویداد یا جمع‌آوری) است که حاوی داده‌های اندازه‌گیری درخواستی شما است.
  • گزارش اشکال‌زدایی حاوی داده‌های اضافی درباره یک گزارش انتساب، یا درباره یک منبع یا رویداد راه‌انداز است. دریافت گزارش اشکال‌زدایی لزوماً به این معنی نیست که چیزی درست کار نمی‌کند! دو نوع گزارش اشکال زدایی وجود دارد
  • گزارش اشکال زدایی انتقالی یک گزارش اشکال زدایی است که برای تولید و ارسال به کوکی نیاز دارد. اگر کوکی تنظیم نشده باشد و پس از منسوخ شدن کوکی‌های شخص ثالث، گزارش‌های اشکال‌زدایی انتقالی در دسترس نخواهد بود. همه گزارش های اشکال زدایی که در این راهنما توضیح داده شده اند، گزارش های اشکال زدایی انتقالی هستند.
  • گزارش‌های اشکال‌زدایی موفقیت‌آمیز تولید موفقیت‌آمیز گزارش انتساب را دنبال می‌کنند. آنها مستقیماً به گزارش اسناد مربوط می شوند. گزارش‌های اشکال‌زدایی موفقیت آمیز از Chrome 101 (آوریل 2022) در دسترس بوده است.
  • گزارش‌های اشکال‌زدایی کامل می‌توانند گزارش‌های مفقود را ردیابی کنند و به شما در تعیین علت گم شدن آن‌ها کمک کنند. آنها مواردی را نشان می‌دهند که مرورگر یک منبع یا رویداد راه‌انداز را ثبت نکرده است (به این معنی که گزارش انتساب تولید نمی‌کند)، و مواردی که به دلایلی نمی‌توان گزارش انتساب ایجاد یا ارسال کرد. گزارش‌های اشکال‌زدایی کامل شامل یک فیلد type است که دلیل ایجاد نشدن رویداد منبع، رویداد راه‌انداز یا گزارش انتساب را توضیح می‌دهد. گزارش‌های اشکال‌زدایی کامل از Chrome 109 در دسترس هستند ( در ژانویه 2023 پایدار است ).
  • کلیدهای اشکال‌زدایی شناسه‌های منحصربه‌فردی هستند که می‌توانید هم در سمت منبع و هم در سمت ماشه تنظیم کنید. کلیدهای اشکال‌زدایی به شما امکان می‌دهند تا تبدیل‌های مبتنی بر کوکی و تبدیل‌های مبتنی بر اسناد را ترسیم کنید. هنگامی که سیستم خود را برای تولید گزارش‌های اشکال‌زدایی و تنظیم کلیدهای اشکال‌زدایی تنظیم می‌کنید، مرورگر این کلیدهای اشکال‌زدایی را در همه گزارش‌های انتساب و گزارش‌های اشکال‌زدایی گنجانده است.

برای مفاهیم بیشتر و اصطلاحات کلیدی مورد استفاده در اسناد ما، به واژه نامه جعبه ایمنی حریم خصوصی مراجعه کنید.

سوالات مربوط به پیاده سازی؟

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

آماده‌سازی برای تنظیم گزارش‌های اشکال‌زدایی

قبل از تنظیم گزارش‌های اشکال‌زدایی، این مراحل را دنبال کنید:

بررسی کنید که آیا بهترین شیوه‌ها را برای ادغام API به کار گرفته‌اید یا خیر.

  • بررسی کنید که کد شما از تشخیص ویژگی‌ها مصون باشد. برای اطمینان از اینکه API توسط Permissions-Policy مسدود نشده باشد، کد زیر را اجرا کنید:

    if (document.featurePolicy.allowsFeature('attribution-reporting')) {
    // the Attribution Reporting API is enabled
    }
    

    اگر این بررسی تشخیص ویژگی مقدار درست (true) را برگرداند، API در زمینه‌ای (صفحه‌ای) که بررسی در آن اجرا می‌شود، مجاز است.

  • (در مرحله آزمایش لازم نیست: بررسی کنید که آیا Permissions-Policy تنظیم کرده‌اید یا خیر.)

رفع مشکلات اساسی ادغام

اگرچه گزارش‌های اشکال‌زدایی برای کمک به شما در تشخیص و تحلیل تلفات در مقیاس بزرگ مفید هستند، اما برخی از مشکلات ادغام را می‌توان به صورت محلی تشخیص داد. مشکلات پیکربندی نادرست سربرگ منبع و تریگر، مشکلات تجزیه JSON، زمینه ناامن (غیر HTTPS) و سایر مشکلاتی که مانع از عملکرد API می‌شوند، در تب مشکلات DevTools نمایش داده می‌شوند.

مشکلات DevTools می‌توانند انواع مختلفی داشته باشند. اگر با مشکل invalid header مواجه شدید، هدر را در ابزار اعتبارسنجی هدر کپی کنید. این به شما کمک می‌کند فیلدی را که باعث ایجاد مشکل می‌شود شناسایی و برطرف کنید.

اعتبارسنجی سربرگ‌های گزارش‌های انتساب

شما می‌توانید از اعتبارسنج هدر برای اعتبارسنجی هدرهای مربوط به API گزارش‌دهی Attribution استفاده کنید. می‌توانید خطاهای اعتبارسنجی ناشی از مرورگر را رصد کنید تا اشکال‌زدایی API را تسهیل کنید.

برای دریافت گزارش‌های اشکال‌زدایی، در پاسخ از report-header-errors به ​​عنوان بخشی از سربرگ پاسخ Attribution-Reporting-Info استفاده کنید.

Attribution-Reporting-Info: report-header-errors

توجه داشته باشید که Attribution-Reporting-Info یک سرآیند با ساختار دیکشنری Attribution-Reporting-Info است، بنابراین ارائه کلید Boolean report-header-errors به ​​معنای مقدار صحیح (true) است.

گزارش‌های اشکال‌زدایی بلافاصله به نقطه پایانی گزارش‌دهی ارسال می‌شوند:

https://<reporting origin>/.well-known/attribution-reporting/debug/verbose

داده‌های گزارش به صورت فهرستی از اشیاء به شکل JSON در بدنه درخواست قرار می‌گیرند:

[{
  "type": "header-parsing-error",
  "body": {
    "context_site": "https://source.example",
    "header": "Attribution-Reporting-Register-Source",
    "value": "!!!", // header value received in the response
    "error": "invalid JSON" // optional error details that may vary across browsers or different versions of the same browser
  }
}]
ابزار اعتبارسنجی هدر
ابزار اعتبارسنجی هدر

تنظیم گزارش‌های اشکال‌زدایی: مراحل مشترک برای گزارش‌های موفقیت و گزارش‌های تفصیلی

کوکی زیر را روی مبدا گزارش تنظیم کنید:

Set-Cookie: ar_debug=1; SameSite=None; Secure; Path=/; HttpOnly

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

کد نمایشی: کوکی اشکال‌زدایی

توجه داشته باشید که گزارش‌های اشکال‌زدایی را می‌توان برای مرورگرها در حالت B فعال کرد، جایی که کوکی‌های شخص ثالث برای تسهیل آزمایش و آماده‌سازی برای حذف کوکی‌های شخص ثالث غیرفعال هستند. برای مرورگرها در حالت B، نیازی به تنظیم کوکی اشکال‌زدایی برای فعال کردن گزارش‌های اشکال‌زدایی ندارید. برای تنظیم کلیدهای اشکال‌زدایی برای گزارش‌های اشکال‌زدایی موفقیت‌آمیز، به مرحله 2 بروید.

مرحله ۲: تنظیم کلیدهای اشکال‌زدایی

هر کلید اشکال‌زدایی باید یک عدد صحیح بدون علامت ۶۴ بیتی باشد که به صورت رشته‌ای در مبنای ۱۰ قالب‌بندی شده است. برای هر کلید اشکال‌زدایی یک شناسه منحصر به فرد در نظر بگیرید. گزارش اشکال‌زدایی موفقیت‌آمیز فقط در صورتی ایجاد می‌شود که کلیدهای اشکال‌زدایی تنظیم شده باشند.

  • کلید اشکال‌زدایی سمت منبع را به اطلاعات زمان منبع اضافی که فکر می‌کنید برای اشکال‌زدایی مرتبط هستند، نگاشت کنید.
  • کلید اشکال‌زدایی سمت تریگر را به اطلاعات اضافی زمان تریگر که فکر می‌کنید برای اشکال‌زدایی مرتبط هستند، نگاشت کنید.

برای مثال می‌توانید کلیدهای اشکال‌زدایی زیر را تنظیم کنید:

  • شناسه کوکی + مهر زمانی منبع به عنوان کلید اشکال‌زدایی منبع (و ثبت همان مهر زمانی در سیستم مبتنی بر کوکی شما)
  • شناسه کوکی + مهر زمانی تریگر به عنوان کلید اشکال‌زدایی تریگر (و ثبت همان مهر زمانی در سیستم مبتنی بر کوکی شما)

با این کار، می‌توانید از اطلاعات تبدیل مبتنی بر کوکی برای جستجوی گزارش‌های اشکال‌زدایی یا گزارش‌های انتساب مربوطه استفاده کنید. در بخش 3: کتاب آشپزی بیشتر بیاموزید.

کلید اشکال‌زدایی سمت منبع را متفاوت از source_event_id قرار دهید تا بتوانید گزارش‌های جداگانه‌ای را که شناسه رویداد منبع یکسانی دارند، از هم متمایز کنید.

Attribution-Reporting-Register-Source:
{
// … Usual fields for Attribution-Reporting-Register-Source
"debug_key":"647775351539539"
}
Attribution-Reporting-Register-Trigger:
{
// … Usual fields for Attribution-Reporting-Register-Trigger
"debug_key":"938321351539743"
}

کد نمایشی: کلید اشکال‌زدایی منبع کد نمایشی: کلید اشکال‌زدایی تریگر

گزارش‌های اشکال‌زدایی موفقیت‌آمیز را تنظیم کنید

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

مرحله ۳: یک نقطه پایانی برای جمع‌آوری گزارش‌های اشکال‌زدایی موفقیت‌آمیز تنظیم کنید

یک نقطه پایانی برای جمع‌آوری گزارش‌های اشکال‌زدایی تنظیم کنید. این نقطه پایانی باید مشابه نقطه پایانی اصلی باشد، به همراه یک رشته debug اضافی در مسیر:

  • نقطه پایانی برای گزارش‌های اشکال‌زدایی موفقیت‌آمیز در سطح رویداد : https://adtech.example/.well-known/attribution-reporting/debug/report-event-attribution
    • نقطه پایانی برای گزارش‌های اشکال‌زدایی موفقیت‌آمیز تجمیعی : https://adtech.example/.well-known/attribution-reporting/debug/report-aggregate-attribution

وقتی یک attribution فعال می‌شود، مرورگر بلافاصله با استفاده از یک درخواست POST ، یک گزارش اشکال‌زدایی به این نقطه پایانی ارسال می‌کند. کد سرور شما برای مدیریت گزارش‌های اشکال‌زدایی موفقیت‌آمیز ورودی ممکن است به شکل زیر باشد (اینجا روی یک نقطه پایانی گره):

// Handle incoming event-Level Success Debug reports
adtech.post(
  '/.well-known/attribution-reporting/debug/report-event-attribution',
  async (req, res) => {
    // Debug report is in req.body
    res.sendStatus(200);
  }
);

// Handle incoming aggregatable Success Debug reports
adtech.post(
  '/.well-known/attribution-reporting/debug/report-aggregate-attribution',
  async (req, res) => {
    // Debug report is in req.body
    res.sendStatus(200);
  }
);

کد نمایشی: نقطه پایانی گزارش‌های اشکال‌زدایی در سطح رویداد

کد نمایشی: نقطه پایانی گزارش‌های اشکال‌زدایی قابل تجمیع

مرحله ۴: تأیید کنید که تنظیمات شما گزارش‌های اشکال‌زدایی موفقیت‌آمیزی ایجاد خواهد کرد

  • chrome://attribution-internals در مرورگر خود باز کنید.
  • مطمئن شوید که کادر انتخاب «نمایش گزارش‌های اشکال‌زدایی» در هر دو برگه « گزارش‌های سطح رویداد» و « گزارش‌های تجمیعی» علامت زده شده باشد.
  • سایت‌هایی را که گزارش‌دهی انتسابی را در آن‌ها پیاده‌سازی کرده‌اید، باز کنید. مراحلی را که برای تولید گزارش‌های انتسابی استفاده می‌کنید، تکمیل کنید؛ همین مراحل، گزارش‌های اشکال‌زدایی موفقیت‌آمیز را نیز ایجاد خواهند کرد.
  • در chrome://attribution-internals :
    • بررسی کنید که گزارش‌های انتساب به درستی تولید شده باشند.
    • در تب گزارش‌های سطح رویداد و تب گزارش‌های تجمیعی ، بررسی کنید که گزارش‌های اشکال‌زدایی موفقیت‌آمیز نیز تولید شده باشند. آن‌ها را در لیست با مسیر debug آبی‌رنگشان تشخیص دهید.
داخلی‌های انتساب
داخلی‌های انتساب
  • روی سرور خود، تأیید کنید که نقطه پایانی شما بلافاصله این گزارش‌های اشکال‌زدایی موفقیت‌آمیز را دریافت می‌کند. حتماً گزارش‌های اشکال‌زدایی موفقیت‌آمیز در سطح رویداد و تجمیعی را بررسی کنید.
گزارش لاگ‌های سرور مبدا
گزارش لاگ‌های سرور مبدا

مرحله ۵: مشاهده گزارش‌های اشکال‌زدایی موفقیت‌آمیز

گزارش اشکال‌زدایی موفقیت‌آمیز مشابه گزارش انتساب است و شامل کلیدهای اشکال‌زدایی سمت منبع و سمت فعال‌ساز می‌شود.

{
  "attribution_destination": "https://advertiser.example",
  "randomized_trigger_rate": 0.0000025,
  "report_id": "7d76ef29-d59e-4954-9fff-d97a743b4715",
  "source_debug_key": "647775351539539",
  "source_event_id": "760938763735530",
  "source_type": "event",
  "trigger_data": "0",
  "trigger_debug_key": "156477391437535"
}

{
  "aggregation_service_payloads": [
    {
      "debug_cleartext_payload": "omRkYXRhgqJldmFsdWVEAACAAGZidWNrZXRQPPhnkD+7c+wm1RjAlowp3KJldmFsdWVEAAARMGZidWNrZXRQJFJl9DLxbnMm1RjAlowp3GlvcGVyYXRpb25paGlzdG9ncmFt",
      "key_id": "d5f32b96-abd5-4ee5-ae23-26490d834012",
      "payload": "0s9mYVIuznK4WRV/t7uHKquHPYCpAN9mZHsUGNiYd2G/9cg87Y0IjlmZkEtiJghMT7rmg3GtWVPWTJU5MvtScK3HK3qR2W8CVDmKRAhqqlz1kPZfdGUB4NsXGyVCy2UWapklE/r7pmRDDP48b4sQTyDMFExQGUTE56M/8WFVQ0qkc7UMoLI/uwh2KeIweQCEKTzw"
    }
  ],
  "shared_info": "{\"api\":\"attribution-reporting\",\"attribution_destination\":\"https://advertiser.example\",\"debug_mode\":\"enabled\",\"report_id\":\"4a04f0ff-91e7-4ef6-9fcc-07d000c20495\",\"reporting_origin\":\"https://adtech.example\",\"scheduled_report_time\":\"1669888617\",\"source_registration_time\":\"1669852800\",\"version\":\"0.1\"}",
  "source_debug_key": "647775351539539",
  "trigger_debug_key": "156477391437535"
}

گزارش‌های اشکال‌زدایی مفصل تنظیم کنید

مرحله ۳: اشکال‌زدایی مفصل را در هدرهای منبع و تریگر انتخاب کنید

debug_reporting هم در Attribution-Reporting-Register-Source و هم Attribution-Reporting-Register-Trigger روی true تنظیم کنید.

Attribution-Reporting-Register-Source:
{
// … Usual fields for Attribution-Reporting-Register-Source
"debug_key":"938321351539743",
"debug_reporting": true // defaults to false if not present
}

Attribution-Reporting-Register-Trigger:
{
// … Usual fields for Attribution-Reporting-Register-Trigger
"debug_key":"938321351539743",
"debug_reporting": true // defaults to false if not present
}

کد نمایشی: هدر منبع

کد نمایشی: هدر تریگر

مرحله ۴: یک نقطه پایانی برای جمع‌آوری گزارش‌های اشکال‌زدایی مفصل تنظیم کنید

یک نقطه پایانی برای جمع‌آوری گزارش‌های اشکال‌زدایی تنظیم کنید. این نقطه پایانی باید مشابه نقطه پایانی اصلی تخصیص باشد، به همراه یک رشته debug/verbose اضافی در مسیر:

https://adtech.example/.well-known/attribution-reporting/debug/verbose

وقتی گزارش‌های اشکال‌زدایی مفصل ایجاد می‌شوند، یعنی وقتی منبع یا تریگر ثبت نشده باشد، مرورگر بلافاصله با استفاده از یک درخواست POST یک گزارش اشکال‌زدایی مفصل به این نقطه پایانی ارسال می‌کند. کد سرور شما برای مدیریت گزارش‌های اشکال‌زدایی مفصل ورودی ممکن است به شکل زیر باشد (اینجا روی یک نقطه پایانی گره):

// Handle incoming verbose debug reports
adtech.post(
  '/.well-known/attribution-reporting/debug/verbose',
  async (req, res) => {
    // List of verbose debug reports is in req.body
    res.sendStatus(200);
  }
);

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

کد نمایشی: نقطه پایانی گزارش‌های اشکال‌زدایی مفصل

مرحله ۵: تأیید کنید که تنظیمات شما گزارش‌های اشکال‌زدایی مفصل تولید می‌کند

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

  1. chrome://attribution-internals در مرورگر خود باز کنید.
  2. یک انتساب (تبدیل) را در سایت خود که با گزارش انتساب تنظیم شده است، فعال کنید. با توجه به اینکه قبل از این تبدیل هیچ تعامل تبلیغاتی (نمایش یا کلیک) وجود نداشته است، باید انتظار داشته باشید که یک گزارش اشکال‌زدایی طولانی از نوع trigger-no-matching-source ایجاد شود.
  3. در chrome://attribution-internals ، برگه‌ی Verbose debug reports را باز کنید و بررسی کنید که یک گزارش اشکال‌زدایی verbose از نوع trigger-no-matching-source ایجاد شده باشد.
  4. روی سرور خود، تأیید کنید که دستگاه انتهایی شما بلافاصله این گزارش اشکال‌زدایی مفصل را دریافت کرده است.

مرحله ۶: گزارش‌های اشکال‌زدایی مفصل را مشاهده کنید

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

نمونه‌ای از درخواستی که حاوی گزارش‌های اشکال‌زدایی مفصل است و توسط مرورگر ارسال می‌شود:

[
  {
    "body": {
      "attribution_destination": "http://arapi-advertiser.localhost",
      "randomized_trigger_rate": 0.0000025,
      "report_id": "92b7f4fd-b157-4925-999e-aad6361de759",
      "source_debug_key": "282273499788483",
      "source_event_id": "480041649210491",
      "source_type": "event",
      "trigger_data": "1",
      "trigger_debug_key": "282273499788483"
    },
    "type": "trigger-event-low-priority"
  },
  {
    "body": {
      "attribution_destination": "http://arapi-advertiser.localhost",
      "limit": "65536",
      "source_debug_key": "282273499788483",
      "source_event_id": "480041649210491",
      "source_site": "http://arapi-publisher.localhost",
      "trigger_debug_key": "282273499788483"
    },
    "type": "trigger-aggregate-insufficient-budget"
  }
]

هر گزارش مفصل شامل فیلدهای زیر است:

Type
چه چیزی باعث ایجاد گزارش شده است. برای آشنایی با انواع گزارش‌های مفصل و اقداماتی که باید بسته به هر نوع انجام دهید، مرجع گزارش‌های مفصل را در بخش ۳: کتاب آشپزی اشکال‌زدایی مرور کنید.
Body
بدنه گزارش. بستگی به نوع آن دارد. مرجع گزارش‌های مفصل را در بخش ۳: کتاب آشپزی اشکال‌زدایی مرور کنید.

بدنه‌ی یک درخواست حداقل شامل یک و حداکثر دو گزارش مفصل خواهد بود:

  • یک گزارش مفصل اگر خرابی فقط بر گزارش‌های سطح رویداد تأثیر بگذارد (یا اگر فقط بر گزارش‌های قابل تجمیع تأثیر بگذارد). خرابی ثبت منبع یا تریگر فقط یک دلیل دارد؛ از این رو می‌توان به ازای هر خرابی و هر نوع گزارش (سطح رویداد یا قابل تجمیع) یک گزارش مفصل ایجاد کرد.
  • دو گزارش مفصل در صورتی که خرابی هم گزارش‌های سطح رویداد و هم گزارش‌های قابل تجمیع را تحت تأثیر قرار دهد - با یک استثنا: اگر دلیل خرابی برای گزارش‌های سطح رویداد و قابل تجمیع یکسان باشد، فقط یک گزارش مفصل تولید می‌شود (مثال: trigger-no-matching-source )

بعدی

بخش ۳: اشکال‌زدایی کتاب آشپزی