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

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

कैरियर के हिसाब से कॉन्फ़िगरेशन

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

यहां एक उदाहरण दिया गया है, जिसमें महीने में बार-बार इस्तेमाल होने वाले सामान्य डेटा प्लान को कॉन्फ़िगर करने का तरीका बताया गया है:

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() में बताया गया है.
  • मोबाइल और इंटरनेट की सेवा देने वाली कंपनी ने CarrierConfigManager के ज़रिए KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRING वैल्यू को पुश किया है. इससे यह पता चलता है कि कौनसा ऐप्लिकेशन, मोबाइल और इंटरनेट की सेवा देने वाली कंपनी के डेटा प्लान को मैनेज कर सकता है.
  • इस डिवाइस में सिस्टम इमेज में एक ऐप्लिकेशन मौजूद है जिसे MANAGE_SUBSCRIPTION_PLANS की अनुमति मिली है.

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

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

ओएस के हिसाब से, आइटम के इस्तेमाल की जानकारी

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

  • प्लान की जानकारी, सेटिंग ऐप्लिकेशन के ज़रिए दिखाई जाती है, ताकि उपयोगकर्ताओं को डेटा के इस्तेमाल का सटीक डेटा दिखाया जा सके. साथ ही, अपग्रेड/अपसेल के अवसरों के लिए, कैरियर ऐप्लिकेशन में सीधे डीप लिंक उपलब्ध कराए जा सकें.
  • डेटा खर्च की चेतावनी और सीमा की सूचना के थ्रेशोल्ड, प्लान की जानकारी के आधार पर अपने-आप कॉन्फ़िगर हो जाते हैं. चेतावनी, सीमा के 90% पर सेट होती है.
  • अगर मोबाइल और इंटरनेट की सेवा देने वाली कंपनी, कुछ समय के लिए यह बताती है कि नेटवर्क "लोड है", तो ओएस उन JobScheduler जॉब को टाल देता है जिन्हें समय के हिसाब से शिफ़्ट किया जा सकता है. इससे मोबाइल और इंटरनेट की सेवा देने वाली कंपनी के नेटवर्क पर लोड कम हो जाता है.
  • अगर मोबाइल और इंटरनेट सेवा देने वाली कंपनी ने कुछ समय के लिए नेटवर्क को "बिना मेज़र किए इस्तेमाल किया जा सकता है" के तौर पर दिखाया है, तो ओएस मोबाइल कनेक्शन को "बिना मेज़र किए इस्तेमाल किया जा सकता है" के तौर पर तब तक दिखा सकता है, जब तक मोबाइल और इंटरनेट सेवा देने वाली कंपनी, ओवरराइड की सुविधा को हटा नहीं देती या टाइम आउट की वैल्यू (अगर दी गई है) तक नहीं पहुंच जाती.
  • उपयोगकर्ता के मौजूदा डेटा खर्च की तुलना कुल डेटा सीमा से करने पर, ऑपरेटिंग सिस्टम बिलिंग साइकल के आखिर में उपयोगकर्ता के सामान्य डेटा खर्च का अनुमान लगाता है. साथ ही, उपयोगकर्ता के अनुभव को बेहतर बनाने के लिए, बचे हुए डेटा का 10% सुरक्षित तरीके से तय करता है. उदाहरण के लिए, ऐप्लिकेशन को मल्टी-पाथ डेटा का इस्तेमाल करने की अनुमति देकर.

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

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

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