APN و CarrierConfig

شرکت‌های مخابراتی می‌توانند اطلاعات نام نقطه دسترسی (APN) و تنظیمات پیکربندی شرکت مخابراتی ( CarrierConfig ) را در پروژه منبع باز Android (AOSP) به‌روزرسانی کنند.

حساب Google با آدرس ایمیل شرکت شما

برای به‌روزرسانی اطلاعات APN یا CarrierConfig، باید درخواست را با استفاده از یک حساب Google با یک آدرس ایمیل شرکتی فعال ارسال کنید (برای مثال، درخواست به‌روزرسانی APN از شرکت Acme باید از آدرس ایمیلی مانند foobar@acme.com باشد).

اگر حساب Google ندارید که به آدرس ایمیل شرکتی شما پیوند می‌خورد، از تمام حساب‌های جیمیل از مرورگر خود خارج شوید (توصیه می‌کنیم از یک ویژگی مرور خصوصی، مانند پنجره ناشناس، برای جلوگیری از سردرگمی با سایر حساب‌هایتان استفاده کنید) و سپس یک حساب Google با آدرس ایمیل شرکت خود ایجاد کنید .

محیط توسعه محلی را آماده کنید

اگر قبلاً کدی را به AOSP ارسال نکرده اید، باید محیط ساخت خود را مقداردهی اولیه کنید، با ابزارها آشنا شوید و نحوه ارسال وصله ها را بدانید:

علاوه بر این، ما قویاً توصیه می کنیم که از Google Issue Tracker برای ردیابی تغییرات استفاده کنید.

یک اشکال را ثبت کنید

  1. به issuetracker.google.com بروید و با استفاده از آدرس ایمیل شرکتی خود وارد شوید ( حساب Google را با آدرس ایمیل شرکتی خود ببینید).
  2. پس از ورود به سیستم، روی ایجاد مشکل در سمت چپ صفحه کلیک کنید.
  3. در Component ، Android Public Tracker > Framework را انتخاب کنید
  4. به‌روزرسانی APN یا به‌روزرسانی CarrierConfig را در صورت لزوم ادامه دهید تا عنوان و توضیحات را وارد کنید.

اشکال APN

ویژگی های باگ را به صورت زیر تنظیم کنید:

عنوان: افزودن / اصلاح / حذف APN برای CarrierXYZ

توضیحات: شرح مفصلی از تغییراتی که درخواست می کنید، از جمله خود تنظیمات APN اضافه کنید.

اشکال CarrierConfig

ویژگی های باگ را به صورت زیر تنظیم کنید:

عنوان: تغییرات پیکربندی برای CarrierXYZ

توضیحات: شرح مفصلی از تغییراتی که درخواست می کنید اضافه کنید.

ثبت تغییرات

برای ایجاد تغییرات:

  1. مشخص کنید کدام فایل را تغییر دهید.
  2. تغییراتی در فایل ایجاد کنید.
  3. با پیروی از دستورالعمل‌های ارسال وصله‌ها ، توجه به دستورالعمل‌های پیام commit، از جمله قالب پیشنهادی، تغییرات را در مخزن محلی خود انجام دهید.
  4. پس از اینکه تغییر خود را در تاریخچه شخصی خود انجام دادید، آن را با استفاده از دستور repo upload در Gerrit آپلود کنید.
  5. پس از آپلود موفقیت آمیز، repo URL یک صفحه جدید در Gerrit را ارائه می دهد. از این URL استفاده کنید تا:
    • پچ خود را در سرور بررسی مشاهده کنید
    • نظرات را اضافه کنید
    • برای پچ خود از بازبینان خاصی درخواست کنید

نحو APN

نام پروژه اندروید - دستگاه/نمونه

نام(های) فایل - etc/apns-full-conf.xml ( لینک اصلی Google Git )

فایل حاوی تنظیمات APN در فرمت XML است و به عنوان یک فایل نمونه عمل می کند بنابراین هیچ تغییری در رفتار دستگاه های اندرویدی ایجاد نمی شود.

یک پیکربندی معمولی 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. هر دستگاه اندرویدی را که به آن دسترسی روت دارید وصل کنید.
  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 نمونه BICS APN را ببینید.

نحو CarrierConfig

نام پروژه - پلتفرم/بسته‌ها/برنامه‌ها/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 خود را به لیست CC در Gerrit اضافه کنید.
  • برای اهداف ردیابی، می‌توانید گیرنده مشکل را به android-carrier-config-review@google.com تغییر دهید.

پس از اینکه یک ارسال از طریق فرآیند بررسی و تأیید انجام شد، Gerrit به طور خودکار تغییر را در مخزن عمومی ادغام می کند. سایر کاربران می توانند repo sync اجرا کنند تا به روز رسانی را به مشتری محلی خود بکشند.