บริการ Telemetry มีรีจิสทรีของผู้เผยแพร่โฆษณาที่กำหนดค่าได้เป็นวิธีการเก็บรวบรวมข้อมูลรอง แอปพลิเคชันและบริการสามารถลงทะเบียนตัวเองเป็นผู้เผยแพร่โฆษณา Telemetry ในรีจิสทรี ซึ่งจะทำให้แอปพลิเคชันและบริการดังกล่าวพร้อมใช้งานสำหรับบริการ Telemetry ดูข้อมูลเพิ่มเติมเกี่ยวกับประเภทแหล่งข้อมูลที่เรารองรับได้ที่ แหล่งข้อมูล
คลัง
Telemetry สื่อสารกับผู้เผยแพร่โฆษณาในรีจิสทรีของผู้เผยแพร่โฆษณาที่กำหนดค่าได้ผ่าน Binder เราขอแนะนำอย่างยิ่งให้ใช้ไลบรารีรีจิสทรีของผู้เผยแพร่โฆษณาที่กำหนดค่าได้เวอร์ชันทดลองซึ่งเป็นส่วนหนึ่งของ Telemetry SDK แทนการติดตั้งใช้งานอินเทอร์เฟซ AIDL ด้วยตนเอง ไลบรารีจะแยกอินเทอร์เฟซ AIDL ออกและมี API ที่ปลอดภัยตามประเภทที่ชัดเจนสำหรับการกำหนดผู้เผยแพร่โฆษณา การเผยแพร่ข้อมูล Telemetry และการจัดการการแปลงข้อความ protobuf เป็นรูปแบบการส่งข้อมูล
ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ไลบรารีได้ที่ Configurable Publisher Registry library
การติดตั้งใช้งานและการลงทะเบียนผู้เผยแพร่โฆษณาด้วยตนเอง
หากไม่ต้องการใช้ไลบรารีที่ให้ไว้ คุณสามารถติดตั้งใช้งานอินเทอร์เฟซ Binder ที่จำเป็นด้วยตนเองได้ ส่วนต่อไปนี้จะแสดงภาพรวมของขั้นตอนที่จำเป็นในการติดตั้งใช้งานผู้เผยแพร่โฆษณาและลงทะเบียนในรีจิสทรีของผู้เผยแพร่โฆษณาที่กำหนดค่าได้
การลงทะเบียน
ผู้เผยแพร่โฆษณาที่ใช้รีจิสทรีของผู้เผยแพร่โฆษณาที่กำหนดค่าได้ต้องระบุข้อมูลเมตาอย่างชัดเจน ซึ่งแตกต่างจากบริการ SDV ที่มีข้อมูลเมตา เช่น โครงสร้างข้อความที่กำหนดไว้ใน VSIDL และพร้อมใช้งานสำหรับระบบ คุณระบุข้อมูลเมตานี้ผ่านออบเจ็กต์ PublisherInfo ระหว่างการลงทะเบียน
คุณลงทะเบียนผู้เผยแพร่โฆษณาเหล่านี้โดยใช้อินเทอร์เฟซ IConfigurablePublisherRegistry
AIDL ดังนั้น คุณจึงเขียนผู้เผยแพร่โฆษณาในภาษาใดก็ได้ที่ AIDL รองรับ ซึ่งรวมถึง Java, C++ และ Rust อินเทอร์เฟซมี 2 เมธอด ได้แก่
ใช้เมธอด
registerPublisherเพื่อลงทะเบียนผู้เผยแพร่โฆษณาใหม่กับบริการ Telemetryvoid registerPublisher(in PublisherInfo publisherInfo, in IConfigurablePublisher publisher)ใช้เมธอด
unregisterPublisherเพื่อยกเลิกการลงทะเบียนผู้เผยแพร่โฆษณาที่ลงทะเบียนไว้ก่อนหน้านี้จากบริการ Telemetryvoid unregisterPublisher(in @utf8InCpp String serviceName)
ออบเจ็กต์ PublisherInfo จะระบุข้อมูลพื้นฐานของผู้เผยแพร่โฆษณา ดังนี้
| ช่อง | คำอธิบาย |
|---|---|
serviceName |
ชื่อของผู้เผยแพร่โฆษณาที่ผู้ใช้กำหนด ใช้ชื่อนี้เพื่ออ้างอิงจากข้อมูลการกำหนดค่าเมตริก |
fileDescriptorSet |
google.protobuf.FileDescriptorSet ที่ซีเรียลไลซ์แล้ว (ดูข้อมูลเพิ่มเติมได้ที่ข้อความที่อธิบายตัวเอง) ซึ่งมีตัวอธิบายข้อความ (ตั้งชื่อตามช่อง messageTypeName) ของข้อความที่ผู้เผยแพร่โฆษณารายนี้เผยแพร่และทรัพยากร Dependency ที่จำเป็นทั้งหมด บริการ Telemetry ใช้ตัวอธิบายข้อความเพื่อดีซีเรียลไลซ์ข้อมูลที่ผู้เผยแพร่โฆษณาส่ง ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างข้อมูลนี้ในระหว่างการสร้างได้ที่ เครื่องมือสร้างตัวอธิบาย Java protobuf |
messageTypeName |
ชื่อเต็มของข้อความ protobuf ที่ผู้เผยแพร่โฆษณาเผยแพร่ ตัวอธิบายข้อความของข้อความนี้ต้องประกาศใน fileDescriptorSet |
supportsGet |
ระบุว่าผู้เผยแพร่โฆษณาสามารถให้ข้อความล่าสุดได้โดยไม่ต้องสมัครรับข้อมูลหรือไม่ |
การใช้งาน
ผู้เผยแพร่โฆษณาที่กำหนดเองต้องติดตั้งใช้งานอินเทอร์เฟซ IConfigurablePublisher โดยระบุเมธอดต่อไปนี้
บริการ Telemetry จะเรียก
createSubscriptionเพื่อสมัครรับข้อมูลจากผู้เผยแพร่โฆษณาหากตั้งค่าconnection_typeของแหล่งข้อมูลสำหรับผู้เผยแพร่โฆษณารายนี้ในการกำหนดค่าเมตริกเป็นSUBSCRIPTIONอาร์กิวเมนต์ISubscriberที่ส่งไปยังผู้เผยแพร่โฆษณามีเมธอดsendData(in byte[] data)ซึ่งคุณใช้เพื่อสตรีมข้อความ protobuf ไปยังบริการ Telemetry ได้IConfigurablePublisherSubscription createSubscription(in ISubscriber subscriber, in @nullable byte[] configuration)บริการ Telemetry จะเรียก
getLatestMessageเพื่อดึงข้อความล่าสุดของผู้เผยแพร่โฆษณาหากตั้งค่าconnection_typeของแหล่งข้อมูลสำหรับผู้เผยแพร่โฆษณารายนี้ในการกำหนดค่าเมตริกเป็นON_DEMANDบริการ Telemetry จะใช้เมธอดนี้ก็ต่อเมื่อPublisherInfoของผู้เผยแพร่โฆษณาระบุsupportsGet = true@nullable byte[] getLatestMessage(in @nullable byte[] configuration)
บริการ Telemetry จะตั้งค่าอาร์กิวเมนต์ configuration เป็นตัวเลือก configuration ของแหล่งข้อมูลในการกำหนดค่าเมตริก