ProtectedSignalsManager

public class ProtectedSignalsManager
extends Object

java.lang.Object
   ↳ android.adservices.signals.ProtectedSignalsManager


ProtectedSignalsManager stellt APIs für Apps und Anzeigen-SDKs bereit, mit denen sie ihre geschützten Signale verwalten können.

Zusammenfassung

Öffentliche Methoden

static ProtectedSignalsManager get(Context context)

Factorymethode zum Erstellen einer Instanz von ProtectedSignalsManager.

void updateSignals(UpdateSignalsRequest updateSignalsRequest, Executor executor, OutcomeReceiver<ObjectException> receiver)

Die updateSignals API ruft eine JSON-Datei vom URI ab, in der beschrieben wird, welche Signale hinzugefügt oder entfernt werden sollen.

Übernommene Methoden

Öffentliche Methoden

get

public static ProtectedSignalsManager get (Context context)

Factorymethode zum Erstellen einer Instanz von ProtectedSignalsManager.

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

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

updateSignals

public void updateSignals (UpdateSignalsRequest updateSignalsRequest, 
                Executor executor, 
                OutcomeReceiver<ObjectException> receiver)

Die updateSignals API ruft eine JSON-Datei vom URI ab, in der beschrieben wird, welche Signale hinzugefügt oder entfernt werden sollen. Mit dieser API kannst du auch den Encoder-Endpunkt registrieren. Über den Endpunkt wird eine Codierungslogik heruntergeladen, die die Codierung der Signale ermöglicht.

Die Schlüssel der obersten Ebene für die JSON-Datei müssen einem der fünf Befehle entsprechen:

„put“: Hiermit wird ein neues Signal hinzugefügt und alle vorhandenen Signale mit demselben Schlüssel überschrieben. Der Wert hierfür ist ein JSON-Objekt, bei dem die Schlüssel Basis-64-Strings sind, die dem Schlüssel entsprechen, für den sie gespeichert werden sollen, und die Werte sind Basis-64-Strings, die dem festzulegenden Wert entsprechen.

„append“ (anhängen): Hängt einer Zeitreihe von Signalen neue Signale an. Wenn die Größe der Reihe das angegebene Maximum überschreitet, werden die ältesten Signale entfernt, um Platz für die neuen zu schaffen. Der Wert dafür ist ein JSON-Objekt, bei dem die Schlüssel Base64-Strings sind, die dem Schlüssel entsprechen, an den angehängt werden soll, und die Werte Objekte mit zwei Feldern sind: „values“ und „maxSignals“. "values" ist eine Liste von Basis-64-Strings, die Signalwerten zum Anhängen an die Zeitreihe entsprechen. „maxSignals“ ist die maximale Anzahl von Werten, die in dieser Zeitreihe zulässig sind. Wenn die aktuelle Anzahl der mit dem Schlüssel verknüpften Signale maxSignals überschreitet, werden die ältesten Signale entfernt. Sie können einem Schlüssel, der mit „put“ hinzugefügt wurde, Elemente anhängen. Nicht, dass das Anfügen von mehr als der maximalen Anzahl von Werten zu einem Fehler führt.

„put_if_not_present“: Fügt nur dann ein neues Signal hinzu, wenn keine Signale mit demselben Schlüssel vorhanden sind. Der Wert dafür ist ein JSON-Objekt, bei dem die Schlüssel Base64-Strings sind, die dem Schlüssel entsprechen, für den der Wert festgelegt werden soll, und die Werte Base64-Strings sind, die dem Wert entsprechen, der festgelegt werden soll.

„remove“ (entfernen): Entfernt das Signal für einen Schlüssel. Der Wert ist eine Liste von Base64-Strings, die den Schlüsseln der zu löschenden Signale entsprechen.

„update_encoder“: Bietet eine Aktion zum Aktualisieren des Endpunkts und einen URI, mit dem eine Codierungslogik abgerufen werden kann. Der Unterschlüssel für die Angabe einer Aktualisierungsaktion ist „action“. Derzeit werden folgende Werte unterstützt:

  1. „REGISTER“ (REGISTRIEREN): Registriert den Encoder-Endpunkt, wenn er zum ersten Mal angegeben wird, oder überschreibt den vorhandenen Endpunkt mit dem neu angegebenen Endpunkt. Für die Aktion "REGISTER" ist die Angabe des Endpunkts erforderlich.

Der Unterschlüssel zum Angeben eines Encoder-Endpunkts ist „endpoint“. Der Wert ist der URI-String für den Endpunkt.

Pro JSON-Objekt kann nur ein Befehl für den Schlüssel verwendet werden. Wenn zwei Befehle versuchen, auf denselben Schlüssel zuzugreifen, wird bei dieser Methode eine IllegalArgumentException ausgegeben.

Dieser Aufruf schlägt mit SecurityException fehl, wenn

  1. ownerPackageName ruft nicht den Paketnamen der App auf und/oder
  2. Der Käufer ist nicht zur Nutzung der API berechtigt.

Dieser Aufruf schlägt mit einer IllegalArgumentException fehl, wenn

  1. Die vom Server abgerufene JSON-Datei ist ungültig.
  2. Der angegebene URI ist ungültig.

Dieser Aufruf schlägt mit LimitExceededException fehl, wenn das aufrufende Paket die zulässigen Ratenbegrenzungen überschreitet und gedrosselt wird.

Dieser Aufruf schlägt mit einer IllegalStateException fehl, wenn ein interner Dienstfehler auftritt.
Erforderlich: AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE

Parameter
updateSignalsRequest UpdateSignalsRequest: Dieser Wert darf nicht null sein.

executor Executor: Dieser Wert darf nicht null sein. Callback- und Listener-Ereignisse werden über diese Executor gesendet, was eine einfache Möglichkeit bietet, zu steuern, welcher Thread verwendet wird. Wenn Sie Ereignisse über den Hauptthread Ihrer Anwendung senden möchten, können Sie Context.getMainExecutor() verwenden. Andernfalls geben Sie eine Executor an, die an einen geeigneten Thread weitergeleitet wird.

receiver OutcomeReceiver: Dieser Wert darf nicht null sein.