Anleitung zur Fehlerbehebung bei Privacy Sandbox für Android

In diesem Dokument wird beschrieben, wie Sie häufige Probleme beim Einrichten der Privacy Sandbox für Android beheben. Wenn Sie einen Fehler sehen, der in diesem Leitfaden nicht gefunden wurde, teilen Sie uns dies bitte mit.

Einige Fehler haben mehrere mögliche Gründe dafür. Im Folgenden sind einige der häufigsten Fehler und deren Behebung aufgeführt. Dieselbe Fehlermeldung kann jedoch auch aus einem anderen Grund angezeigt werden.

Vor der Fehlerbehebung

Updates der Gerätekonfiguration deaktivieren

Wenn Sie Probleme mit den Privacy Sandbox-Tests beheben möchten, sollten Sie zuerst die Aktualisierung der Gerätekonfiguration deaktivieren. Dadurch wird sichergestellt, dass dein Gerät keine aktualisierten Konfigurationen vom Server abruft und versehentlich Privacy Sandbox auf deinem Testgerät deaktiviert.

Deaktivieren Sie die Aktualisierung der Gerätekonfiguration mit dem folgenden Befehl:

adb shell device_config set_sync_disabled_for_tests persistent

Wenn Sie die Updates für die Gerätekonfiguration nach dem Testen wieder aktivieren möchten, können Sie dies mit diesem Befehl tun:

adb shell device_config set_sync_disabled_for_tests none

Ausführliche Protokollierung von Anzeigendiensten aktivieren

Die ausführliche Protokollierung von Anzeigendiensten bietet mehr Kontext zu den angezeigten Fehlern. Verwenden Sie zum Aktivieren den folgenden Befehl:

adb shell setprop log.tag.adservices VERBOSE

Prüfen, ob Ihr Gerät richtig konfiguriert wurde

Wenn Sie die Aktualisierung der Gerätekonfiguration gerade erst deaktiviert haben, sollten Sie diese Schritte noch einmal ausführen, um sicherzustellen, dass Ihr Gerät richtig konfiguriert ist und während der Dauer des Tests so bleibt.

  • Aktivieren Sie die PPAPIs mit den entsprechenden ADB-Befehlen.
  • Abhängig von Ihren Zielen können Sie Ihr Gerät registrieren oder die Registrierung deaktivieren.

Prüfen Sie den Code, um sicherzustellen, dass die PPAPIs verfügbar sind.

Sie können Ihrer Codebasis Prüfungen hinzufügen, um sicherzustellen, dass Ihr Gerät die richtigen Versionen hat, die für die Privacy Sandbox erforderlich sind.

Wenn Sie einen Betarelease über SDK-Erweiterungen verwenden, suchen Sie nach dem korrekten Build und der korrekten Version der SDK-Erweiterung:

Wenn Sie einen Betarelease über Jetpack Libraries verwenden, gibt die Initialisierungsfunktion null zurück, wenn die Privacy Sandbox auf Ihrem Gerät nicht verfügbar ist. Beispiel:

Prüfen Sie bei jedem Release die Google Play-Dienste:

Sicherheitsausnahmen

Fehler bei Sicherheitsausnahmen treten normalerweise auf, wenn etwas keine Autorisierung für den Zugriff auf eine Privacy Sandbox-Ressource hat.

Berechtigung wurde nicht angefordert

Fehler:

Failed to get Ad ID: java.lang.SecurityException: Caller is not authorized to call this API. Permission was not requested.

Möglicher Grund:

Sie müssen eine Berechtigung für den Zugriff auf die Anzeigen-ID deklarieren.

Problembehebung:

Deklarieren Sie die Berechtigung in Ihrem AndroidManifest.xml:

<uses-permission android:name="android.permission.ACCESS_ADSERVICES_AD_ID" />

Anrufer nicht autorisiert

Fehler:

Failed to find resolveInfo for adServices service. Intent action: android.adservices.adid.AdIdProviderService

Failed to find AdServices services

Caller not authorized

Möglicher Grund:

Sie haben Ihr Gerät nicht richtig registriert. Prüfen Sie, ob Sie alle Registrierungsanleitungen befolgt haben, einschließlich der Schritte nach der Registrierung, um Ihr Gerät zu konfigurieren.

Möglicher Grund:

Die Registrierungs-URLs stimmen nicht überein.

Problembehebung:

  1. Sehen Sie sich Ihre Registrierungsdaten an, um zu sehen, ob es Abweichungen zwischen der URL, die Sie in Ihrem Code verwenden, und der URL gibt, die Sie in der Privacy Sandbox registriert haben. Beispiel: Sie verwenden https://adtech.example.com/source, aber die registrierte URL war https://adtech.example.com/register_source
  2. Passe deinen Code an die registrierte URL an. Sie könnten beispielsweise die Zeile in der Beispielanwendung so anpassen, dass „/register_source“ statt „/source“ an die URL angehängt wird.

