ProtectedSignalsManager

public class ProtectedSignalsManager
extends Object

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


ProtectedSignalsManager มี API สำหรับแอปและ Ad-SDK เพื่อจัดการสัญญาณที่มีการป้องกัน

สรุป

วิธีการสาธารณะ

static ProtectedSignalsManager get(Context context)

วิธีการของ Factory สำหรับการสร้างอินสแตนซ์ของ ProtectedSignalsManager

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

updateSignals API จะดึงข้อมูล JSON จาก URI ที่อธิบายสัญญาณที่จะเพิ่มหรือนำออก

วิธีการที่รับมา

วิธีการสาธารณะ

รับ

public static ProtectedSignalsManager get (Context context)

วิธีการของ Factory สำหรับการสร้างอินสแตนซ์ของ 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 ต้องสอดคล้องกับคำสั่ง 1 ใน 5 ข้อต่อไปนี้

"put" - เพิ่มสัญญาณใหม่ โดยเขียนทับสัญญาณที่มีอยู่ซึ่งมีคีย์เดียวกัน ค่าสำหรับการดำเนินการนี้คือออบเจ็กต์ JSON โดยที่คีย์คือสตริงฐาน 64 ที่สอดคล้องกับคีย์ที่จะใส่ และค่าคือสตริงฐาน 64 ที่สอดคล้องกับค่าที่จะใส่

"append" - ต่อท้ายสัญญาณใหม่/สัญญาณลงในอนุกรมเวลาของสัญญาณ โดยนําสัญญาณที่เก่าที่สุดออกเพื่อให้มีพื้นที่ว่างสําหรับสัญญาณใหม่ หากขนาดของอนุกรมเกินค่าสูงสุดที่ระบุ ค่าสำหรับนี้คือออบเจ็กต์ JSON ที่คีย์คือสตริงฐาน 64 ที่สอดคล้องกับคีย์ที่จะเพิ่มต่อท้าย และค่าคือออบเจ็กต์ที่มี 2 ช่อง ได้แก่ "values" และ "maxSignals" "values" คือรายการสตริงฐาน 64 ที่สอดคล้องกับค่าสัญญาณที่จะเพิ่มต่อท้ายอนุกรมเวลา "maxSignals" คือจำนวนค่าสูงสุดที่อนุญาตในอนุกรมเวลานี้ หากจำนวนสัญญาณปัจจุบันที่เชื่อมโยงกับคีย์มากกว่า maxSignals ระบบจะนำสัญญาณที่เก่าที่สุดออก โปรดทราบว่าคุณสามารถเพิ่มคีย์ที่เพิ่มด้วยคำว่า "put" ได้ แต่การต่อท้ายค่าเกินจำนวนสูงสุดจะไม่ทำให้การดำเนินการล้มเหลว

"put_if_not_present" - เพิ่มสัญญาณใหม่เฉพาะในกรณีที่ไม่มีสัญญาณที่มีคีย์เดียวกันอยู่แล้ว ค่าสำหรับนี้คือออบเจ็กต์ JSON ที่คีย์เป็นสตริงฐาน 64 ที่สอดคล้องกับคีย์ที่จะใส่ และค่าเป็นสตริงฐาน 64 ที่สอดคล้องกับค่าที่จะใส่

"remove" - นำสัญญาณของคีย์ออก ค่าของนี้คือรายการสตริง Base64 ที่สอดคล้องกับคีย์ของสัญญาณที่ควรลบ

"update_encoder" - ระบุการดำเนินการเพื่ออัปเดตปลายทางและ URI ที่ใช้เพื่อเรียกข้อมูลตรรกะการเข้ารหัสได้ คีย์ย่อยสำหรับการระบุการดำเนินการอัปเดตคือ "action" และค่าที่รองรับในปัจจุบันมีดังนี้

  1. "REGISTER" : ลงทะเบียนปลายทางของโปรแกรมเปลี่ยนไฟล์หากระบุเป็นครั้งแรก หรือเขียนทับปลายทางที่มีอยู่ด้วยปลายทางที่ระบุใหม่ ต้องระบุ "ปลายทาง" สำหรับการดำเนินการ "ลงทะเบียน"

คีย์ย่อยสำหรับการระบุปลายทางของโปรแกรมเปลี่ยนไฟล์คือ "ปลายทาง" และค่าคือสตริง URI สำหรับปลายทาง

คีย์จะใช้งานได้ด้วยคำสั่ง 1 รายการต่อ JSON เท่านั้น หากคําสั่ง 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 ระบบจะส่งเหตุการณ์ Callback และ Listener ผ่าน Executor นี้ ซึ่งช่วยให้ควบคุมได้ง่ายว่าจะใช้เธรดใด หากต้องการส่งเหตุการณ์ผ่านเทรดหลักของแอปพลิเคชัน คุณจะใช้ Context.getMainExecutor() ได้ หรือระบุ Executor ที่ส่งไปยังเธรดที่เหมาะสม

receiver OutcomeReceiver: ค่านี้ต้องไม่ใช่ null