اشکال زدایی حافظه مشترک

ابزارهایی برای اشکال‌زدایی مشکلات مربوط به فضای ذخیره‌سازی مشترک.

اشکال‌زدایی کتابچه‌های کاری Shared Storage با DevTools

برای بررسی فایل‌های Shared Storage که از صفحه‌ای که در آن هستید شروع شده‌اند، می‌توانید به تب "Sources" در پنل DevTools مراجعه کنید و نقطه توقف شنونده رویداد "Shared Storage Worklet / Script First Statement" را اضافه کنید. این نقطه توقف، اجرای اسکریپت ماژول اولیه یا فایل‌های کوتاه‌مدت را در هنگام راه‌اندازی متوقف می‌کند.

اشکال‌زدایی یک کتابچه‌ی ذخیره‌سازی مشترک با افزودن شنونده‌ی سطح رویداد.
می‌توان یک نقطه توقف به یک کتابچه کاری Shared Storage اضافه کرد.

علاوه بر این، صفحه chrome://inspect/#shared-storage-worklets تمام worklets های فعال Shared Storage را از تمام صفحات نشان می‌دهد.

اشکال‌زدایی ذخیره‌سازی مشترک و تجمیع خصوصی

برای فعال کردن اشکال‌زدایی، متد جاوا اسکریپت enableDebugMode() را در همان زمینه‌ای که Shared Storage و Private Aggregation استفاده می‌شوند، فراخوانی کنید. این برای گزارش‌های آینده در همان زمینه اعمال خواهد شد.

privateAggregation.enableDebugMode();

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

privateAggregation.enableDebugMode({debugKey: 1234});

اشکال‌زدایی فضای ذخیره‌سازی مشترک

ذخیره‌سازی مشترک یک پیام خطای عمومی برمی‌گرداند:

Promise is rejected without and explicit error message

شما می‌توانید با قرار دادن فراخوانی‌ها در بلوک‌های try-catch، حافظه مشترک را اشکال‌زدایی کنید.

try {
  privateAggregation.contributeToHistogram({bucket, value});
} catch (e){
  console.log(e);
}

اشکال‌زدایی تجمیع خصوصی

گزارش‌ها به /.well-known/private-aggregation/report-shared-storage و /.well-known/private-aggregation/debug/report-shared-storage ارسال می‌شوند. گزارش‌های اشکال‌زدایی، فایلی مشابه JSON زیر دریافت می‌کنند. این فایل، فیلد api را به عنوان "shared-storage" تعریف می‌کند.

{
   "aggregation_coordinator_origin": "https://publickeyservice.msmt.gcp.privacysandboxservices.com",
   "aggregation_service_payloads": [ {
      "debug_cleartext_payload": "omRkYXRhlKJldmFsdWVEAAAAgGZidWNrZXRQAAAAAAAAAAAAAAAAB1vNFaJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAGlvcGVyYXRpb25paGlzdG9ncmFt",
      "key_id": "1569ab37-da44-4a26-80d9-5ed6524ab2a7",
      "payload": "/9nHrWn1MnJWRxFvanbubciWE9mPyIij6uYLi5k351eQCd3/TZpe2knaatUNcniq4a4e61tmKebv50OmMRZFnnCfcAwIdIgLHu1a3en97PojqWJBfO52RiVMIcP7KQTLzMxq2LhvPSdV4zjXo1Teu/JuIK3LIyis3vUMpS+tUAX0QV+I6X5SVmZFiNW9aMb8DwLOtqrBy5JJ/EkOIY0G+1Fi1/3R7UtKsqM1o71A/OzdmlNkwO7EV/VUNinGvWnd19FvDHe/kqkNdTHKbhAnMmbZzHW9bsEQS81leElCla6BTdbdbeeFU/jbTj0AOaoNOIe5r7FU5NG6nW4ULXTCbLLjTQ1mtl3id3IP41Zin1JvABCDC/HUSgLFz8EUqkmbMIOlMfNYA79aURq6FqE0GO0HtICYf0GPNdVv7p4jY3FNn6+JS4l5F3t+3lP9ceo4IpCE+31jzMtYJ+19xFh6C5ufteBR/iknZFcc1w3caQBhgRl5jt8DbaOzYcW4690H8Ul4Oh2wRO+6/njifk+pExLay/O5swLi2lUUph5OUEaaztwwzh2mnhwIBxMkPnfsGihiF+5KDEajVfMZ3NLsIDoZO+l4RTZrkqE+jVkAqaZGBiCIx42Edp/JV0DXfrryypCdQBZr8iEbSzCM9hKsMfLN7S/VkPe5rDwOZbhKCn5XXgfGz5tSx/KbZgsQf4OCEhwAyNPHAh3MHU7xmkQ3pKg4EIUC/WOtKAlVDOtDMmPPoQY1eAwJhw9SxZaYF1kHjUkTm3EnGhgXgOwCRWqeboNenSFaCyp6DbFNI3+ImONMi2oswrrZO+54Tyhca5mnLIiInI+C3SlP4Sv1jFECIUdf/mifJRM5hMj6OChzHf4sEifjqtD4A30c4OzGexWarie2xakdQej9Go4Lm0GZEDBfcAdWLT9HwmpeI2u4HDAblXDvLN8jYFDOOtzOl90oU7AwdhkumUCFLRadXAccXW9SvLfDswRkXMffMJLFqkRKVE1GPonFFtlzaRqp7IgE8L6AOtz6NDcxAjHnEuzDPPMcWMl1AFH0gq7h"
   } ],
   "debug_key": "1234",
   "shared_info": "{\"api\":\"shared-storage\",\"debug_mode\":\"enabled\",\"report_id\":\"80d93c0a-a94e-4ab7-aeb5-a4ecd4bfc598\",\"reporting_origin\":\"https://privacy-sandbox-demos-dsp.dev\",\"scheduled_report_time\":\"1717784740\",\"version\":\"0.1\"}"
}

اشکال‌زدایی محموله متن شفاف

debug_cleartext_payload با کدگذاری Base64 CBOR است. می‌توانید باکت و مقدار آن را با استفاده از رمزگشا مشاهده کنید یا از کد جاوا اسکریپت موجود در رمزگشای Shared Storage استفاده کنید.

مشارکت کنید و بازخورد خود را به اشتراک بگذارید

توجه داشته باشید که پیشنهاد API ذخیره‌سازی مشترک (Shared Storage API) در دست بحث و توسعه فعال است و بنابراین ممکن است تغییر کند.

مشتاقانه منتظر شنیدن نظرات شما در مورد API ذخیره‌سازی مشترک هستیم.