APN และ CarrierConfig

ผู้ให้บริการเครือข่ายสามารถอัปเดตข้อมูลชื่อจุดเข้าใช้งาน (APN) และการตั้งค่าการกำหนดค่าเฉพาะของผู้ให้บริการเครือข่าย (CarrierConfig) ในโครงการโอเพนซอร์ส Android (AOSP)

บัญชี Google ที่ใช้อีเมลของบริษัท

หากต้องการอัปเดตข้อมูล APN หรือ CarrierConfig คุณต้องส่งคำขอโดยใช้บัญชี Google ที่มีอีเมลของบริษัทที่ใช้งานอยู่ (เช่น คำขออัปเดต APN จากบริษัท Acme ควรมาจากอีเมล เช่น foobar@acme.com)

หากไม่มีบัญชี Google ที่ลิงก์กับอีเมลของบริษัท ให้ออกจากระบบบัญชี Gmail ทั้งหมดจากเบราว์เซอร์ (เราขอแนะนำให้ใช้ ฟีเจอร์การท่องเว็บแบบส่วนตัว เช่น หน้าต่างที่ไม่ระบุตัวตน เพื่อไม่ให้สับสนกับ บัญชีอื่นๆ) แล้ว สร้างบัญชี Google ด้วยอีเมลของบริษัท

เตรียมสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ในเครื่อง

หากไม่เคยส่งโค้ดไปยัง AOSP มาก่อน คุณจะต้องเริ่มต้นสภาพแวดล้อมของบิลด์ ทำความคุ้นเคยกับเครื่องมือ และทำความเข้าใจวิธีส่งแพตช์ โดยทำดังนี้

นอกจากนี้ เราขอแนะนำอย่างยิ่งให้คุณใช้ Google Issue Tracker เพื่อติดตามการเปลี่ยนแปลง

รายงานข้อบกพร่อง

  1. ไปที่ issuetracker.google.com แล้วลงชื่อเข้าใช้โดยใช้อีเมลของบริษัท (ดู บัญชี Google ที่ใช้อีเมลของบริษัท)
  2. หลังจากเข้าสู่ระบบแล้ว ให้คลิกสร้างปัญหา ที่ด้านซ้ายของ หน้าจอ
  3. ในคอมโพเนนต์ ให้เลือก Android Public Tracker > Framework
  4. ดำเนินการต่อเพื่ออัปเดต APN หรือ อัปเดต CarrierConfig ตามความเหมาะสม เพื่อป้อนชื่อและคำอธิบาย

ข้อบกพร่องของ APN

ตั้งค่าแอตทริบิวต์ของข้อบกพร่องดังนี้

ชื่อ: เพิ่ม/แก้ไข/นำออก APN สำหรับผู้ให้บริการเครือข่าย XYZ

คำอธิบาย: เพิ่มคำอธิบายโดยละเอียดเกี่ยวกับการเปลี่ยนแปลงที่คุณขอ รวมถึงการตั้งค่า APN เอง

ข้อบกพร่องของ CarrierConfig

ตั้งค่าแอตทริบิวต์ของข้อบกพร่องดังนี้

ชื่อ: การเปลี่ยนแปลงการกำหนดค่าสำหรับผู้ให้บริการเครือข่าย XYZ

คำอธิบาย: เพิ่มคำอธิบายโดยละเอียดเกี่ยวกับการเปลี่ยนแปลงที่คุณขอ

ส่งข้อมูลการเปลี่ยนแปลง

วิธีทำการเปลี่ยนแปลง

  1. ระบุไฟล์ที่จะเปลี่ยนแปลง
  2. ทำการเปลี่ยนแปลงไฟล์
  3. คอมมิตการเปลี่ยนแปลงไปยังที่เก็บในเครื่องโดยทำตามวิธีการ สำหรับ การส่งแพตช์ โดยคำนึงถึงหลักเกณฑ์ข้อความคอมมิต รวมถึงรูปแบบที่แนะนำ
  4. หลังจากคอมมิตการเปลี่ยนแปลงลงในประวัติส่วนตัวแล้ว ให้อัปโหลดไปยัง Gerrit โดยใช้คำสั่ง repo upload
  5. เมื่ออัปโหลดสำเร็จแล้ว repo จะแสดง URL ของหน้าใหม่ใน Gerrit ใช้ URL นี้เพื่อทำสิ่งต่อไปนี้
    • ดูแพตช์ในเซิร์ฟเวอร์ตรวจสอบ
    • เพิ่มความคิดเห็น
    • ขอให้ผู้ตรวจสอบเฉพาะเจาะจงตรวจสอบแพตช์

