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" - 新しいシグナルを追加し、同じキーを持つ既存のシグナルを上書きします。この値は、格納するキーに対応する 64 進数からなるキーを持つ JSON オブジェクトであり、値は格納する値に対応する 64 進数の文字列です。

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

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

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

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

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

エンコーダ エンドポイントを指定するためのサブキーは「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 にすることはできません。