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<Object, Exception> 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<Object, Exception> receiver)
updateSignals API 會從 URI 擷取 JSON,說明要新增或移除哪些信號。這個 API 也允許註冊編碼器端點。端點用於下載編碼邏輯,以便編碼信號。
JSON 的頂層鍵必須對應以下 5 個指令中的任一種:
「put」- 新增信號,以相同鍵覆寫任何現有信號。這個鍵的值是 JSON 物件,其中鍵會採用與放置目標鍵相對應的 base 64 字串,而值則採用與要放置的值相對應的 base 64 字串。
「append」:將新信號/多個信號附加到信號的時間序列,如果序列大小超過指定上限,則移除最舊的信號,為新信號釋出空間。這個鍵的值是 JSON 物件,其中鍵會採用與附加目標鍵相對應的 base 64 字串,而值則是含有「values」和「maxSignals」這兩個欄位的物件。「values」是與要附加至時間序列的信號值相對應的 base 64 字串清單。「maxSignals」是指此時間序列中可用值的數量上限。如果目前與鍵相關聯的信號數量超出 maxSignals,系統將會移除最舊的信號。提醒您,透過 put 新增的鍵也可以是附加目標。但請注意,如果附加數量超過值的上限,就會導致失敗。
「put_if_not_present」:只在現有信號沒有相同鍵時,才新增信號。這個鍵的值是 JSON 物件,其中鍵會採用與放置目標鍵相對應的 base 64 字串,而值則採用與要放置的值相對應的 base 64 字串。
「remove」:移除鍵的信號。這個鍵的值是與應刪除的信號鍵相對應的 base 64 字串清單。
「update_encoder」:提供用來更新端點的動作,以及可用於擷取編碼邏輯的 URI。提供更新動作的子鍵為「action」,目前支援的值如下:
- 「REGISTER」:如果編碼器端點首次提供,就會註冊該端點,或使用新提供的端點覆寫現有端點。如要執行「REGISTER」動作,就必須提供「endpoint」。
用於提供編碼器端點的子鍵為「endpoint」,值則為端點的 URI 字串。
每個 JSON 只能使用一個指令操作金鑰。如果兩個指令嘗試對同一個鍵運作,這個方法會透過 IllegalArgumentException
ownerPackageName
不會呼叫應用程式的套件名稱和/或- 買方沒有使用該 API 的權限。
如果發生以下情況,這項呼叫會失敗,並顯示 IllegalArgumentException
- 從伺服器擷取的 JSON 無效。
- 提供的 URI 無效。
如果呼叫套件超過允許的頻率限制並受到限制,則這項呼叫會失敗,並顯示 LimitExceededException
。
如果發生內部服務錯誤,這項呼叫就會失敗,並傳回 IllegalStateException
。
需要 AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
參數 | |
---|---|
updateSignalsRequest |
UpdateSignalsRequest :此值不能為 null 。 |
executor |
Executor :此值不能為 null 。回呼和事件監聽器會透過這個 Executor 分派,讓您輕鬆控制使用哪一個執行緒。如要透過應用程式的主要執行緒進行事件分派,可以使用 Context.getMainExecutor() 。否則,請提供 Executor ,將工作調度至適當的執行緒。 |
receiver |
OutcomeReceiver :此值不能為 null 。 |