Herramientas para depurar problemas con el almacenamiento compartido
Cómo depurar worklets de almacenamiento compartido con DevTools
Para inspeccionar las worklets de almacenamiento compartido que se inician desde la página en la que te encuentras, puedes visitar la pestaña "Sources" en el panel de DevTools y agregar la pausa del objeto de escucha de eventos "Shared Storage Worklet / Script First Statement". Este punto de interrupción detendrá la ejecución de la secuencia de comandos del módulo inicial o las worklets de corta duración durante el inicio.
Además, la página chrome://inspect/#shared-storage-worklets
muestra todas las worklets activas de almacenamiento compartido de todas las páginas.
Depuración de almacenamiento compartido y agregación privada
Para habilitar la depuración, llama al método enableDebugMode()
de JavaScript en el mismo
contexto en el que se usan el almacenamiento compartido y la agregación privada. Esto se aplicará a los informes futuros en el mismo contexto.
privateAggregation.enableDebugMode();
Para asociar los informes con los contextos que los activaron, puedes configurar una clave de depuración de número entero sin firmar de 64 bits que se pasa a la llamada a JavaScript. El debugKey
es un BigInt
.
privateAggregation.enableDebugMode({debugKey: 1234});
Almacenamiento compartido de depuración
Shared Storage muestra un mensaje de error genérico:
Promise is rejected without and explicit error message
Para depurar el almacenamiento compartido, une las llamadas con bloques try-catch.
try {
privateAggregation.contributeToHistogram({bucket, value});
} catch (e){
console.log(e);
}
Cómo depurar Private Aggregation
Los informes se envían a /.well-known/private-aggregation/report-shared-storage
y /.well-known/private-aggregation/debug/report-shared-storage
. Los informes de depuración reciben una carga útil similar al siguiente JSON. Esta carga útil define el campo api
como "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\"}"
}
Cómo depurar la carga útil de texto simple
debug_cleartext_payload
está codificado en CBOR y Base64. Puedes ver el bucket y el valor con el decodificador o usar el código JavaScript que se encuentra en el decodificador de almacenamiento compartido.
Interactúa y comparte comentarios
Ten en cuenta que la propuesta de la API de Shared Storage está en discusión y desarrollo activo y, por lo tanto, está sujeta a cambios.
Nos encantaría conocer tu opinión sobre la API de Shared Storage.
- Propuesta: Revisa la propuesta detallada.
- Debate: Únete al debate en curso para hacer preguntas y compartir tus estadísticas.
Mantente al tanto
- Lista de distribución: Suscríbete a nuestra lista de distribución para recibir las actualizaciones y los anuncios más recientes relacionados con la API de Shared Storage.
¿Necesitas ayuda?
- Asistencia para desarrolladores: Conéctate con otros desarrolladores y obtén respuestas a tus preguntas en el repositorio de asistencia para desarrolladores de Privacy Sandbox.