In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 4 hinzugefügt

AdSelectionManager

public class AdSelectionManager
extends Object

java.lang.Object
😎 android.adservices.adselection.AdSelectionManager


AdSelection Manager stellt APIs für App- und Anzeigen-SDKs zur Verfügung, um Anzeigenauswahlprozesse auszuführen Berichte zu Impressionen.

Zusammenfassung

Öffentliche Methoden

static AdSelectionManager get(Context context)

Factory-Methode zum Erstellen einer Instanz von AdSelectionManager

void getAdSelectionData(GetAdSelectionDataRequest request, Executor executor, OutcomeReceiver<GetAdSelectionDataOutcomeException> receiver)

Erfasst Daten zu benutzerdefinierten Zielgruppen vom Gerät.

TestAdSelectionManager getTestAdSelectionManager()
void persistAdSelectionResult(PersistAdSelectionResultRequest request, Executor executor, OutcomeReceiver<AdSelectionOutcomeException> receiver)

Die Anzeigenauswahlergebnisse bleiben serverseitig erhalten.

void reportEvent(ReportEventRequest request, Executor executor, OutcomeReceiver<ObjectException> receiver)

Informiert den Dienst darüber, dass für die vom Nutzer ausgewählte Anzeige ein neues Anzeigenereignis gemeldet werden soll. Anzeigenauswahllauf wurde von adSelectionId identifiziert.

void reportImpression(ReportImpressionRequest request, Executor executor, OutcomeReceiver<ObjectException> receiver)

Informiert den Dienst darüber, dass für die vom Nutzer ausgewählte Anzeige eine neue Impression erfasst werden soll. Anzeigenauswahllauf wurde von adSelectionId identifiziert.

void selectAds(AdSelectionFromOutcomesConfig adSelectionFromOutcomesConfig, Executor executor, OutcomeReceiver<AdSelectionOutcomeException> receiver)

Wählt eine Anzeige aus den Ergebnissen der zuvor ausgeführten Anzeigenauswahl aus.

void selectAds(AdSelectionConfig adSelectionConfig, Executor executor, OutcomeReceiver<AdSelectionOutcomeException> receiver)

Führt den Anzeigenauswahlprozess auf dem Gerät aus, um eine Remarketing-Anzeige für den Anrufer auszuwählen. .

void updateAdCounterHistogram(UpdateAdCounterHistogramRequest updateAdCounterHistogramRequest, Executor executor, OutcomeReceiver<ObjectException> outcomeReceiver)

Aktualisiert die Zähler-Histogramme für eine Anzeige, die zuvor durch einen Aufruf von selectAds(android.adservices.adselection.AdSelectionConfig, java.util.concurrent.Executor, android.os.OutcomeReceiver) ausgewählt wurde.

Übernommene Methoden

Öffentliche Methoden

get

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 6 hinzugefügt
public static AdSelectionManager get (Context context)

Factory-Methode zum Erstellen einer Instanz von AdSelectionManager

Parameter
context Context: Der zu verwendende Context Dieser Wert darf nicht null sein.

Returns
AdSelectionManager Eine AdSelectionManager-Instanz Dieser Wert darf nicht null sein.

getAdSelectionData

public void getAdSelectionData (GetAdSelectionDataRequest request, 
                Executor executor, 
                OutcomeReceiver<GetAdSelectionDataOutcomeException> receiver)

Erfasst Daten zu benutzerdefinierten Zielgruppen vom Gerät. Gibt ein komprimiertes und verschlüsseltes Blob zurück, an das gesendet werden soll für die Anzeigenauswahl auf Auktionsservern. Weitere Informationen erhalten Sie unter Gebote und Auktionsdienste.

Anzeigen für benutzerdefinierte Zielgruppen müssen eine ad_render_id haben, damit sie erfasst werden können.

Unter AdSelectionManager#persistAdSelectionResult erfahren Sie, wie die Ergebnisse verarbeitet werden. Die Anzeigenauswahl wird serverseitig mit dem von dieser API generierten Blob ausgeführt.

Die Ausgabe wird vom Empfänger übergeben, der entweder ein GetAdSelectionDataOutcome für eine erfolgreiche Ausführung zurückgibt oder ein Exception den Typ von die ausgelöste Ausnahme und die entsprechende Fehlermeldung.

Wenn IllegalArgumentException ausgelöst wird, ist dies durch ein ungültiges Eingabeargument verursacht. die API zum Ausführen der Anzeigenauswahl erhalten hat.

