ProtectedSignalsManager

public class ProtectedSignalsManager
extends Object

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


ProtectedSignalsManager は、アプリと広告 SDK が保護されたシグナルを管理するための API を提供します。

概要

パブリック メソッド

static ProtectedSignalsManager get(Context context)

ProtectedSignalsManager のインスタンスを作成するファクトリ メソッド。

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

updateSignals API は、追加または削除するシグナルを記述した JSON を URI から取得します。

継承されるメソッド

パブリック メソッド

get

public static ProtectedSignalsManager get (Context context)

ProtectedSignalsManager のインスタンスを作成するファクトリ メソッド。

パラメータ
context Context: 使用する Context。この値を null にすることはできません。

戻り値
ProtectedSignalsManager ProtectedSignalsManager インスタンス。この値が null になることはありません。

updateSignals

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

updateSignals API は、追加または削除するシグナルを記述した JSON を URI から取得します。この API を使用すると、エンコーダ エンドポイントを登録することもできます。このエンドポイントは、シグナルのエンコードを可能にするエンコード ロジックをダウンロードするために使用されます。

JSON の最上位キーは、次の 5 つのコマンドのいずれかに対応する必要があります。

「put」 - 新しいシグナルを追加し、同じキーで既存のシグナルを上書きします。この値は、追加するキーに対応する Base 64 文字列である JSON オブジェクトであり、値は追加する値に対応する Base 64 文字列です。

「append」- 時系列のシグナルに新しいシグナルを付加します。時系列のサイズが所定の最大値を超えた場合には、最も古いシグナルを削除して、新しいシグナルのスペースを確保します。この値は、追加先のキーに対応する Base 64 文字列である JSON オブジェクトで、値は「values」と「maxSignals」の 2 つのフィールドを持つオブジェクトです。「values」は、時系列に追加するシグナル値に対応する Base 64 文字列のリストです。「maxSignals」は、この時系列で許可される値の最大数です。キーに関連付けられている現在のシグナルの数が maxSignals を超えると、最も古いシグナルが削除されます。put によって追加されたキーに追記できます。ただし、最大数を超える値を追加しても失敗することはありません。

「put_if_not_present」- 同じキーを持つ既存のシグナルがない場合にのみ、新しいシグナルを追加します。この値は、追加するキーに対応する Base 64 文字列である JSON オブジェクトであり、値は追加する値に対応する Base 64 文字列です。

「remove」- キーのシグナルを削除します。この値は、削除する必要があるシグナルのキーに対応する Base 64 文字列のリストです。

「update_encoder」- エンドポイントを更新するアクションと、エンコード ロジックを取得できる URI を指定します。更新アクションを指定するためのサブキーは「action」で、現在サポートされている値は次のとおりです。

  1. 「REGISTER」: エンコーダ エンドポイントを初めて指定した場合は登録するか、または既存のエンコーダ エンドポイントがある場合は新しく指定したエンドポイントで上書きします。「REGISTER」アクションには「endpoint」が必要です。

エンコーダ エンドポイントを指定するためのサブキーは「endpoint」で、値はエンドポイントの URI 文字列です。

キーに対して操作できるのは、JSON ごとに 1 つのコマンドのみです。2 つのコマンドが同じキーに対してオペレーションを試行すると、このメソッドは IllegalArgumentException をスローします。

次の条件を満たすと、この呼び出しは SecurityException で失敗します。

  1. ownerPackageName がアプリのパッケージ名を呼び出していない、または
  2. 購入者が API を使用する権限を持っていない。

次の条件を満たすと、この呼び出しは IllegalArgumentException で失敗します。

  1. サーバーから取得した JSON が無効です。
  2. 指定した URI は無効です。

呼び出し元のパッケージが許可されたレート上限を超えてスロットリングされている場合、この呼び出しは LimitExceededException で失敗します。

内部サービスエラーが発生すると、この呼び出しは IllegalStateException で失敗します。
AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE が必要。

パラメータ
updateSignalsRequest UpdateSignalsRequest: この値を null にすることはできません。

executor Executor: この値を null にすることはできません。コールバック イベントとリスナー イベントは、この Executor を通じてディスパッチされます。これにより、使用するスレッドを簡単に制御できます。アプリのメインスレッドを通じてイベントをディスパッチするには、Context.getMainExecutor() を使用します。それ以外の場合は、適切なスレッドにディスパッチする Executor を指定します。

receiver OutcomeReceiver: この値を null にすることはできません。