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

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 करता है. इससे यह पक्का होता है कि डेटा प्लान की जानकारी को कैरियर ऐप्लिकेशन से कॉन्फ़िगर किया जा सकता है और बदलावों को ओएस में भेजा जा सकता है.