Wenn IllegalStateException die Fehlermeldung "Failure of AdSelection" wird dieses Problem durch einen internen Fehler im Anzeigenauswahldienst verursacht.

Wenn TimeoutException ausgelöst wird, tritt dies bei einer Zeitüberschreitung auf. bei der Gebotsabgabe, der Bewertung oder der Gesamtauswahl, um die erfolgreiche Anzeige zu finden.

Wenn LimitExceededException ausgelöst wird, tritt der Fehler auf, wenn das aufrufende Paket überschreitet die zulässigen Ratenbegrenzungen und wird gedrosselt.

Wenn SecurityException ausgelöst wird, tritt der Fehler auf, wenn der Aufrufer nicht autorisiert ist. oder keine Berechtigung angefordert wird.
Erfordert AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE

Parameter
request GetAdSelectionDataRequest: Dieser Wert darf nicht null sein.

executor Executor: Dieser Wert darf nicht null sein. Callback- und Listener-Ereignisse werden über dieses Mit Executor lässt sich ganz einfach steuern, welcher Thread verwendet. Um Ereignisse über den Hauptthread Ihres können Sie Context.getMainExecutor() Geben Sie andernfalls einen Executor an, der E-Mails an einen geeigneten Thread weiterleitet.

receiver OutcomeReceiver: Dieser Wert darf nicht null sein.

getTestAdSelectionManager

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 4 hinzugefügt
public TestAdSelectionManager getTestAdSelectionManager ()

Returns
TestAdSelectionManager Dieser Wert darf nicht null sein.

persistAdSelectionResult

public void persistAdSelectionResult (PersistAdSelectionResultRequest request, 
                Executor executor, 
                OutcomeReceiver<AdSelectionOutcomeException> receiver)

Die Ergebnisse der Anzeigenauswahl von der Serverseite werden beibehalten. Weitere Informationen erhalten Sie unter Gebote und Auktionsdienste

Unter AdSelectionManager#getAdSelectionData erfahren Sie, wie Sie ein verschlüsseltes Blob generieren, um eine Anzeigenauswahl auf Serverseite ausführen.

Die Ausgabe wird vom Empfänger übergeben, der entweder ein AdSelectionOutcome zurückgibt für eine erfolgreiche Ausführung, oder ein Exception enthält den Typ der ausgelösten Ausnahme und die entsprechende Fehlermeldung.

Wenn IllegalArgumentException ausgelöst wird, ist dies durch ein ungültiges Eingabeargument verursacht. die API zum Ausführen der Anzeigenauswahl erhalten hat.

Wenn IllegalStateException mit der Fehlermeldung „Fehler bei AdSelection“ ausgegeben wird, wird dieses Problem durch einen internen Fehler im Anzeigenauswahldienst verursacht.

Wenn TimeoutException ausgelöst wird, tritt dies bei einer Zeitüberschreitung auf. bei der Gebotsabgabe, der Bewertung oder der Gesamtauswahl, um die erfolgreiche Anzeige zu finden.

Wenn das LimitExceededException ausgelöst wird, tritt der Fehler auf, wenn das aufrufende Paket überschreitet die zulässigen Ratenbegrenzungen und wird gedrosselt.

Wenn SecurityException ausgelöst wird, tritt der Fehler auf, wenn der Aufrufer nicht autorisiert ist. oder keine Berechtigung angefordert wird.
Erfordert AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE

Parameter
request PersistAdSelectionResultRequest: Dieser Wert darf nicht null sein.

executor Executor: Dieser Wert darf nicht null sein. Callback- und Listener-Ereignisse werden über dieses Mit Executor lässt sich ganz einfach steuern, welcher Thread verwendet. Um Ereignisse über den Hauptthread Ihres können Sie Context.getMainExecutor() Geben Sie andernfalls einen Executor an, der E-Mails an einen geeigneten Thread weiterleitet.

receiver OutcomeReceiver: Dieser Wert darf nicht null sein.

Ereignisbericht

public void reportEvent (ReportEventRequest request, 
                Executor executor, 
                OutcomeReceiver<ObjectException> receiver)

