זיהוי הספק

במכשירים עם Android 9 אפשר לזהות את פרטי ספק המינוי כדי לספק מזהה ושם של ספק. ב-Android יש מסד נתונים של מזהי ספקי סלולר, עם כללי התאמה לכל ספק ומזהה הספק הייחודי שלו. AOSP כולל את התוכן של מסד הנתונים של מזהי הספקים, בקובץ carrier_list.textpb. מסד הנתונים המאוחד מקטין את הכפילויות בלוגיקה באפליקציות שצריכות לזהות ספקים, ומגביל את החשיפה של מאפיינים שמזהים את הספק.

כדי לשפר את הכיסוי והדיוק של זיהוי הספק, מערכת Android תומכת בעדכונים מחוץ למסגרת ובעדכונים של טבלת מזהי הספקים. לכל עדכון יש מספר גרסה והוא מתפרסם ב-AOSP.

הטמעה

משתמשים שרוצים להטמיע עדכונים מחוץ לערוץ יכולים להוריד את הקובץ הבינארי carrier_list.pb מ-AOSP. כדי להציג את הפורמט הקריא של הטבלה, אפשר לעיין במאמר carrier_list.textpb.

מניחים את טבלת מזהה הספק במחיצה /data/misc/carrierid/ של הנתונים במכשיר. אם טבלת מזהה הספק חדשה יותר מהגרסה הקיימת, המכשיר שומר את הטבלה בכיתת מסד הנתונים של מזהה הספק. המידע העדכני ביותר ממסד הנתונים של מזהי ספקי השירות נאסף על ידי השיטות הציבוריות getSimCarrierId() ו-getSimCarrierIdName().

הוספת פרטי מזהה הספק למסד הנתונים

כדי להוסיף או לעדכן מזהה של ספק ל-DB, שולחים בקשה באמצעות הטופס למידע על מזהה הספק.

הבקשה נבדקת, ואם היא מאושרת, השינוי מועבר לבסיס הקוד של AOSP בכתובת carrier_list.pb. לאחר מכן תוכלו להעתיק את הרשימה המעודכנת ולשלב אותה ב-build המותאם אישית.

שילוב של מזהי ספקי סלולר עם CarrierConfig

החל מ-Android 10, הגדרות הספק תומכות בשימוש במזהי ספקי סלולר כמפתחות לאחזור הגדרות ספציפיות לספק מ-CarrierService.

לשילוב מזהי ספקים עם CarrierConfig יש את היתרונות הבאים:

  • איחוד כל זוגות ה-MCC/MNC של כל ספק למיקום אחד, והסרת נתונים כפולים או לא עקביים.
  • יוצר מזהה קנוני לכל ספק ומסיר סתירות.
  • מאפשרת לזהות מפעילי רשתות סלולריות וירטואליות (MVNO) באמצעות מזהי משנה ספציפיים, במקום להשתמש בהגדרות כחלק ממפעיל רשת סלולרית (MNO).

העברת נתוני תצורה למזהי ספקי סלולר

כדי להעביר נתוני הגדרה מזוגות של חשבונות ניהול/מפעילים סלולר למזהי ספקי סלולר:

  1. קיבוץ הקבצים מסוג carrier_config_mccmnc.xml של ספק אחד. אפשר להשתמש ב-carrier_list.textpb כמקור מידע כדי למפות את המידע של MCC,‏ MNC ו-MVNO לספק ספציפי.

  2. מיזוג ההגדרות לקובץ אחד.

  3. (אופציונלי) ירושה של נתונים מחברות סלולר. ספקי MVNO יורשים הגדרות מ-MNO בקובץ carrier_config_mccmnc.xml הקודם. מאחר שמזהי הספקים מאפשרים לכל הספקים, כולל ספקי MVNO, לכלול קובץ תצורה ייעודי, מומלץ לכלול נתוני MNO במהלך ההעברה.

  4. אם ההגדרה של מזהה ספק MVNO לא קיימת, אפשר לאחזר את ההגדרה ממזהה הספק של ה-MNO באמצעות getCarrierIdFromSimMccMnc.

  5. משנים את שם הקובץ החדש ל-carrier_config_carrierid_carrierid_carriername.xml, כאשר carrierid חייב להתאים ל-canonical_id ו-carriername חייב להתאים ל-carrier_name ב-carrier_list.textpb