ProtectedSignalsManager

public class ProtectedSignalsManager
extends Object

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


ProtectedSignalsManager 可提供 API,讓應用程式和廣告 SDK 管理受保護信號。

摘要

公用方法

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 物件,其中鍵會採用與待放置鍵相對應的 base 64 字串 ,值則是與要放置的值相對應的 base 64 字串。

「附加」- 將新信號/信號附加到信號的時間序列,移除最舊的 信號。這麼一來,如果序列大小超過指定上限,則可為新信號釋出空間。 這個鍵的值是 JSON 物件,其中鍵會採用與 要附加的鍵,而值是含有兩個欄位的物件:「values」和「maxSignals」,直接在 Google Cloud 控制台實際操作。 「值」是與要附加至時間的信號值相對應的 base 64 字串清單 這是 Gemini 版 Google Workspace 系列課程之一「maxSignals」是這個時間序列中允許的值數量上限。如果 目前與鍵相關聯的信號數量超出 maxSignals 最舊的信號 將被移除。提醒您,透過 put 新增的鍵也可以是附加目標。加起來 會導致錯誤發生。

「put_if_not_present」- 只在既有的信號不存在時,才新增信號 使用相同金鑰這個鍵的值是 JSON 物件,其中鍵是 base 64 字串 對應目標鍵,值則採用與 值。

「移除」- 移除鍵的信號。這個值是 base 64 字串的清單 和應該刪除的信號鍵對應

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

  1. 「報名」:在編碼器端點首次提供時,註冊該端點 使用新提供的端點覆寫現有端點。提供「端點」 都必須是「REGISTER」動作。

用來提供編碼器端點的子鍵是「endpoint」而值為 該端點的 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