Informiert den Dienst darüber, dass für die vom Nutzer ausgewählte Anzeige ein neues Anzeigenereignis gemeldet werden soll. Anzeigenauswahllauf wurde von adSelectionId identifiziert. Ein Anzeigenereignis ist ein Ereignis, mit einer Anzeige, die mit der angegebenen adSelectionId verknüpft ist. Es gibt keine Garantie dafür, wann das Anzeigenereignis gemeldet wird. Die Meldung von Ereignissen kann sich verzögern und in Batches zusammengefasst.

Der Dienst ruft mithilfe von ReportEventRequest#getKey() die reportingUri ab. das in registerAdBeacon registriert wurde. Weitere Informationen zu registerAdBeacon findest du in der Dokumentation zu reportImpression(ReportImpressionRequest, Executor, OutcomeReceiver). Dann gibt der Dienst hängt ReportEventRequest#getData() an den Anfragetext einer POST-Anfrage an und Anfrage senden. Der Text der POST-Anfrage hat den content-type von text/plain und die Daten werden in charset=UTF-8 übertragen.

Die Ausgabe wird vom Empfänger übergeben, der entweder eine leere Object für einen erfolgreiche Ausführung oder ein Exception enthält den Typ der ausgelösten Ausnahme und den entsprechende Fehlermeldung.

Wenn IllegalArgumentException ausgelöst wird, ist dies durch ein ungültiges Eingabeargument verursacht. an die API, um das Anzeigenereignis zu melden.

Wenn IllegalStateException die Fehlermeldung "Failure of AdSelection" wird dieses Problem durch einen internen Fehler im Anzeigenauswahldienst verursacht.

Wenn LimitExceededException ausgelöst wird, tritt der Fehler auf, wenn das aufrufende Paket überschreitet die zulässigen Ratenbegrenzungen und wird gedrosselt.

Wenn SecurityException ausgelöst wird, tritt der Fehler auf, wenn der Aufrufer nicht autorisiert ist. oder keine Berechtigung angefordert wird.

Ereignisse werden höchstens einmal als Best-Effort-Versuch gemeldet.
Erfordert AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE

Parameter
request ReportEventRequest: Dieser Wert darf nicht null sein.

executor Executor: Dieser Wert darf nicht null sein.

receiver OutcomeReceiver: Dieser Wert darf nicht null sein.

ReportImpression

In API-Level 34 hinzugefügt
Auch in Ad Services Extensions 4 hinzugefügt
public void reportImpression (ReportImpressionRequest request, 
                Executor executor, 
                OutcomeReceiver<ObjectException> receiver)

Informiert den Dienst darüber, dass für die vom Nutzer ausgewählte Anzeige eine neue Impression erfasst werden soll. Anzeigenauswahllauf wurde von adSelectionId identifiziert. Es gibt keine Garantie dafür, wann Impression erfasst werden. Die Impressionsberichte können sich verzögern und in Batches zusammengefasst.

Zur Berechnung der Berichts-URL für erfolgreiche Verkäufer ruft der Dienst das JavaScript des Verkäufers ab Logik aus AdSelectionConfig#getDecisionLogicUri() unter ReportImpressionRequest.getAdSelectionConfig() gefunden. Dann führt der Dienst einen der im Verkäufer-JS „reportResult“ zu finden, die On-Device-Signale sowie ReportImpressionRequest#getAdSelectionConfig() und Eingabeparameter.

Die Funktionsdefinition von reportResult lautet:

function reportResult(ad_selection_config, render_url, bid, contextual_signals) { return { 'status': status, 'results': {'signals_for_buyer': signals_for_buyer, 'reporting_url': reporting_url } }; }

Zur Berechnung der Berichts-URL des erfolgreichen Käufers ruft der Dienst die URL JavaScript-Logik, die über die CustomAudience.getBiddingLogicUri() des Käufers abgerufen wird Dann gibt der Dienst eine der Funktionen reportWin in der Käufer-JS-Datei ausführen und Folgendes angeben: On-Device-Signale, „signals_for_buyer“ berechnet durch reportResult und spezifisch aus ReportImpressionRequest#getAdSelectionConfig() als Eingabeparameter.

Die Funktionsdefinition von reportWin lautet:

function reportWin(ad_selection_signals, per_buyer_signals, signals_for_buyer, contextual_signals, custom_audience_reporting_signals) { return {'status': 0, 'results': {'reporting_url': reporting_url } }; }

Käufer und Verkäufer können sich für den Erhalt von Berichten zu bestimmten Anzeigenereignisse. Dazu kann die von der Plattform bereitgestellte Funktion registerAdBeacon aufgerufen werden. in reportWin und reportResult für Käufer bzw. Verkäufer.