Wenn dieser Fehler weiterhin angezeigt wird:

Möglicherweise ist Ihr Unternehmen nicht auf der Registrierungsliste aufgeführt oder es ist registriert, aber nicht in der Manifest-Zulassungsliste der App. Wenden Sie sich an android-ps-support@google.com, um zu prüfen, ob Ihre Organisation bei der Privacy Sandbox registriert ist.

Anrufer ist nicht zugelassen

Fehler:

Failed to get Ad ID: java.lang.SecurityException: Caller is not authorized to call this API. Caller is not allowed. Package [package name] is not allowed to call the API.

Möglicher Grund:

Der Paketname ist nicht auf der Zulassungsliste.

Problembehebung:

So lassen Sie alle Paketnamen auf der Zulassungsliste zu:

Wenn Sie ADB Shell direkt verwenden:

Die oben aufgeführten Befehle funktionieren für Bash und andere Shells. Wenn Sie jedoch die ADB-Shell direkt starten und versuchen, die Befehle auszuführen, sollten die Anführungszeichen nicht mit Escapezeichen versehen werden. Führen Sie stattdessen die folgenden Befehle aus:

Problembehebung:

Setzen Sie den Paketnamen auf die Zulassungsliste:

adb shell device_config put adservices ppapi_app_allow_list [package name]

Prüfen Sie, ob der Paketname auf der Zulassungsliste steht:

adb shell device_config get adservices ppapi_app_allow_list

Bei Bedarf können Sie die Zulassungsliste mit diesem Befehl löschen:

adb shell device_config delete adservices ppapi_app_allow_list

Illegale bundesstaatliche Ausnahmen

Ausnahmen für den unzulässigen Zustand signalisieren, dass eine Methode zu einem unzulässigen oder unangemessenen Zeitpunkt aufgerufen wurde, wenn sich die Umgebung oder Anwendung nicht in einem für den angeforderten Vorgang geeigneten Zustand befindet.

Illegale Bundesstaaten – Ausnahmen: Der Dienst ist nicht verfügbar.

Fehler:

com.example.measurement.sampleapp E Failed binding to measurement service: java.lang.IllegalStateException: Service is not available

Möglicher Grund:

Der Notausschalter muss deaktiviert sein.

Problembehebung:

Sie können den Kill-Switch mit diesem Befehl deaktivieren:

adb shell 'device_config put adservices global_kill_switch false'

Möglicher Grund:

Die Nutzereinwilligung wurde nicht erteilt.

Problembehebung:

Sie können den folgenden Befehl ausführen:

adb shell am start -n com.google.android.adservices.api/com.android.adservices.ui.settings.activities.AdServicesSettingsMainActivity

Nachdem der vorherige Befehl ausgeführt wurde, stellen Sie die Einstellung „Privacy Sandbox aktivieren“ auf „An“.

Fehler bei ADB-Befehlen

Job wurde nicht gefunden

Fehler:

Could not find job 14 in package com.google.android.adservices.api/ user 0

Möglicher Grund:

Die Privacy Sandbox APIs wurden nicht ausgelöst.

Problembehebung: Rufen Sie vor dem Ausführen dieses Jobs eine der Privacy Sandbox APIs auf, z. B. registerSource(), getTopics() oder selectAds(). Dieser Aufruf wird voraussichtlich fehlschlagen, ist aber erforderlich, um die API zu aktivieren. Führen Sie dann den Befehl jobscheduler 14 noch einmal aus.

Möglicher Grund:

Der Google Play Store muss aktualisiert werden.

Problembehebung:

  1. Melden Sie sich mit Ihrem Google-Konto auf Ihrem Gerät oder Emulator an.
  2. Gehen Sie zum Google Play Store > Profilsymbol > Einstellungen > Über mich. Tippen Sie unter Play Store-Version auf Play Store aktualisieren.

Supportticket einreichen

Wenn der Fehler durch diese Schritte nicht behoben wird, reichen Sie ein Ticket ein und geben Sie dabei die folgenden Informationen an:

  1. Welchen Release verwenden Sie: Entwicklervorschau oder Betaversion? Welche Version verwenden Sie? Sie finden den Versionscode unter Einstellungen > Über das Telefon > Build-Nummer.
  2. Wenn Sie einen Betarelease verwenden, führen Sie adb shell getprop | grep build.version.extensions aus und nehmen Sie die Ergebnisse in Ihr Ticket auf.
  3. Welche Version der Google Play-Dienste hat Ihr Gerät? Führen Sie adb shell dumpsys package com.google.android.gms | grep versionName aus und nehmen Sie die Ergebnisse dieses Befehls in Ihr Ticket auf.
  4. Fügen Sie einen vollständigen Fehlerbericht hinzu. Wenn Sie einen vollständigen Fehlerbericht abrufen möchten, führen Sie adb bugreport aus oder folgen Sie der Anleitung.