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 會從 URI 擷取 JSON,用於說明要新增或移除的信號。

繼承方法

公用方法

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 會從 URI 擷取 JSON,用於說明要新增或移除的信號。這個 API 也能註冊編碼器端點。端點可用來下載編碼邏輯,以便啟用信號編碼功能。

JSON 的頂層金鑰必須對應 5 個指令中的其中一個:

「put」:新增信號,以相同鍵覆寫任何現有信號。。

「附加」:將新信號/信號附加至信號時間序列,在系列大小超過指定上限時,移除最舊的信號以騰出空間給新信號。這個值是 JSON 物件,其中鍵是對應至要附加鍵的基準 64 個字串,值則是含有「values」和「maxSignals」兩個欄位的物件。「values」是基準 64 字串清單,這些字串對應於要附加至時間序列的信號值。「maxSignals」是指這個時間序列中允許的值數量上限。如果與鍵相關聯的目前信號數量超過數量上限,系統就會移除最舊的信號。請注意,您可以透過 put 新增的方式將金鑰附加到該金鑰。只要附加的值超過數量上限,就會導致失敗。

「put_if_not_present」:僅在現有信號沒有相同鍵時新增信號。這個值是 JSON 物件,其中的鍵是對應至要放入的鍵的基準 64 個字串,值則是與要放置的值相對應的基本 64 字串。

「remove」:移除金鑰的訊號。這個值是基本 64 字串的清單,對應至應刪除的信號鍵。

「update_encoder」:提供更新端點的動作,以及可用來擷取編碼邏輯的 URI。提供更新動作的子鍵是「action」,目前支援的值如下:

  1. 「REGISTER」:註冊編碼器端點 (如有首次提供),或使用新提供的端點覆寫現有端點。「REGISTER」動作需要提供「端點」。

提供編碼器端點的子鍵是「端點」,值則是端點的 URI 字串。

金鑰僅能透過一個 JSON 指令操作。如有兩個指令嘗試對相同金鑰執行作業,這個方法會透過 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