Die Funktionsdefinition von registerBeacon lautet:

function registerAdBeacon(beacons), wobei beacons ein Wörterbuch des Strings ist, Zeichenfolgenpaare

Für jedes Anzeigenereignis, für das ein Käufer/Verkäufer sich für Berichte interessiert, würde er dem beacons-Wörterbuch ein event_key: event_reporting_uri-Paar hinzufügen, wobei event_key eine Kennung für das jeweilige Ereignis ist. Dieses Feld (event_key) sollte übereinstimmen ReportEventRequest#getKey(), wenn das SDK reportEvent(ReportEventRequest, Executor, OutcomeReceiver) aufruft. Außerdem Jeder event_reporting_uri sollte korrekt in eine Uri geparst werden. Dieses wird als Uri gemeldet, wenn das SDK reportEvent(ReportEventRequest, Executor, OutcomeReceiver) aufruft.

Wenn der Käufer/Verkäufer alle Paare hinzugefügt hat, für die er Ereignisse erhalten möchte, kann er registerAdBeacon(beacons) aufrufen, wobei beacons der Name des Wörterbuchs ist, das sie verwenden wurden die Paare hinzugefügt.

registerAdBeacon gibt in folgenden Situationen eine TypeError aus:

  1. registerAdBeacon wird mehr als einmal aufgerufen. Wenn dieser Fehler in reportWin/reportResult, werden die ursprünglichen Paarungen registriert.
  2. registerAdBeacon hat nicht genau 1 Dict-Argument.
  3. Der Inhalt des Arguments 1 dict sind nicht alle String: String-Paare.

Die Ausgabe wird vom receiver übergeben, der entweder ein leeres Object zurückgibt bei erfolgreicher Ausführung zurück oder Exception enthält den Typ der ausgelösten Ausnahme und die entsprechende Fehlermeldung.

Wenn IllegalArgumentException ausgelöst wird, ist dies durch ein ungültiges Eingabeargument verursacht. die von der API empfangen wurde, um die Impression zu erfassen.

Wenn IllegalStateException die Fehlermeldung "Failure of AdSelection" wird dieses Problem durch einen internen Fehler im Anzeigenauswahldienst verursacht.

Wenn LimitExceededException ausgelöst wird, tritt der Fehler auf, wenn das aufrufende Paket überschreitet die zulässigen Ratenbegrenzungen und wird gedrosselt.

Wenn SecurityException ausgelöst wird, tritt der Fehler auf, wenn der Aufrufer nicht autorisiert ist. oder keine Berechtigung angefordert wird.

Impressionen werden höchstens einmal als Best-Effort-Versuch erfasst.
Erfordert AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE

Parameter
request ReportImpressionRequest: Dieser Wert darf nicht null sein.

executor Executor: Dieser Wert darf nicht null sein.

receiver OutcomeReceiver: Dieser Wert darf nicht null sein.

selectAds

public void selectAds (AdSelectionFromOutcomesConfig adSelectionFromOutcomesConfig, 
                Executor executor, 
                OutcomeReceiver<AdSelectionOutcomeException> receiver)

Wählt eine Anzeige aus den Ergebnissen der zuvor ausgeführten Anzeigenauswahl aus.

Die Eingabe-adSelectionFromOutcomesConfig wird vom Ads SDK bereitgestellt und das AdSelectionFromOutcomesConfig-Objekt wird über einen Binder-Aufruf übertragen. Aus diesem Grund Die Gesamtgröße dieser Objekte ist an die IPC-Einschränkungen von Android gebunden. Fehler beim Übertragen des AdSelectionFromOutcomesConfig wirft TransactionTooLargeException aus.

Die Ausgabe wird vom Empfänger übergeben, der entweder ein AdSelectionOutcome zurückgibt für eine erfolgreiche Ausführung, oder ein Exception enthält den Typ der ausgelösten Ausnahme und die entsprechende Fehlermeldung.

