อุปกรณ์ที่ใช้ Android 9 สามารถจดจำข้อมูลผู้ให้บริการสมัครสมาชิกเพื่อระบุ ID และชื่อผู้ให้บริการได้ Android ดูแลรักษาฐานข้อมูลรหัสผู้ให้บริการ โดยมีกฎการจับคู่สำหรับผู้ให้บริการแต่ละรายและรหัสผู้ให้บริการที่ไม่ซ้ำกัน AOSP รวมเนื้อหาของฐานข้อมูล Carrier ID ไว้ในไฟล์ carrier_list.textpb
ฐานข้อมูลแบบรวมจะลดตรรกะที่ซ้ำกันในแอพที่ต้องระบุผู้ให้บริการและจำกัดการเปิดเผยคุณลักษณะที่ระบุผู้ให้บริการ
เพื่อปรับปรุงความครอบคลุมและความแม่นยำของการระบุผู้ให้บริการ Android รองรับการอัปเดตตาราง ID นอกแบนด์และตาราง ID ผู้ให้บริการ การอัปเดตแต่ละครั้งจะมาพร้อมกับหมายเลขเวอร์ชันและเผยแพร่ไปยัง AOSP
การนำไปปฏิบัติ
ผู้ใช้ที่ต้องการใช้การอัปเดตนอกแบนด์สามารถดาวน์โหลดไบนารี carrier_list.pb
จาก AOSP หากต้องการดูรูปแบบที่อ่านได้ของตาราง โปรดดูที่ carrier_list.textpb
วางตารางรหัสผู้ให้บริการใน /data/misc/carrierid/
พาร์ติชันข้อมูลของอุปกรณ์ หากตารางรหัสผู้ให้บริการใหม่กว่าเวอร์ชันที่มีอยู่ อุปกรณ์จะยังคงอยู่ในตารางเป็น คลาสฐานข้อมูลรหัสผู้ให้บริการ ข้อมูลล่าสุดจากฐานข้อมูล ID ผู้ให้บริการจะถูกเลือกโดยเมธอดสาธารณะ getSimCarrierId()
และ getSimCarrierIdName()
การเพิ่มข้อมูล ID ผู้ให้บริการไปยังฐานข้อมูล
หากต้องการเพิ่มหรืออัปเดต ID ผู้ให้บริการไปยังฐานข้อมูล ให้ส่งคำขอโดยใช้ แบบฟอร์มข้อมูลการระบุผู้ให้บริการ
คำขอของคุณได้รับการตรวจสอบแล้ว และหากได้รับการอนุมัติ การเปลี่ยนแปลงจะถูกส่งไปยังฐานโค้ด AOSP ที่ carrier_list.pb
จากนั้นคุณสามารถคัดลอกรายการที่อัปเดตและรวมไว้ในงานสร้างที่คุณกำหนดเองได้
การรวมรหัสผู้ให้บริการเข้ากับ CarrierConfig
เริ่มตั้งแต่ Android 10 การกำหนดค่าของผู้ให้บริการ รองรับการใช้รหัสผู้ให้บริการเป็นคีย์เพื่อดึงการกำหนดค่าเฉพาะของผู้ให้บริการจาก CarrierService
การรวม ID ผู้ให้บริการเข้ากับ CarrierConfig
มีข้อดีดังต่อไปนี้:
- รวมคู่ MCC/MNC ทั้งหมดสำหรับผู้ให้บริการแต่ละรายไว้ในที่เดียว โดยลบข้อมูลที่ซ้ำกันหรือไม่สอดคล้องกัน
- สร้างตัวระบุตามรูปแบบบัญญัติสำหรับผู้ให้บริการแต่ละรายและลบความกำกวม
- อนุญาตให้ผู้ให้บริการเครือข่ายเสมือนมือถือ (MVNO) สามารถระบุด้วย ID ส่วนบุคคล แทนที่จะมีการกำหนดค่าเป็นส่วนหนึ่งของผู้ให้บริการเครือข่ายมือถือ (MNO)
การย้ายข้อมูลการกำหนดค่าไปยังรหัสผู้ให้บริการ
หากต้องการย้ายข้อมูลการกำหนดค่าจากคู่ MCC/MNC ไปยังรหัสผู้ให้บริการ ให้ทำตามขั้นตอนเหล่านี้:
จัดกลุ่มไฟล์
carrier_config_mccmnc.xml
จากผู้ให้บริการรายเดียวเข้าด้วยกัน ใช้carrier_list.textpb
เป็นข้อมูลอ้างอิงเพื่อแมปข้อมูล MCC, MNC และ MVNO กับผู้ให้บริการรายใดรายหนึ่งรวมการกำหนดค่าเป็นไฟล์เดียว
(ไม่บังคับ) สืบทอดข้อมูลจาก MNO MVNO สืบทอดการกำหนดค่าจาก MNO ในไฟล์
carrier_config_mccmnc.xml
ดั้งเดิม เนื่องจากรหัสผู้ให้บริการอนุญาตให้ผู้ให้บริการทั้งหมดรวมถึง MVNO มีไฟล์กำหนดค่าเฉพาะ จึงแนะนำให้รวมข้อมูล MNO ในระหว่างการย้ายข้อมูลหากไม่มีการกำหนดค่าสำหรับ ID ผู้ให้บริการ MVNO ให้ดึงการกำหนดค่าจาก ID ผู้ให้บริการ MNO โดยใช้
getCarrierIdFromSimMccMnc
เปลี่ยนชื่อไฟล์ใหม่เป็น
carrier_config_carrierid_ carrierid _ carriername .xml
โดยที่ carrierid ต้องสอดคล้องกับcanonical_id
และ carriername ควรสอดคล้องกับcarrier_name
ในcarrier_list.textpb