כלים לניפוי באגים ב-Shared Storage.
ניפוי באגים ב-worklets של Shared Storage באמצעות כלי הפיתוח
כדי לבדוק את ה-worklets של האחסון המשותף שהופעלו מהדף שבו אתם נמצאים, אפשר לעבור לכרטיסייה 'מקורות' בחלונית כלי הפיתוח ולהוסיף את נקודת העצירה של מאזין האירועים 'Shared Storage Worklet / Script First Statement'. נקודת העצירה הזו תשהה את ההפעלה של סקריפט המודול הראשוני או של worklets לזמן קצר בהפעלה.
בנוסף, בדף chrome://inspect/#shared-storage-worklets מוצגים כל הוורקלטים הפעילים של נפח אחסון משותף מכל הדפים.
ניפוי באגים ב-Shared Storage ובצבירה פרטית
כדי להפעיל ניפוי באגים, צריך לבצע קריאה ל-method enableDebugMode() JavaScript באותו הקשר שבו נעשה שימוש באחסון משותף ובצבירה פרטית. ההגדרה הזו תחול על דוחות עתידיים באותו הקשר.
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 הבא. ב-payload הזה, השדה 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\"}"
}
ניפוי באגים של מטען ייעודי (payload) בטקסט גלוי
הערך debug_cleartext_payload מקודד לפי Base64 ו-CBOR. אפשר לראות את הדלי ואת הערך באמצעות המפענח או להשתמש בקוד JavaScript שנמצא במפענח של אחסון משותף.
השתתפות ושיתוף משוב
שימו לב שההצעה לגבי Shared Storage API נמצאת כרגע בתהליכי דיון ופיתוח, ויכול להיות שהיא תשתנה.
נשמח לשמוע מה דעתכם על Shared Storage API.
- הצעה: כדאי לעיין בהצעה המפורטת.
- דיון: הצטרפו לדיון הפעיל כדי לשאול שאלות ולשתף תובנות.