Die Eingabe-adSelectionFromOutcomesConfig enthält:

  • Seller muss eine registrierte AdTechIdentifier sein. Andernfalls IllegalStateException ausgelöst wird.
  • List of ad selection ids sollte vorhanden sein und von selectAds(AdSelectionConfig, Executor, OutcomeReceiver)-Aufrufen stammen, die von derselben Anwendung stammen. Andernfalls IllegalArgumentException für die Eingabevalidierung gibt eine Anzeige aus, die gegen einen Eintrag verstößt Auswahl-IDs.
  • Selection logic URI, die entweder der HTTPS- oder der vordefinierten Anzeigenauswahl folgen können Schemas.

    Wenn der URI dem HTTPS-Schema entspricht, sollte der Host mit dem seller übereinstimmen. Andernfalls wird IllegalArgumentException ausgegeben.

    Vordefinierte URIs sind eine Möglichkeit, die erforderliche Logik durch eine generische vordefinierte Logik zu ersetzen. JavaScripts für selectOutcome. Der vordefinierte URI für diesen Endpunkt sollte folgen:

    • ad-selection-prebuilt://ad-selection-from-outcomes/<name>?<script-generation-parameters>

    Wenn ein nicht unterstützter vordefinierter URI übergeben wird oder die vordefinierte URI-Funktion vom wird IllegalArgumentException ausgegeben.

    Siehe AdSelectionFromOutcomesConfig.Builder#setSelectionLogicUri für unterstützte <name> und erforderliche <script-generation-parameters>.

Wenn IllegalArgumentException ausgelöst wird, ist dies durch ein ungültiges Eingabeargument verursacht. die API zum Ausführen der Anzeigenauswahl erhalten hat.

Wenn IllegalStateException die Fehlermeldung "Failure of AdSelection" wird dieses Problem durch einen internen Fehler im Anzeigenauswahldienst verursacht.

Wenn TimeoutException ausgelöst wird, tritt dies bei einer Zeitüberschreitung auf. bei der Gebotsabgabe, der Bewertung oder der Gesamtauswahl, um die erfolgreiche Anzeige zu finden.

Wenn LimitExceededException ausgelöst wird, tritt der Fehler auf, wenn das aufrufende Paket überschreitet die zulässigen Ratenbegrenzungen und wird gedrosselt.

Wenn SecurityException ausgelöst wird, tritt der Fehler auf, wenn der Aufrufer nicht autorisiert ist. oder keine Berechtigung angefordert wird.
Erfordert AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE

Parameter
adSelectionFromOutcomesConfig AdSelectionFromOutcomesConfig: Dieser Wert darf nicht null sein.

executor Executor: Dieser Wert darf nicht null sein. Callback- und Listener-Ereignisse werden über dieses Mit Executor lässt sich ganz einfach steuern, welcher Thread verwendet. Um Ereignisse über den Hauptthread Ihres können Sie Context.getMainExecutor() Geben Sie andernfalls einen Executor an, der E-Mails an einen geeigneten Thread weiterleitet.

receiver OutcomeReceiver: Dieser Wert darf nicht null sein.

selectAds

In API-Level 34 hinzugefügt
public void selectAds (AdSelectionConfig adSelectionConfig, 
                Executor executor, 
                OutcomeReceiver<AdSelectionOutcomeException> receiver)

Führt den Anzeigenauswahlprozess auf dem Gerät aus, um eine Remarketing-Anzeige für den Anrufer auszuwählen. .

Die Eingabe-adSelectionConfig wird vom Ads SDK bereitgestellt und das AdSelectionConfig-Objekt wird über einen Binder-Aufruf übertragen. Aus diesem Grund ist die Gesamtgröße dieser Objekte an die IPC-Einschränkungen von Android gebunden sind. Fehler bei der Übertragung von AdSelectionConfig lösen TransactionTooLargeException aus.

Die Eingabe adSelectionConfig enthält Decision Logic Uri, die folgen könnten entweder das HTTPS-Schema oder das vordefinierte Schema für die Anzeigenauswahl.

Wenn der URI dem HTTPS-Schema entspricht, sollte der Host mit dem seller übereinstimmen. Andernfalls IllegalArgumentException wird ausgelöst.

Vordefinierte URIs sind eine Möglichkeit, die erforderliche Logik durch eine generische vordefinierte Logik zu ersetzen. JavaScripts für scoreAds. Der vordefinierte URI für diesen Endpunkt sollte folgen:

  • ad-selection-prebuilt://ad-selection/<name>?<script-generation-parameters>

Wenn ein nicht unterstützter vordefinierter URI übergeben oder die vordefinierte URI-Funktion vom wird IllegalArgumentException ausgegeben.

Unter AdSelectionConfig.Builder#setDecisionLogicUri findest du die unterstützten <name> und erforderlich: <script-generation-parameters>.

