डेटा प्लान लागू करना

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

डिवाइस, किसी ऐप्लिकेशन को सिर्फ़ इन स्थितियों में डेटा प्लान कॉन्फ़िगर करने की अनुमति देता है:

  • सिम कार्ड में, साफ़ तौर पर यह तय किया गया हो कि कौनसे ऐप्लिकेशन इसे मैनेज कर सकते हैं. इसकी जानकारी, SubscriptionManager.canManageSubscription() में दी गई है.
  • मोबाइल और इंटरनेट सेवा देने वाली कंपनी ने KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRING की वैल्यू, CarrierConfigManagerके ज़रिए पुश की हो, ताकि यह बताया जा सके कि कौनसे ऐप्लिकेशन, मोबाइल और इंटरनेट सेवा देने वाली कंपनी के डेटा प्लान मैनेज कर सकते हैं.
  • डिवाइस में, सिस्टम इमेज में बना कोई ऐसा ऐप्लिकेशन मौजूद हो जिसके पास MANAGE_SUBSCRIPTION_PLANS की अनुमति हो.

पहली दो स्थितियों में, उपयोगकर्ता मोबाइल और इंटरनेट सेवा देने वाली कंपनी का ऐप्लिकेशन इंस्टॉल कर सकता है. इसके लिए, यह ज़रूरी नहीं है कि ऐप्लिकेशन को फ़ैक्ट्री में सिस्टम इमेज में पहले से इंस्टॉल किया गया हो. ओएस यह पक्का करता है (और सीडीडी के लिए यह ज़रूरी है) कि कॉन्फ़िगर किए गए डेटा प्लान की सभी जानकारी सुरक्षित हो और यह जानकारी सिर्फ़ मोबाइल और इंटरनेट सेवा देने वाली कंपनी के उस ऐप्लिकेशन के लिए उपलब्ध हो जिसने ओएस को यह जानकारी दी थी.

एक सुझाव यह है कि मोबाइल और इंटरनेट सेवा देने वाली कंपनी का ऐप्लिकेशन, डेटा प्लान की जानकारी को हर दिन अपडेट करने के लिए, बैकग्राउंड में चलने वाली सेवा का इस्तेमाल करे. हालांकि, मोबाइल और इंटरनेट सेवा देने वाली कंपनियां, अलग-अलग तरह के तरीकों का इस्तेमाल कर सकती हैं. जैसे, मोबाइल और इंटरनेट सेवा देने वाली कंपनी के इंटरनल एसएमएस मैसेज के ज़रिए, डेटा प्लान की जानकारी पाना. बैकग्राउंड में चलने वाली सेवाओं को, ऐसे काम के साथ लागू करना सबसे अच्छा होता है जो JobScheduler का इस्तेमाल करता है setRequiresDeviceIdle() और setRequiresCharging().

ओएस के हिसाब से इस्तेमाल

ओएस, SubscriptionPlan एपीआई से मिली डेटा प्लान की जानकारी का इस्तेमाल इन तरीकों से करता है:

कस्टमाइज़ेशन और पुष्टि करना

Android के सेटिंग ऐप्लिकेशन में, मोबाइल और इंटरनेट सेवा देने वाली कंपनी के हिसाब से कॉन्फ़िगर किए गए डेटा प्लान की सभी जानकारी दिखती है. इससे, उपयोगकर्ताओं को मोबाइल और इंटरनेट सेवा देने वाली कंपनी के साथ अपने संबंध की सटीक स्थिति दिखती है. साथ ही, उपयोगकर्ताओं को अपना प्लान अपग्रेड करने के लिए, मोबाइल और इंटरनेट सेवा देने वाली कंपनी के ऐप्लिकेशन का ऐक्सेस मिलता है. सेटिंग ऐप्लिकेशन को कस्टमाइज़ करने वाले डिवाइस बनाने वाली कंपनियों को, यह जानकारी दिखाने की सलाह दी जाती है.

इस पेज पर बताए गए SubscriptionManager एपीआई की जांच, android.telephony.cts.SubscriptionManagerTest से की जाती है. इससे यह पक्का होता है कि डेटा प्लान की जानकारी को मोबाइल और इंटरनेट सेवा देने वाली कंपनी के ऐप्लिकेशन कॉन्फ़िगर कर सकते हैं और ओएस में बदलाव किए जा सकते हैं.