Fehler bei freigegebenem Speicher beheben

Tools zur Behebung von Problemen mit freigegebenem Speicher

Shared Storage-Worklets mit DevTools debuggen

Wenn Sie die Shared Storage-Worklets prüfen möchten, die von der Seite gestartet wurden, auf der Sie sich befinden, rufen Sie im DevTools-Steuerfeld den Tab „Quellen“ auf und fügen Sie den Ereignis-Listener-Bruchpunkt „Shared Storage Worklet / Script First Statement“ hinzu. Dieser Haltepunkt unterbricht die Ausführung des ursprünglichen Modulscripts oder kurzlebigen Worklets beim Start.

Ein Shared Storage-Worklet mit einem Listener auf Ereignisebene debuggen
Einem Shared Storage-Worklet kann ein Haltepunkt hinzugefügt werden.

Außerdem werden auf der Seite chrome://inspect/#shared-storage-worklets alle aktiven Shared Storage-Worklets von allen Seiten angezeigt.

Gemeinsam genutzter Speicher und private Aggregation – Fehlerbehebung

Wenn Sie das Debuggen aktivieren möchten, rufen Sie die JavaScript-Methode enableDebugMode() im selben Kontext auf, in dem der freigegebene Speicher und die private Aggregation verwendet werden. Diese Einstellung wird auf zukünftige Berichte im selben Kontext angewendet.

privateAggregation.enableDebugMode();

Wenn Sie die Berichte mit den Kontexten verknüpfen möchten, die sie ausgelöst haben, können Sie einen 64-Bit-Debugschlüssel mit einer ungeprüften Ganzzahl festlegen, der an den JavaScript-Aufruf übergeben wird. debugKey ist ein BigInt.

privateAggregation.enableDebugMode({debugKey: 1234});

Gemeinsamen Speicher debuggen

Shared Storage gibt eine allgemeine Fehlermeldung zurück:

Promise is rejected without and explicit error message

Sie können den freigegebenen Speicher debuggen, indem Sie die Aufrufe in Try-Catch-Blöcke einschließen.

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

Private Aggregation debuggen

Berichte werden an /.well-known/private-aggregation/report-shared-storage und /.well-known/private-aggregation/debug/report-shared-storage gesendet. Für Debug-Berichte wird eine Payload ähnlich der folgenden JSON-Datei verwendet. In dieser Payload wird das Feld api als „shared-storage“ definiert.

{
   "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\"}"
}

Klartextnutzlast debuggen

Die debug_cleartext_payload ist Base64-CBOR-codiert. Sie können den Bucket und den Wert mit dem Dekodierungstool oder mit dem JavaScript-Code im Dekodierungstool für freigegebenen Speicher aufrufen.

Feedback geben und erhalten

Der Vorschlag für die Shared Storage API befindet sich in der aktiven Diskussion und Entwicklung und kann sich daher ändern.

Wir würden uns sehr über Ihr Feedback zur Shared Storage API freuen.

Auf dem Laufenden bleiben

Benötigst du Hilfe?