Die Ausgabe wird vom Empfänger übergeben, der entweder ein AdSelectionOutcome zurückgibt für eine erfolgreiche Ausführung, oder ein Exception enthält den Typ der ausgelösten Ausnahme und die entsprechende Fehlermeldung.

Wenn IllegalArgumentException ausgelöst wird, ist dies durch ein ungültiges Eingabeargument verursacht. die API zum Ausführen der Anzeigenauswahl erhalten hat.

Wenn IllegalStateException die Fehlermeldung "Failure of AdSelection" wird dieses Problem durch einen internen Fehler im Anzeigenauswahldienst verursacht.

Wenn TimeoutException ausgelöst wird, tritt dies bei einer Zeitüberschreitung auf. bei der Gebotsabgabe, der Bewertung oder der Gesamtauswahl, um die erfolgreiche Anzeige zu finden.

Wenn das LimitExceededException ausgelöst wird, tritt der Fehler auf, wenn das aufrufende Paket überschreitet die zulässigen Ratenbegrenzungen und wird gedrosselt.

Wenn SecurityException ausgelöst wird, tritt der Fehler auf, wenn der Aufrufer nicht autorisiert ist. oder keine Berechtigung angefordert wird.
Erfordert AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE

Parameter
adSelectionConfig AdSelectionConfig: Dieser Wert darf nicht null sein.

executor Executor: Dieser Wert darf nicht null sein. Callback- und Listener-Ereignisse werden über dieses Mit Executor lässt sich ganz einfach steuern, welcher Thread verwendet. Um Ereignisse über den Hauptthread Ihres können Sie Context.getMainExecutor() Geben Sie andernfalls einen Executor an, der E-Mails an einen geeigneten Thread weiterleitet.

receiver OutcomeReceiver: Dieser Wert darf nicht null sein.

updateAdCounterHistogramm

public void updateAdCounterHistogram (UpdateAdCounterHistogramRequest updateAdCounterHistogramRequest, 
                Executor executor, 
                OutcomeReceiver<ObjectException> outcomeReceiver)

Aktualisiert die Zähler-Histogramme für eine Anzeige, die zuvor durch einen Aufruf von selectAds(android.adservices.adselection.AdSelectionConfig, java.util.concurrent.Executor, android.os.OutcomeReceiver) ausgewählt wurde.

Die Zähler-Histogramme werden bei der Anzeigenauswahl verwendet, um das Frequency Capping-Filtern mögliche Anzeigen, bei denen Anzeigen, deren Frequency Capping erreicht oder überschritten ist, aus dem bei der Anzeigenauswahl.

Zählerhistogramme können nur für Anzeigen aktualisiert werden, die von der angegebenen adSelectionId zurückgegeben werden, die vor Kurzem bei einem kürzlichen Aufruf der FLEDGE-Anzeigenauswahl aus derselben Anrufer-App zurückgegeben wurde.

Ein SecurityException wird über outcomeReceiver zurückgegeben, wenn:

  1. Die App hat in ihrem Manifest nicht die richtigen Berechtigungen deklariert.
  2. Die unter callerAdTechIdentifier angegebene App oder Rechtspersönlichkeit ist nicht autorisiert um die API zu verwenden.
Ein IllegalStateException wird über outcomeReceiver zurückgegeben, wenn der Aufruf nicht von einer App mit einer Aktivität im Vordergrund stammen.

Ein LimitExceededException wird über outcomeReceiver zurückgegeben, wenn der Aufruf überschreitet die API-Drossel der aufrufenden App.

In allen anderen Fehlern gibt outcomeReceiver ein leeres Object zurück. Aus Datenschutzgründen werden interne Fehler nicht per E-Mail Ausnahme.
Erfordert AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE

Parameter
updateAdCounterHistogramRequest UpdateAdCounterHistogramRequest: Dieser Wert darf nicht null sein.

executor Executor: Dieser Wert darf nicht null sein. Callback- und Listener-Ereignisse werden über dieses Mit Executor lässt sich ganz einfach steuern, welcher Thread verwendet. Um Ereignisse über den Hauptthread Ihres können Sie Context.getMainExecutor() Geben Sie andernfalls einen Executor an, der E-Mails an einen geeigneten Thread weiterleitet.

outcomeReceiver OutcomeReceiver: Dieser Wert darf nicht null sein.