ไวยากรณ์ APN

ชื่อโปรเจ็กต์ Android - device/sample

ชื่อไฟล์ - etc/apns-full-conf.xml (ลิงก์หลักของ Google Git)

ไฟล์นี้มีการตั้งค่า APN ในรูปแบบ XML และทำหน้าที่เป็นไฟล์ตัวอย่าง ดังนั้นจึงไม่มีการเปลี่ยนแปลงลักษณะการทำงานของอุปกรณ์ Android

การกำหนดค่า APN โดยทั่วไปจะมีลักษณะดังนี้

<apn carrier="CarrierXYZ"
      mcc="123"
      mnc="123"
      apn="carrierxyz"
      type="default,supl,mms,ims,cbs"
      mmsc="http://mms.carrierxyz.com"
      mmsproxy="0.0.0.0"
      mmsport="80"
      bearer_bitmask="4|5|6|7|8|12"
/>

การทดสอบ

  1. เชื่อมต่ออุปกรณ์ Android ใดก็ได้ที่คุณมีสิทธิ์เข้าถึงระดับราก
  2. เพิ่มการตั้งค่าลงใน /etc/apns-conf.xml
  3. รีเซ็ตการตั้งค่า APN
  4. ในการตั้งค่า APN ให้ยืนยันว่าโปรไฟล์โหลดอย่างถูกต้อง
  5. ทดสอบการเชื่อมต่ออินเทอร์เน็ต ฮอตสปอต Wi-Fi และ MMS สำหรับแต่ละโปรไฟล์เพื่อให้แน่ใจว่าทำงานได้อย่างถูกต้อง

ข้อความคอมมิต

[Example - "Add CarrierXYZ apns to sample apns"]
Bug: [Issue ID from Google Issue Tracker]
Test: No change to behavior as this is only a sample file

ตัวอย่าง CL

ดูตัวอย่าง CL ได้ที่ ตัวอย่าง APN ของ BICS

ไวยากรณ์ CarrierConfig

ชื่อโปรเจ็กต์ - platform/packages/apps/CarrierConfig

ชื่อไฟล์ - assets/carrier_config_.xml (ลิงก์หลักของ Google)

ระบุไฟล์ XML ที่เกี่ยวข้องในโฟลเดอร์ assets ตามทูเพิล MCC/MNC ที่เกี่ยวข้อง ไฟล์นี้มีออบเจ็กต์การกำหนดค่าของผู้ให้บริการเครือข่ายในรูปแบบ XML ชื่อแอตทริบิวต์กำหนดเป็นคีย์ภายใต้ CarrierConfigManager และประเภทค่า (int/string/bool) จะระบุด้วยคำต่อท้าย

แอตทริบิวต์ int/string/bool โดยทั่วไปจะมีลักษณะดังนี้

<int name="vvm_port_number_int" value="5499" />
<string name="vvm_type_string">vvm_type_omtp</string >
<boolean name="vvm_cellular_data_required_bool" value="true" />

ข้อความคอมมิต

[Example - "Add VVM settings for CarrierXYZ"]

[Example - "Updated <mccmnc> carrier config file to include VVM settings
as defined by CarrierXYZ."]

Bug: [Issue ID from Google Issue Tracker]
Test: [Testing notes]

ตัวอย่าง CL

ดูตัวอย่าง CL ได้ที่ไฟล์การกำหนดค่าของผู้ให้บริการเครือข่ายที่ อัปเดต

ขอรับการตรวจสอบ

หากต้องการส่งคำขอให้ตรวจสอบ ให้ทำดังนี้

  • ไปที่ URL ของ Gerrit สำหรับการเปลี่ยนแปลงของคุณ แล้วเพิ่ม android-carrier-config-review@google.com เป็นผู้ตรวจสอบ
  • นอกจากนี้ คุณยังเพิ่มผู้ติดต่อ Google ลงในรายการ CC ใน Gerrit ได้ด้วย
  • คุณสามารถเปลี่ยนผู้รับผิดชอบปัญหาเป็น android-carrier-config-review@google.com เพื่อวัตถุประสงค์ในการติดตาม

หลังจากที่การส่งผ่านกระบวนการตรวจสอบและการยืนยันแล้ว Gerrit จะผสานการเปลี่ยนแปลงเข้ากับที่เก็บสาธารณะโดยอัตโนมัติ ผู้ใช้รายอื่นๆ สามารถเรียกใช้ repo sync เพื่อดึงข้อมูลอัปเดตไปยังไคลเอ็นต์ในเครื่อง