Debugowanie pamięci współdzielonej

Narzędzia do debugowania problemów z Shared Storage.

Debugowanie workletów Shared Storage za pomocą Narzędzi deweloperskich

Aby sprawdzić worklety pamięci współdzielonej uruchomione na stronie, na której się znajdujesz, otwórz kartę „Źródła” w panelu Narzędzi deweloperskich i dodaj punkt przerwania w detektorze zdarzeń „Shared Storage Worklet / Script First Statement” (Worklet pamięci współdzielonej / pierwsze stwierdzenie skryptu). Ten punkt przerwania wstrzyma początkowe wykonanie skryptu modułu lub krótkotrwałych workletów podczas uruchamiania.

Debugowanie workletu Shared Storage przez dodanie detektora na poziomie zdarzenia.
Do workletu Shared Storage można dodać punkt przerwania.

Dodatkowo na stronie chrome://inspect/#shared-storage-worklets widać wszystkie aktywne worklety Pamięci współdzielonej ze wszystkich stron.

Debugowanie pamięci współdzielonej i prywatnej agregacji

Aby włączyć debugowanie, wywołaj metodę JavaScript enableDebugMode() w tym samym kontekście, w którym używane są Shared Storage i Private Aggregation. Zostanie to zastosowane w przyszłych raportach w tym samym kontekście.

privateAggregation.enableDebugMode();

Aby powiązać raporty z kontekstami, które je wywołały, możesz ustawić 64-bitowy klucz debugowania bez znaku, który jest przekazywany do wywołania JavaScript. debugKey to BigInt.

privateAggregation.enableDebugMode({debugKey: 1234});

Debugowanie Shared Storage

Interfejs Shared Storage zwraca ogólny komunikat o błędzie:

Promise is rejected without and explicit error message

Pamięć współdzieloną możesz debugować, umieszczając wywołania w blokach try-catch.

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

Debugowanie interfejsu Private Aggregation API

Raporty są wysyłane na adres /.well-known/private-aggregation/report-shared-storage/.well-known/private-aggregation/debug/report-shared-storage. Raporty debugowania zawierają ładunek podobny do tego kodu JSON. Ten ładunek określa pole api jako „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\"}"
}

Debugowanie ładunku w formie tekstu nieszyfrowanego

Wartość debug_cleartext_payload jest zakodowana w formacie Base64CBOR. Wartość i segment możesz wyświetlić za pomocą dekodera lub użyć kodu JavaScript znajdującego się w dekoderze pamięci współdzielonej.

Angażowanie się i przesyłanie opinii

Pamiętaj, że propozycja interfejsu Shared Storage API jest w trakcie aktywnej dyskusji i opracowywania, dlatego może ulec zmianie.

Chętnie poznamy Twoją opinię o interfejsie Shared Storage API.