Questo documento descrive come risolvere i problemi comuni durante la configurazione del Sandbox su Android. Se visualizzi un errore non trovato in questa guida, contattaci.
La generazione di alcuni errori può essere dovuta a diversi motivi. Di seguito sono elencati alcuni degli errori più comuni e le relative correzioni, ma è possibile che si verifichino lo stesso messaggio di errore per un altro motivo.
Prima di risolvere i problemi
Disattiva gli aggiornamenti della configurazione dei dispositivi
Per la risoluzione di eventuali problemi riscontrati con Privacy Sandbox test, la prima cosa da fare dovrebbe essere disattivare gli aggiornamenti della configurazione del dispositivo. Questo assicura che il dispositivo non recuperi le configurazioni aggiornate dal server e disattivare inavvertitamente Privacy Sandbox sul dispositivo di test.
Disabilita gli aggiornamenti della configurazione dei dispositivi con questo comando:
adb shell device_config set_sync_disabled_for_tests persistent
Se vuoi riattivare gli aggiornamenti della configurazione del dispositivo dopo il test, puoi farlo quindi con questo comando:
adb shell device_config set_sync_disabled_for_tests none
Attiva il logging dettagliato dei servizi pubblicitari
Il logging dettagliato dei servizi pubblicitari fornisce maggiore contesto sugli errori. che vedi. Per l'abilitazione, utilizza questo comando:
adb shell setprop log.tag.adservices VERBOSE
Assicurati che il dispositivo sia stato configurato correttamente
Se hai appena disattivato gli aggiornamenti della configurazione del dispositivo, ti consigliamo di eseguire questi per assicurarti che il dispositivo sia configurato correttamente e che rimanga in questo modo durante la durata del test.
- Abilita le PPAPI con i comandi adb applicabili.
- Registra il dispositivo o disattiva la registrazione, a seconda dei tuoi obiettivi.
Controlla il codice per assicurarti che le PPAPI siano disponibili
Puoi aggiungere controlli al tuo codebase per assicurarti che il dispositivo abbia le versioni corrette di cui ha bisogno per Privacy Sandbox.
Se utilizzi una release beta tramite estensioni SDK, verifica la build corretta e versione dell'estensione SDK:
Se utilizzi una release beta tramite le librerie Jetpack,
restituisce null
se Privacy Sandbox non è disponibile sul tuo
dispositivo. Ad esempio:
Per ogni release, controlla Google Play Services:
Eccezioni di sicurezza
Gli errori di eccezione di sicurezza in genere si verificano quando qualcosa non dispone dell'autorizzazione per accedi a una risorsa Privacy Sandbox.
L'autorizzazione non è stata richiesta
Errore:
Failed to get Ad ID: java.lang.SecurityException: Caller is not authorized to
call this API. Permission was not requested
.
Potenziale motivo:
Devi dichiarare un'autorizzazione per accedere all'ID annuncio.
Soluzione:
Dichiara l'autorizzazione in AndroidManifest.xml
:
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_AD_ID" />
Chiamante non autorizzato
Errore:
Failed to find resolveInfo for adServices service. Intent action:
android.adservices.adid.AdIdProviderService
Failed to find AdServices services
Caller not authorized
Potenziale motivo:
Non hai registrato correttamente il dispositivo. Assicurati di aver seguito tutti istruzioni per la registrazione, incluse le istruzioni successive alla registrazione passaggi per configurare il dispositivo.
Potenziale motivo:
Gli URL di registrazione non corrispondono.
Soluzione:
- Controlla i dati di registrazione per capire se ci sono discrepanze tra
L'URL che utilizzi nel tuo codice e l'URL che hai registrato con
Sabbiera. Ad esempio, potresti usare
https://adtech.example.com/source
ma l'URL registrato erahttps://adtech.example.com/register_source
- Modifica il codice in modo che corrisponda all'URL registrato. Ad esempio, potresti regolare la riga nell'app di esempio per aggiungere "/register_source" all'URL di "/source."
Se viene ancora visualizzato questo errore:
È possibile che la tua azienda non sia presente nell'elenco delle registrazioni oppure che sia registrata, ma non è incluso nella lista consentita del file manifest dell'app. Assicurati che la tua organizzazione sia registrata con Privacy Sandbox contattando android-ps-support@google.com.
Chiamante non consentito
Errore:
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
.
Potenziale motivo:
Il nome del pacchetto non è presente nella lista consentita.
Soluzione:
Consenti tutti i nomi di pacchetti nella lista consentita:
Se utilizzi direttamente la shell adb:
I comandi elencati in precedenza funzionano per bash e altre shell, ma se avvii l'ab direttamente la shell e provare a eseguire i comandi, non dovresti citazioni. Esegui invece questi comandi:
Soluzione:
Aggiungi il nome del pacchetto alla lista consentita:
adb shell device_config put adservices ppapi_app_allow_list [package name]
Verifica che il nome del pacchetto sia presente nella lista consentita:
adb shell device_config get adservices ppapi_app_allow_list
Se necessario, puoi eliminare la lista consentita con questo comando:
adb shell device_config delete adservices ppapi_app_allow_list
Eccezioni di stato non consentite
Le eccezioni di stato illegale indicano che un metodo è stato richiamato a un livello in un momento inappropriato, in cui l'ambiente o l'applicazione non si trova lo stato appropriato per l'operazione richiesta.
Eccezioni di stato non consentite: il servizio non è disponibile
Errore:
com.example.measurement.sampleapp E Failed binding to measurement service:
java.lang.IllegalStateException: Service is not available
Potenziale motivo:
L'opzione di terminazione deve essere disattivata.
Soluzione:
Puoi disabilitare l'opzione di terminazione con questo comando:
adb shell 'device_config put adservices global_kill_switch false'
Potenziale motivo:
Il consenso dell'utente non è stato concesso.
Soluzione:
Puoi eseguire:
adb shell am start -n com.google.android.adservices.api/com.android.adservices.ui.settings.activities.AdServicesSettingsMainActivity
Dopo aver completato il comando precedente, attiva/disattiva "Abilita Privacy Sandbox" preferenza su "On".
Errori con i comandi adb
Impossibile trovare il lavoro
Errore:
Could not find job 14 in package com.google.android.adservices.api/ user 0
Potenziale motivo:
Le API Privacy Sandbox non sono state attivate.
Soluzione: prima di eseguire questo job, chiama una delle API Privacy Sandbox, ad esempio
registerSource()
, getTopics()
o selectAds()
. Questa chiamata dovrebbe
hanno esito negativo, ma è necessario per attivare l'API. Poi esegui di nuovo jobscheduler 14
.
Potenziale motivo:
È necessario aggiornare il Google Play Store.
Soluzione:
- Accedi al dispositivo o all'emulatore con il tuo Account Google.
- Vai al Google Play Store > icona profilo > Impostazioni > Informazioni. Sotto l'intestazione Versione Play Store, tocca Aggiorna Play Store.
Apri un ticket
Se questi passaggi non risolvono l'errore, presenta un ticket e includi le seguenti informazioni:
- Quale release stai usando, Anteprima per sviluppatori o Beta? Quali sono le versioni sei acceso? Puoi trovare il codice di versione in Impostazioni > Informazioni sullo smartphone > Numero build.
- Se usi una release beta, esegui
adb shell getprop | grep build.version.extensions
e includi i risultati nel ticket. - Quale versione di Google Play Services è installata sul tuo dispositivo? Esegui
adb shell dumpsys package com.google.android.gms | grep versionName
e includi i risultati del comando nel ticket. - Includi una segnalazione di bug completa. Puoi ottenere una segnalazione di bug completa eseguendo
adb bugreport
o seguendo le istruzioni.