התאמה אישית של התנהגות מכשיר למשתמשים לא מאוזנים

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

פלטפורמת אנדרואיד מספקת אפליקציית ספק ברירת מחדל עם התנהגות ברירת מחדל להפחתת תנועה המבוססת על אות זיהוי פורטל שבוי. זה גם מספק לספקים ויצרני OEM את ההזדמנות להתאים אישית את ההתנהגות בעלות נמוכה וגמישות רבה.

דוגמאות ומקור

אפליקציית הספק המוגדרת כברירת מחדל נמצאת ב- platform/frameworks/base/packages/CarrierDefaultApp/ .

יישום

אפליקציית הספק המוגדרת כברירת מחדל מוגדרת לספק חוויה טובה יותר לספקים לא מוגדרים מחוץ לקופסה. ספקים יכולים להשתמש בהתנהגות ברירת מחדל זו. הם יכולים גם לעקוף את התנהגות ברירת המחדל על ידי הוספת מיפויי פעולת אותות לקובץ ה-XML של תצורת הספק. הם יכולים להחליט לא להשתמש באפליקציית ברירת המחדל ובמקום זאת להשתמש בהרשאות UICC עם אפליקציית ספק עצמאית משלהם.

מבוא ליישום

אותות

מסגרת אנדרואיד תומכת בהגדרת פעולות לאותות הבאים עם פרמטרים:

  • TelephonyIntents.ACTION_CARRIER_SIGNAL_REDIRECTED
  • TelephonyIntents.ACTION_CARRIER_SIGNAL_REQUEST_NETWORK_FAILED

האותות הללו ממוקמים frameworks/base/telephony/java/com/android/internal/telephony/TelephonyIntents.java .

פעולות נתמכות

אפליקציית ספק ברירת המחדל מגדירה קבוצה של פעולות נתמכות שניתן למפות לאותות נתמכים. אלה מוגדרים ב- CarrierActionUtils.java :

    public static final int CARRIER_ACTION_ENABLE_METERED_APNS               = 0;
    public static final int CARRIER_ACTION_DISABLE_METERED_APNS              = 1;
    public static final int CARRIER_ACTION_DISABLE_RADIO                     = 2;
    public static final int CARRIER_ACTION_ENABLE_RADIO                      = 3;
    public static final int CARRIER_ACTION_SHOW_PORTAL_NOTIFICATION          = 4;
    public static final int CARRIER_ACTION_SHOW_NO_DATA_SERVICE_NOTIFICATION = 5;
    public static final int CARRIER_ACTION_CANCEL_ALL_NOTIFICATIONS          = 6;

הערה: אם ספק מיישם אפליקציה עצמאית משלו, אז הוא יכול ליישם תמיכה לאותות אחרים מאלה שהוזכרו בסעיף זה. הם יכולים להגדיר ולהגדיר את הפעולות שלהם גם כן.

מיפויי פעולות אות ברירת מחדל

הגדר פעולות ברירת מחדל על ידי ביצוע תהליך זה:

  1. הגדר מפתח עבור אותות נתמכים.

    מיפוי האות לפעולה המוגדר כברירת מחדל מוגדרים ב- CarrierConfigManager.java . לכל אחד מהאותות הנתמכים יש מפתח:

    public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_REDIRECTION_STRING_ARRAY = "carrier_default_actions_on_redirection_string_array";
    public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_DCFAILURE_STRING_ARRAY =
    "carrier_default_actions_on_dcfailure_string_array";
    
  2. שיוך פעולות ברירת מחדל לאותת מפתחות.

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

    sDefaults.putStringArray(KEY_CARRIER_DEFAULT_ACTIONS_ON_REDIRECTION_STRING_ARRAY,                new String[]{
                    "1, 4"
                    //1: CARRIER_ACTION_SHOW_PORTAL_NOTIFICATION
                    //4: CARRIER_ACTION_DISABLE_METERED_APNS
             });
    

    מסגרת הטלפוניה ממפה את הפעולות הללו לאותות המתאימים.

עקיפת פעולות ברירת מחדל

ניתן להגדיר פעולות מותאמות אישית עבור אותות נתמכים בקובץ ה-XML של תצורת הספק על ידי שיוך מזהי פעולה למפתחות האות (מוגדרים ב- CarrierConfigManager.java ). לדוגמה, המיפוי הבא משבית APNs מדורג ומציג הודעת פורטל על ניתוב מחדש:

<string-array name="carrier_default_actions_on_redirection_string_array" num="2">
            <item value="1" />
            <item value="4" />
</string-array>

מסגרת הטלפוניה טוענת את התצורות הללו ומעקפת את פעולות ברירת המחדל.

מַתַן תוֹקֵף

אין בדיקות CTS, CTS Verifier או GTS עבור תכונה זו.

השתמש במבחני אימות ידניים אלה כדי לאמת את התכונה:

  1. אימות הודעת אות יציאה מאיזון במכשיר של Telco.
  2. ודא את החנקה של הפניית תנועה במצב יציאה מאיזון וכיבוי ה-Wi-Fi.
  3. ודא שתעבורת הרשת נדחתה וממשק המשתמש של התראות מופיע במצב חוסר איזון.
  4. אימות שיחה קולית/פונקציית VoLTE במצב חוסר איזון.
  5. ודא ששיחות וידאו חסומות במצב לא מאוזן.
  6. עם Wi-Fi מופעל, ודא שהמשתמש יכול להמשיך לגלוש באינטרנט, ותעבורת הגלישה לא מפעילה את תעבורת הרשת במצב לא מאוזן.
  7. אמת פונקציות Wi-Fi, WFC ו-Bluetooth במצב חוסר איזון.
  8. כבה את ה-Wi-Fi. ודא את ממשק המשתמש של ההודעה על חוסר איזון, ושתעבורת גלישה רגילה אינה מועברת לאתר ההרשמה של Telco. ודא לחיצה על הקישור בממשק המשתמש של ההתראה מביאה את הדפדפן לאתר הרישום של Telco.
  9. ודא שהחלפת מצב מטוס לא מאפס את מצב מצערת התנועה.
  10. ודא שהחלפת SIM בשירות מאפסת את מצב תעבורת הרשת.
  11. ודא שהכנסת ה-SIM לא מאוזן מפעילה מחדש את הפניית התעבורה ומקבלת שוב מניעת תעבורת רשת.
  12. ודא שהאתחול מחדש של הטלפון מפעיל מחדש את ההפניה מחדש ומחזיר את מצערת התנועה ואת ממשק המשתמש של ההתראות.
  13. הקש על ההודעה "captiveportal". ודא שחיבור רשת מוגבל נוצר כדי לאפשר למשתמש להוסיף קרדיטים.
  14. ודא שמילוי או הפעלה מחדש של יתרת ה-SIM גורם לתעבורת הרשת הסלולרית להתאושש, ולקישור ה-Telco וללא הודעת יתרה להיעלם.
  15. בדיקת שפיות לאחר שחזור שירות נתונים.

אפליקציית ברירת המחדל מספקת כמה דוגמאות של בדיקות יחידות וסקריפט להפעלתן (ראה tests/runtest.sh ). כאשר אתה מיישם גרסה או התנהגות מותאמים אישית, עליך לשקף את ההתאמות האישיות הללו לבדיקות יחידות ייעודיות.