APN และ CarrierConfig

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

บัญชี Google ที่มีอีเมลบริษัท

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

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

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

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

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

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

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

ข้อบกพร่องเกี่ยวกับ APN

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

Title: Add/Modify/Remove APNs for CarrierXYZ

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

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

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

Title: การเปลี่ยนแปลงการกําหนดค่าสําหรับ CarrierXYZ

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

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

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

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

ไวยากรณ์ APN

ชื่อโปรเจ็กต์ Android - อุปกรณ์/ตัวอย่าง

ชื่อไฟล์ - 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 ลิงก์หลักของ Git)

ระบุไฟล์ XML ที่เกี่ยวข้องในโฟลเดอร์ชิ้นงานตาม 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 ลงในรายชื่อสำเนาใน Gerrit ได้ด้วย
  • คุณเปลี่ยนผู้ได้รับมอบหมายของปัญหาเป็น android-carrier-config-review@google.com เพื่อวัตถุประสงค์ในการติดตามได้

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