Segui le istruzioni riportate di seguito per dichiarare le autorizzazioni specifiche dell'API e configurare Accesso dell'SDK alle risorse gestite dall'API di destinazione.
Dichiara le autorizzazioni specifiche dell'API AdServices
L'accesso a ogni PPAPI richiede un'autorizzazione normal
per i servizi pubblicitari. Nel tuo
manifest, dichiarare le autorizzazioni di accesso appropriate che corrispondono alle API
necessari nella tua app o nel tuo SDK.
API Attribution Reporting:
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_ATTRIBUTION" />
API Attribution Reporting (con report di debug):
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_ATTRIBUTION" />
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_AD_ID" />
API Protected Audience / custom Audience:
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_CUSTOM_AUDIENCE" />
API Topics:
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_TOPICS" />
(Facoltativo) Per ricevere report di debug con Attribution Reporting API, includi l'autorizzazione AD_ID:
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_AD_ID" />
Se il tuo progetto ha dipendenze in moduli o SDK, questi potrebbero già dichiarare le autorizzazioni necessarie per i servizi pubblicitari nei rispettivi file manifest. Per impostazione predefinita, La build Gradle unisce tutti i file manifest in un unico file manifest, pacchettizzati nella tua app. Utilizza la vista File manifest unit per verificare che gli elementi vengano usate le autorizzazioni corrette.
Se devi impedire che alcune autorizzazioni vengano unite nella tua app
tramite dipendenze come gli SDK, includi l'indicatore del nodo remove
per
le autorizzazioni specifiche. L'esempio seguente mostra come prevenire
l'unione dell'autorizzazione Topics.
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_TOPICS"
tools:node="remove" />
Configurare servizi pubblicitari specifici per API
Analogamente alle autorizzazioni di accesso PPAPI, ogni API ha una voce corrispondente in la configurazione dei servizi pubblicitari. Questa configurazione ti offre un controllo granulare dell'accesso alle risorse gestite dalle API nella tua app oppure l'SDK incorporato.
Nel file manifest, specifica una proprietà adservicesConfig
come mostrato
nel seguente
esempio:
<application ...>
...
<property android:name="android.adservices.AD_SERVICES_CONFIG"
android:resource="@xml/ad_services_config" />
...
</application>
Specifica la risorsa XML dei servizi pubblicitari a cui viene fatto riferimento nel file manifest, ad esempio
res/xml/ad_services_config.xml
. Per ogni API incentrata sulla tutela della privacy applicabile a
nella tua app (o SDK incorporato), imposta l'attributo allowAllToAccess
su true
su
concedere l'accesso a tutti i chiamanti.
In alternativa, puoi utilizzare l'attributo allowAdPartnersToAccess
per concedere
accesso all'API granulare per ogni tecnologia pubblicitaria. Dovrai fornire un elenco
ID dell'account di registrazione sviluppatore ottenuti tramite la registrazione. Se
L'attributo allowAllToAccess
è impostato su true
, questo attributo ha la precedenza
su qualsiasi ID account di registrazione specificato in allowAdPartnersToAccess
.
Le piattaforme di ad tech devono anche assicurarsi che i clienti dell'app concedano correttamente accesso alle API richieste che tutelano la privacy nella configurazione dei servizi pubblicitari.
L'esempio seguente mostra come specificare l'accesso ampio per consentire qualsiasi registrazione Accesso con ID account a tutte le API incentrate sulla tutela della privacy:
<ad-services-config>
<!-- Attribution API -->
<attribution allowAllToAccess="true" />
<!-- Topics API -->
<topics allowAllToAccess="true" />
<!-- Protected Audience on Android API -->
<custom-audiences allowAllToAccess="true" />
</ad-services-config>
L'esempio seguente mostra come specificare un accesso granulare a API che tutela la privacy per ID account di registrazione specifici:
<ad-services-config>
<!-- Attribution API -->
<attribution allowAdPartnersToAccess="ENROLLMENT-ID" allowAllToAccess="false" />
<!-- Topics API -->
<includes-sdk-library name="ENROLLMENT-ID" />
<topics allowAdPartnersToAccess="ENROLLMENT-ID" allowAllToAccess="false" />
<!-- Protected Audience on Android API -->
<custom-audiences allowAdPartnersToAccess="ENROLLMENT-ID" allowAllToAccess="false" />
</ad-services-config>
Dichiara le dipendenze della libreria Jetpack
Utilizza la libreria Jetpack ads-adservices 1.0.0-beta01 o successiva per l'integrazione con le API di Privacy Sandbox incentrate sulla tutela della privacy. Puoi utilizzare questa libreria per astrae la tua app dai dettagli a livello di piattaforma e semplifica l'integrazione con che tutelano la privacy.
- Aggiungi un repository Maven al progetto.
- Dichiara le dipendenze della libreria ads-adservices Jetpack nel
build.gradle
file per l'app o il modulo. - Utilizza le API dei pacchetti
androidx.privacysandbox.ads.adservices.*
. - La libreria Jetpack ads-adservices offre la coroutine Kotlin integrata assistenza in tempo reale. Potrebbe essere necessario incorporare il ciclo di vita delle dipendenze adatte al tuo progetto per gestire gli ambiti delle coroutine.
Verifica la disponibilità della versione delle estensioni dei servizi pubblicitari
Se utilizzi la libreria Jetpack di servizi pubblicitari per l'integrazione con
che tutelano la privacy, la libreria verifica la disponibilità
API richieste nella funzione obtain()
. La funzione restituisce null se la funzione
l'API richiesta non è disponibile sul dispositivo. L'esempio seguente illustra
come inizializzare TopicsManager
per l'API Topics. Funziona in modo simile per
che accede ad altre API incentrate sulla tutela della privacy.
Kotlin
import androidx.privacysandbox.ads.adservices.topics.TopicsManager
// The initialization function will return null if the requested
// functionality is not available on the device.
val topicsManager = TopicsManager.obtain(context)
Java
import androidx.privacysandbox.ads.adservices.topics.TopicsManager;
// The initialization function will return null if the requested
// functionality is not available on the device.
TopicsManager topicsManager = TopicsManager.obtain(context);
Se utilizzi le API AdServices direttamente in Extension SDK, controlla la
Versione di AdServices Extensions che include le API AdServices che vuoi utilizzare.
Nel riferimento API, puoi identificare la versione di un particolare AdServices
in cui viene introdotta l'API. Ad esempio, il riferimento API per la classe TopicsManager
indica che è "Aggiunto in Ad Services Extensions 4". Utilizza quanto segue
controlli condizionali per convalidare le estensioni SDK che contengono API AdServices.
Kotlin
import android.os.ext.SdkExtensions
if (SDK_INT >= Build.VERSION_CODES.R && // The extensions API is available since R.
SdkExtensions.getExtensionVersion(SdkExtensions.AD_SERVICES) >= 4) {
// AdServices API is available.
...
}
Java
import android.os.ext.SdkExtensions;
if (SDK_INT >= Build.VERSION_CODES.R && // The extensions API is available since R.
SdkExtensions.getExtensionVersion(SdkExtensions.AD_SERVICES) >= 4) {
// AdServices API is available.
...
}
Limitazione dell'accesso in primo piano
Per garantire trasparenza, accedi a SDK Runtime e alle API che tutelano la privacy
è limitato alle app con un'Attività visibile o con un
RunningAppProcessInfo
di IMPORTANCE_FOREGROUND
.