Cómo depurar el almacenamiento compartido

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.

Agrega un objeto de escucha a nivel del evento para depurar una worklet de almacenamiento compartido.
Se puede agregar un punto de interrupción a una worklet de almacenamiento compartido.

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.

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?