Werbe-ID abrufen, die vom Nutzer zurückgesetzt werden kann Teil von Android Jetpack
Aus Datenschutzgründen sollten alle Android-Apps mit vom Nutzer zurücksetzbaren IDs arbeiten. Eine solche Kennung ist eine Werbe-ID, mit der ein bestimmter Nutzer für Werbeanwendungen wie die Personalisierung von Werbung eindeutig identifiziert wird.
Um eine standardisierte Lösung für das Anzeigen-Tracking auf allen Geräten zu unterstützen, auf denen Ihr können Sie die Werbe-ID-Bibliothek verwenden. Diese Bibliothek, die auf Geräten mit Android 4.0 (API-Level 14) und höher verfügbar ist, definiert eine Schnittstelle für die Interaktion mit Anzeigenanbietern auf Systemebene. Über diese Oberfläche erhält Ihre App konsistente Werbe-ID-Werte.
Der Anzeigenanbieter, der in der Advertising ID-Bibliothek enthalten ist, definiert auch eine Standardabsicht zum Öffnen eines Einstellungsbildschirms, den der Anzeigenanbieter implementiert. Auf diesem Einstellungsbildschirm kann der Nutzer seine Werbe-ID zurücksetzen und die Funktion deaktivieren. von personalisierter Werbung.
In diesem Leitfaden wird beschrieben, wie Sie mit dem Clientmodul der Advertising ID-Bibliothek eine konsistente Werbe-ID pro Nutzer und Gerät abrufen. Dieser Leitfaden bietet dann einen Überblick über die Architektur der Bibliothek.
Client-App konfigurieren
Durch die Interaktion mit dem Clientmodul der Werbe-ID-Bibliothek kann Ihre App eine konsistente Werbe-ID abrufen, die den Nutzer repräsentiert, der mit der App interagiert.
Die Werbe-ID wird mit Version 3 der universell eindeutigen Kennung (UUID) Format oder eine 128-Bit-Format:
38400000-8cf0-11bd-b23e-10b96e40000d
Die Werbe-ID-Bibliothek normalisiert den Rückgabewert nach Bedarf, um IDs in diesem Format bereitzustellen.
So rufen Sie die vom Nutzer zurücksetzbare Werbe-ID für Ihre App ab:
Rufen Sie uns an, um zu prüfen, ob ein Anzeigenanbieter verfügbar ist.
AdvertisingIdClient.isAdvertisingIdProviderAvailable()
Wenn diese Methodefalse
zurückgibt, sollte Ihre App andere Mittel verwenden, um alle erforderlichen Anwendungsfälle für das Anzeigen-Tracking auszuführen.Details zur Anzeigen-ID, einschließlich der Werbe-ID, erhalten Sie über folgenden Aufruf:
AdvertisingIdClient.getAdvertisingIdInfo()
Werbe-ID-Bibliothek führt diese Methode in einem Worker-Thread aus und verwendet ein 10-sekündiges Verbindungszeitlimit.
Das folgende Code-Snippet zeigt, wie die Werbe-ID abgerufen wird sowie andere Informationen vom Anzeigenanbieter:
app/build.gradle
Cool
dependencies { implementation 'androidx.ads:ads-identifier:1.0.0-alpha01' // Used for the calls to addCallback() in the snippets on this page. implementation 'com.google.guava:guava:28.0-android' }
Kotlin
dependencies { implementation("androidx.ads:ads-identifier:1.0.0-alpha01") // Used for the calls to addCallback() in the snippets on this page. implementation("com.google.guava:guava:28.0-android") }
MyAdIdClient
Kotlin
// Used for the call to addCallback() within this snippet. import com.google.common.util.concurrent.Futures.addCallback private fun determineAdvertisingInfo() { if (AdvertisingIdClient.isAdvertisingIdProviderAvailable()) { val advertisingIdInfoListenableFuture = AdvertisingIdClient.getAdvertisingIdInfo(applicationContext) addCallback(advertisingIdInfoListenableFuture, object : FutureCallback<AdvertisingIdInfo> { override fun onSuccess(adInfo: AdvertisingIdInfo?) { val id: String = adInfo?.id val providerPackageName: String = adInfo?.providerPackageName val isLimitTrackingEnabled: Boolean = adInfo?.isLimitTrackingEnabled } // Any exceptions thrown by getAdvertisingIdInfo() // cause this method to be called. override fun onFailure(t: Throwable) { Log.e("MY_APP_TAG", "Failed to connect to Advertising ID provider.") // Try to connect to the Advertising ID provider again or fall // back to an ad solution that doesn't require using the // Advertising ID library. } }, Executors.newSingleThreadExecutor()) } else { // The Advertising ID client library is unavailable. Use a different // library to perform any required ad use cases. } }
Java
// Used for the call to addCallback() within this snippet. import com.google.common.util.concurrent.Futures; private void determineAdvertisingInfo() { if (AdvertisingIdClient.isAdvertisingIdProviderAvailable()) { ListenableFuture<AdvertisingIdInfo> advertisingIdInfoListenableFuture = AdvertisingIdClient.getAdvertisingIdInfo(getApplicationContext()); Futures.addCallback(advertisingIdInfoListenableFuture, new FutureCallback<AdvertisingIdInfo>() { @Override public void onSuccess(AdvertisingIdInfo adInfo) { String id = adInfo.getId(); String providerPackageName = adInfo.getProviderPackageName(); boolean isLimitTrackingEnabled = adInfo.isLimitTrackingEnabled(); // Any exceptions thrown by getAdvertisingIdInfo() // cause this method to be called. @Override public void onFailure(Throwable throwable) { Log.e("MY_APP_TAG", "Failed to connect to Advertising ID provider."); // Try to connect to the Advertising ID provider again // or fall back to an ad solution that doesn't require // using the Advertising ID library. } }); } else { // The Advertising ID client library is unavailable. Use a different // library to perform any required ad use cases. } }
Architektur der Werbe-ID-Bibliothek
In Abbildung 1 ist die Struktur der Werbe-ID-Bibliothek dargestellt. Die Bibliothek besteht aus den folgenden Modulen:
- Ein Clientmodul, eine dünne Schicht in Apps.
- Ein Anbietermodul, das der Gerätehersteller zur Verfügung stellt. Bei den Implementierungen dieses Moduls muss eine UI für Einstellungen definiert werden, über die die Nutzer Die Möglichkeit, die Werbe-ID zurückzusetzen und die Einstellungen für das Anzeigen-Tracking zu ändern
Das Client-Modul kommuniziert mit dem Anbietermodul, um Anzeigen-IDs und Nutzereinstellungen für das Anzeigen-Tracking abzurufen.
Mehrere Anbieter in der Bibliothek
Es ist möglich, dass ein Gerät mehrere Anzeigenanbieter auf Systemebene . Wenn die Werbe-ID-Bibliothek diese Situation erkennt, ruft Ihre App immer Informationen vom selben Anbieter ab, vorausgesetzt, der bleibt verfügbar. Dadurch bleibt die Werbe-ID konsistent.
Wenn sich die verfügbaren Anzeigenanbieter im Laufe der Zeit ändern und Ihre App mit einem anderen Anbieter von Anzeigen-IDs interagiert, verwenden auch alle anderen Client-Apps diesen neuen Anbieter. Ihre App zeigt das gleiche Verhalten wie wenn der Nutzer das Zurücksetzen seiner Werbe-ID angefordert hätte.
Die Werbe-ID-Anbieterbibliothek verwendet die folgende deterministische Reihenfolge, um Sortieren Sie die Anbieter nach:
- Anbieter, die das
Berechtigung „
androidx.ads.identifier.provider.HIGH_PRIORITY
“. - Anbieter, die am längsten auf dem Gerät installiert sind.
- Anbieter, die in alphabetischer Reihenfolge zuerst erscheinen.