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<GetAdSelectionDataOutcome, Exception> receiver)
Erfasst Daten zu benutzerdefinierten Zielgruppen vom Gerät. |
TestAdSelectionManager
|
getTestAdSelectionManager()
|
void
|
persistAdSelectionResult(PersistAdSelectionResultRequest request, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
Die Anzeigenauswahlergebnisse bleiben serverseitig erhalten. |
void
|
reportEvent(ReportEventRequest request, Executor executor, OutcomeReceiver<Object, Exception> receiver)
Informiert den Dienst darüber, dass für die vom Nutzer ausgewählte Anzeige ein neues Anzeigenereignis gemeldet werden soll.
Anzeigenauswahllauf wurde von |
void
|
reportImpression(ReportImpressionRequest request, Executor executor, OutcomeReceiver<Object, Exception> receiver)
Informiert den Dienst darüber, dass für die vom Nutzer ausgewählte Anzeige eine neue Impression erfasst werden soll.
Anzeigenauswahllauf wurde von |
void
|
selectAds(AdSelectionFromOutcomesConfig adSelectionFromOutcomesConfig, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
Wählt eine Anzeige aus den Ergebnissen der zuvor ausgeführten Anzeigenauswahl aus. |
void
|
selectAds(AdSelectionConfig adSelectionConfig, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> 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<Object, Exception> outcomeReceiver)
Aktualisiert die Zähler-Histogramme für eine Anzeige, die zuvor durch einen Aufruf von |
Übernommene Methoden | |
|---|---|
Öffentliche Methoden
get
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<GetAdSelectionDataOutcome, Exception> 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
public TestAdSelectionManager getTestAdSelectionManager ()
| Returns | |
|---|---|
TestAdSelectionManager |
Dieser Wert darf nicht null sein. |
persistAdSelectionResult
public void persistAdSelectionResult (PersistAdSelectionResultRequest request, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> 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<Object, Exception> 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
public void reportImpression (ReportImpressionRequest request, Executor executor, OutcomeReceiver<Object, Exception> 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:
registerAdBeaconwird mehr als einmal aufgerufen. Wenn dieser Fehler in reportWin/reportResult, werden die ursprünglichen Paarungen registriert.registerAdBeaconhat nicht genau 1 Dict-Argument.- 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<AdSelectionOutcome, Exception> 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:
Sellermuss eine registrierteAdTechIdentifiersein. AndernfallsIllegalStateExceptionausgelöst wird.List of ad selection idssollte vorhanden sein und vonselectAds(AdSelectionConfig, Executor, OutcomeReceiver)-Aufrufen stammen, die von derselben Anwendung stammen. AndernfallsIllegalArgumentExceptionfü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 wirdIllegalArgumentExceptionausgegeben.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
IllegalArgumentExceptionausgegeben.Siehe
AdSelectionFromOutcomesConfig.Builder#setSelectionLogicUrifü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
public void selectAds (AdSelectionConfig adSelectionConfig, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> 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<Object, Exception> 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:
- Die App hat in ihrem Manifest nicht die richtigen Berechtigungen deklariert.
- Die unter
callerAdTechIdentifierangegebene App oder Rechtspersönlichkeit ist nicht autorisiert um die API zu verwenden.
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. |