รีจิสทรีของผู้เผยแพร่โฆษณาที่กำหนดค่าได้

บริการ 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 เพื่อลงทะเบียนผู้เผยแพร่โฆษณาใหม่กับบริการ Telemetry

    void registerPublisher(in PublisherInfo publisherInfo, in IConfigurablePublisher publisher)
    
  • ใช้เมธอด unregisterPublisher เพื่อยกเลิกการลงทะเบียนผู้เผยแพร่โฆษณาที่ลงทะเบียนไว้ก่อนหน้านี้จากบริการ Telemetry

    void 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 ของแหล่งข้อมูลในการกำหนดค่าเมตริก