การระบุผู้ให้บริการ

อุปกรณ์ที่ใช้ 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 ไปยังรหัสผู้ให้บริการ ให้ทำตามขั้นตอนเหล่านี้:

  1. จัดกลุ่มไฟล์ carrier_config_mccmnc.xml จากผู้ให้บริการรายเดียวเข้าด้วยกัน ใช้ carrier_list.textpb เป็นข้อมูลอ้างอิงเพื่อแมปข้อมูล MCC, MNC และ MVNO กับผู้ให้บริการรายใดรายหนึ่ง

  2. รวมการกำหนดค่าเป็นไฟล์เดียว

  3. (ไม่บังคับ) สืบทอดข้อมูลจาก MNO MVNO สืบทอดการกำหนดค่าจาก MNO ในไฟล์ carrier_config_mccmnc.xml ดั้งเดิม เนื่องจากรหัสผู้ให้บริการอนุญาตให้ผู้ให้บริการทั้งหมดรวมถึง MVNO มีไฟล์กำหนดค่าเฉพาะ จึงแนะนำให้รวมข้อมูล MNO ในระหว่างการย้ายข้อมูล

  4. หากไม่มีการกำหนดค่าสำหรับ ID ผู้ให้บริการ MVNO ให้ดึงการกำหนดค่าจาก ID ผู้ให้บริการ MNO โดยใช้ getCarrierIdFromSimMccMnc

  5. เปลี่ยนชื่อไฟล์ใหม่เป็น carrier_config_carrierid_ carrierid _ carriername .xml โดยที่ carrierid ต้องสอดคล้องกับ canonical_id และ carriername ควรสอดคล้องกับ carrier_name ใน carrier_list.textpb