IsolatedWorker
public
interface
IsolatedWorker
android.adservices.ondevicepersonalization.IsolatedWorker |
อินเทอร์เฟซกับเมธอดที่ต้องติดตั้งใช้งานเพื่อจัดการคําขอจากระบบปฏิบัติการไปยัง IsolatedService
IsolatedService
จะสร้างอินสแตนซ์ของ IsolatedWorker
ในคำขอแต่ละรายการและเรียกใช้เมธอดใดเมธอดหนึ่งด้านล่างนี้ โดยขึ้นอยู่กับประเภทของคำขอ IsolatedService
จะเรียกใช้เมธอดในเธรด Binder และ IsolatedWorker
ควรย้ายการดำเนินการที่ใช้เวลานานไปยังเธรดสำหรับงาน ระบบจะใช้พารามิเตอร์ผู้บริโภคของแต่ละเมธอดเพื่อแสดงผลลัพธ์
สรุป
วิธีการสาธารณะ | |
---|---|
default
void
|
onDownloadCompleted(DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)
จัดการการดาวน์โหลดที่เสร็จสมบูรณ์ |
default
void
|
onEvent(EventInput input, Consumer<EventOutput> consumer)
จัดการเหตุการณ์ที่ทริกเกอร์โดยคําขอไปยัง URL ติดตามที่แพลตฟอร์มระบุ |
default
void
|
onExecute(ExecuteInput input, Consumer<ExecuteOutput> consumer)
จัดการคำขอจากแอป |
default
void
|
onRender(RenderInput input, Consumer<RenderOutput> consumer)
สร้าง HTML สำหรับผลลัพธ์ที่แสดงผลจาก |
default
void
|
onTrainingExample(TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)
สร้างตัวอย่างการฝึกแบบเดี่ยวที่ใช้สำหรับงานการประมวลผลแบบรวมศูนย์ |
เมธอดสาธารณะ
onDownloadCompleted
public void onDownloadCompleted (DownloadCompletedInput input, Consumer<DownloadCompletedOutput> consumer)
จัดการการดาวน์โหลดที่เสร็จสมบูรณ์ แพลตฟอร์มจะดาวน์โหลดเนื้อหาโดยใช้พารามิเตอร์ที่กําหนดไว้ในไฟล์ Manifest ของIsolatedService
เรียกใช้ฟังก์ชันนี้หลังจากการดาวน์โหลดเสร็จสมบูรณ์ และอัปเดตตาราง REMOTE_DATA จากIsolatedService#getRemoteData(RequestToken)
ด้วยผลลัพธ์ของเมธอดนี้
พารามิเตอร์ | |
---|---|
input |
DownloadCompletedInput : พารามิเตอร์ตัวแฮนเดิลการดาวน์โหลด
ค่านี้ต้องไม่เป็น null |
consumer |
Consumer : การเรียกกลับที่ได้รับผลลัพธ์ ควรเรียกใช้ด้วย null เมื่อมีข้อผิดพลาด หากเรียกใช้ด้วย null ระบบจะไม่อัปเดตตาราง REMOTE_DATA
หากวิธีนี้ส่ง |
เหตุการณ์
public void onEvent (EventInput input, Consumer<EventOutput> consumer)
จัดการเหตุการณ์ที่ทริกเกอร์โดยคําขอไปยัง URL ติดตามที่แพลตฟอร์มระบุ EventUrlProvider
ซึ่งฝังอยู่ในเอาต์พุต HTML ที่ onRender(android.adservices.ondevicepersonalization.RenderInput, java.util.function.Consumer)
แสดง แพลตฟอร์มจะอัปเดตตาราง EVENTS ด้วย EventOutput#getEventLogRecord()
พารามิเตอร์ | |
---|---|
input |
EventInput : พารามิเตอร์ที่ต้องใช้เพื่อคํานวณข้อมูลเหตุการณ์
ค่านี้ต้องไม่เป็น null |
consumer |
Consumer : การเรียกกลับที่ได้รับผลลัพธ์ ควรเรียกใช้ด้วย null เมื่อมีข้อผิดพลาด หากเรียกใช้ด้วย null ระบบจะไม่เขียนข้อมูลลงในตาราง EVENTS
หากเมธอดนี้แสดง |
ดำเนินการ
public void onExecute (ExecuteInput input, Consumer<ExecuteOutput> consumer)
จัดการคําขอจากแอป ระบบจะเรียกใช้เมธอดนี้เมื่อแอปเรียก OnDevicePersonalizationManager#execute(ComponentName, PersistableBundle,
java.util.concurrent.Executor, OutcomeReceiver)
ที่อ้างอิง IsolatedService
ที่มีชื่อ
พารามิเตอร์ | |
---|---|
input |
ExecuteInput : พารามิเตอร์คําขอจากแอปที่เรียกใช้
ค่านี้ต้องไม่ใช่ null |
consumer |
Consumer : การเรียกกลับที่ได้รับผลลัพธ์ ExecuteOutput ควรเรียกใช้เมื่อ null เป็นข้อผิดพลาด ระบบจะส่งต่อข้อผิดพลาดไปยังแอปที่เรียกใช้ในรูปแบบ OnDevicePersonalizationException พร้อมรหัสข้อผิดพลาด OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED ทั้งนี้ จะไม่มีการรายงานข้อผิดพลาดโดยละเอียดเพิ่มเติมเพื่อหลีกเลี่ยงการรั่วไหลของข้อมูลส่วนตัวไปยังแอปการโทร หาก IsolatedService ต้องการรายงานสถิติข้อผิดพลาดไปยังแบ็กเอนด์ ExecuteOutput ก็ควรเติมข้อมูลข้อผิดพลาดสำหรับการบันทึก แล้วอาศัย Analytics แบบรวมศูนย์เพื่อรวบรวมรายงานข้อผิดพลาด
หากเมธอดนี้แสดง |
onRender
public void onRender (RenderInput input, Consumer<RenderOutput> consumer)
สร้าง HTML สำหรับผลลัพธ์ที่แสดงผลจากonExecute(android.adservices.ondevicepersonalization.ExecuteInput, java.util.function.Consumer)
เรียกใช้เมื่อแอปไคลเอ็นต์เรียกใช้ OnDevicePersonalizationManager#requestSurfacePackage(SurfacePackageToken, IBinder, int, int, int, java.util.concurrent.Executor, OutcomeReceiver)
แพลตฟอร์มจะแสดงผล HTML นี้ใน WebView
ภายในเฟรมที่มีการกำหนดเขตข้อมูล
พารามิเตอร์ | |
---|---|
input |
RenderInput : พารามิเตอร์สำหรับคำขอแสดงผล
ค่านี้ต้องไม่เป็น null |
consumer |
Consumer : การเรียกกลับที่ได้รับผลลัพธ์ ควรเรียกใช้ด้วย null เมื่อมีข้อผิดพลาด ระบบจะส่งต่อข้อผิดพลาดไปยังแอปที่เรียกใช้เป็น OnDevicePersonalizationException พร้อมรหัสข้อผิดพลาด OnDevicePersonalizationException.ERROR_ISOLATED_SERVICE_FAILED
หากเมธอดนี้แสดง |
ตัวอย่างการฝึกอบรม
public void onTrainingExample (TrainingExampleInput input, Consumer<TrainingExampleOutput> consumer)
สร้างตัวอย่างการฝึกแบบเดี่ยวที่ใช้สำหรับงานการประมวลผลแบบรวมศูนย์
พารามิเตอร์ | |
---|---|
input |
TrainingExampleInput : พารามิเตอร์ที่จำเป็นต่อการสร้างตัวอย่างการฝึก
ค่านี้ต้องไม่เป็น null |
consumer |
Consumer : เรียกใช้การติดต่อกลับเมื่อดำเนินการเสร็จสมบูรณ์
ค่านี้ต้องไม่เป็น null |