יישום תוכניות נתונים

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

תצורה על ידי ספק

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

להלן דוגמה כיצד להגדיר סוג נפוץ של תוכנית נתונים שחוזרת על עצמה מדי חודש:

SubscriptionManager sm =
    context.getSystemService(SubscriptionManager.class);
sm.setSubscriptionPlans(subId, Lists.newArrayList(
    SubscriptionPlan.Builder.createRecurringMonthly(
            ZonedDateTime.parse("2016-12-03T10:00:00Z"))
        .setTitle("G-Mobile")
        .setDataLimit(4_000_000_000L,
            SubscriptionPlan.LIMIT_BEHAVIOR_BILLED)
        .setDataUsage(200_493_293L, dataUsageTimestamp)
        .build()));

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

  • כרטיס ה-SIM הגדיר במפורש אפליקציה שיכולה לנהל אותו, כפי שהוגדר על ידי SubscriptionManager.canManageSubscription() .
  • הספק דחף את הערך KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRING דרך CarrierConfigManager כדי לציין איזו אפליקציה יכולה לנהל את תוכניות הנתונים של הספק.
  • למכשיר יש אפליקציה מובנית בתמונת המערכת בעלת הרשאת MANAGE_SUBSCRIPTION_PLANS .

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

אחד העיצובים המוצעים הוא שאפליקציה של ספק תשתמש בשירות תחזוקה סרק כדי לעדכן את פרטי תוכנית הנתונים על בסיס יומי, אך הספקים חופשיים להשתמש במגוון רחב של מנגנונים, כגון קבלת פרטי תוכנית נתונים באמצעות הודעות SMS פנימיות של הספק. שירותי תחזוקה סרק מיושמים בצורה הטובה ביותר עם משימת JobScheduler המשתמשת setRequiresDeviceIdle() וב- setRequiresCharging() .

שימוש לפי מערכת הפעלה

מערכת ההפעלה משתמשת בפרטי תוכנית הנתונים המסופקים על ידי ממשקי ה-API של SubscriptionPlan בדרכים הבאות:

  • פרטי התוכנית מוצגים דרך אפליקציית ההגדרות כדי להציג שימוש מדויק בנתונים למשתמשים וכדי לספק קישורים עמוקים ישירים לאפליקציית הספק להזדמנויות שדרוג/מכירה נוספת.
  • אזהרת השימוש בנתונים וספי הגבלת ההתראות מוגדרים אוטומטית על סמך פרטי התוכנית; האזהרה מוגדרת ל-90% מהמגבלה.
  • אם הספק מציין באופן זמני שהרשת "עמוסה" , מערכת ההפעלה מעכבת עבודות של JobScheduler שניתן להזיז בזמן, מה שמפחית את העומס על רשת הספק.
  • אם הספק מציין באופן זמני שהרשת היא "ללא מדידה" , מערכת ההפעלה יכולה לדווח על החיבור הסלולרי כ"ללא מדידה" עד שהספק מנקה את העקיפה, או עד הגעה לערך הזמן הקצוב (אם מסופק).
  • על ידי השוואת השימוש הנוכחי בנתונים של המשתמש עם מגבלת הנתונים הכוללת, מערכת ההפעלה מעריכה את השימוש הרגיל בנתונים של המשתמש בסוף מחזור החיוב ומקצה באופן שמרני 10% מכל הנתונים העודפים כדי לשפר את חווית המשתמש, למשל, על ידי מתן אפשרות לאפליקציות להשתמש נתונים מרובי נתיבים.

התאמה אישית ואימות

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

ממשקי ה-API SubscriptionManager המתוארים לעיל נבדקים על ידי android.telephony.cts.SubscriptionManagerTest , מה שמבטיח שניתן להגדיר את פרטי תוכנית הנתונים על ידי אפליקציות הספק ושהשינויים יופצו במערכת ההפעלה.