כלים לניפוי באגים בבעיות שקשורות ל-Shared Storage.
ניפוי באגים של worklets של Shared Storage באמצעות DevTools
כדי לבדוק את ה-worklets של האחסון המשותף שהופעלו מהדף שבו אתם נמצאים, אפשר לעבור לכרטיסייה Sources (מקורות) בחלונית DevTools ולהוסיף את נקודת העצירה של מאזין האירועים Shared Storage Worklet / Script First Statement (הצהרה ראשונה של סקריפט או worklet של אחסון משותף). נקודת העצירה הזו תשהה את ההפעלה הראשונית של סקריפט המודול או של רכיבי ה-worklet לטווח קצר בזמן ההפעלה.
בנוסף, בדף chrome://inspect/#shared-storage-worklets מוצגים כל הווידג'טים הפעילים של האחסון המשותף מכל הדפים.
ניפוי באגים של Shared Storage ו-Private Aggregation
כדי להפעיל ניפוי באגים, צריך להפעיל את שיטת JavaScript enableDebugMode() באותו הקשר שבו נעשה שימוש באחסון משותף ובצבירה פרטית. הבחירה הזו תחול על דוחות עתידיים באותו הקשר.
privateAggregation.enableDebugMode();
כדי לשייך את הדוחות לקונטקסטים שהפעילו אותם, אפשר להגדיר מפתח ניפוי באגים של מספר שלם ללא סימן באורך 64 ביט, שיוענק לקריאה של JavaScript. הערך של debugKey הוא BigInt.
privateAggregation.enableDebugMode({debugKey: 1234});
ניפוי באגים בנפח אחסון משותף
מוצגת הודעת שגיאה כללית ב-Shared Storage:
Promise is rejected without and explicit error message
כדי לנפות באגים ב-Shared Storage, אפשר לעטוף את הקריאות בבלוק 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. דוחות ניפוי באגים מקבלים מטען ייעודי (payload) שדומה ל-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 מקודד ב-CBOR Base64. אפשר להציג את הקטגוריה ואת הערך באמצעות המפענח או באמצעות קוד JavaScript שנמצא במפענח של אחסון משותף.
השתתפות ושיתוף משוב
שימו לב שההצעה לגבי Shared Storage API נמצאת כרגע בתהליכי דיון ופיתוח, ויכול להיות שהיא תשתנה.
נשמח לשמוע מה דעתכם על Shared Storage API.
- הצעה: כדאי לעיין בהצעה המפורטת.
- דיון: הצטרפו לדיון הפעיל כדי לשאול שאלות ולשתף תובנות.