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:
- 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 warhttps://adtech.example.com/register_source
- 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:
- Melden Sie sich mit Ihrem Google-Konto auf Ihrem Gerät oder Emulator an.
- 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:
- Welchen Release verwenden Sie: Entwicklervorschau oder Betaversion? Welche Version verwenden Sie? Sie finden den Versionscode unter Einstellungen > Über das Telefon > Build-Nummer.
- 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. - 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. - 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.