تنفيذ خطط البيانات

يتيح Android 9 لشركات الاتصالات تقديم تفاصيل الخطة الموثوقة مباشرةً للمستخدمين في تطبيق الإعدادات لتقليل ارتباك المستخدم ومكالمات الدعم. على الأجهزة التي تعمل بنظام التشغيل Android 4.0 والإصدارات الأحدث، يستطيع المستخدمون تكوين تفاصيل خطة البيانات الخاصة بمشغل شبكة الجوال يدويًا في تطبيق الإعدادات، على سبيل المثال، تعيين التحذيرات والحدود لإدارة استخدام البيانات الخاصة بهم.

التكوين عن طريق الناقل

لتهيئة خطط البيانات، يمكن لشركات الاتصالات إضافة وظائف إلى تطبيقات Android الحالية باستخدام واجهات برمجة تطبيقات SubscriptionPlan . تم تصميم واجهات برمجة التطبيقات لدعم نطاق واسع من أنواع خطط البيانات، بما في ذلك الخطط المتكررة وغير المتكررة، والخطط التي تتغير بمرور الوقت.

فيما يلي مثال لكيفية تكوين نوع شائع من خطة البيانات التي تتكرر شهريًا:

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() .

الاستخدام عن طريق نظام التشغيل

يستخدم نظام التشغيل تفاصيل خطة البيانات المقدمة من واجهات برمجة تطبيقات SubscriptionPlan بالطرق التالية:

  • يتم عرض تفاصيل الخطة عبر تطبيق الإعدادات لعرض الاستخدام الدقيق للبيانات للمستخدمين ولتوفير روابط عميقة مباشرة في تطبيق الناقل للحصول على فرص الترقية/البيع.
  • يتم تكوين حدود تحذير استخدام البيانات وحدود الإشعارات تلقائيًا بناءً على تفاصيل الخطة؛ تم ضبط التحذير على 90% من الحد الأقصى.
  • إذا أشارت شركة الاتصالات مؤقتًا إلى أن الشبكة "مزدحمة" ، فإن نظام التشغيل يؤخر مهام JobScheduler التي يمكن تغييرها زمنيًا، مما يقلل الحمل على شبكة الناقل.
  • إذا أشارت شركة الاتصالات مؤقتًا إلى أن الشبكة "غير محدودة" ، فيمكن لنظام التشغيل الإبلاغ عن الاتصال الخلوي على أنه "غير محدود" حتى يقوم الناقل بمسح التجاوز، أو حتى يتم الوصول إلى قيمة المهلة (إذا تم توفيرها).
  • من خلال مقارنة الاستخدام الحالي للبيانات للمستخدم مع الحد الإجمالي للبيانات، يقوم نظام التشغيل بتقدير الاستخدام العادي للبيانات للمستخدم في نهاية دورة الفوترة ويخصص بشكل متحفظ 10% من أي بيانات فائضة لتحسين تجربة المستخدم، على سبيل المثال، عن طريق السماح للتطبيقات باستخدام بيانات متعددة المسارات

التخصيص والتحقق من الصحة

يعرض تطبيق إعدادات Android جميع تفاصيل خطة البيانات التي تم تكوينها بواسطة شركة الاتصالات، مما يضمن أن يرى المستخدمون الحالة الأكثر دقة لعلاقة شركة الاتصالات الخاصة بهم، ويقدم للمستخدمين مسارًا إلى تطبيق شركة الاتصالات لترقية خطتهم. يُنصح الشركات المصنعة للأجهزة التي تختار تخصيص تطبيق الإعدادات بمواصلة إظهار هذه التفاصيل.

يتم اختبار واجهات برمجة التطبيقات SubscriptionManager الموضحة أعلاه بواسطة android.telephony.cts.SubscriptionManagerTest ، مما يضمن إمكانية تكوين تفاصيل خطة البيانات بواسطة تطبيقات الناقل ونشر التغييرات داخل نظام التشغيل.