Android 9 में, मोबाइल और इंटरनेट सेवा देने वाली कंपनियां, सेटिंग ऐप्लिकेशन में सीधे तौर पर प्लान की आधिकारिक जानकारी दे सकती हैं. इससे उपयोगकर्ताओं को प्लान के बारे में सही जानकारी मिलती है और उन्हें सहायता के लिए कॉल करने की ज़रूरत नहीं पड़ती. Android 4.0 और इसके बाद के वर्शन पर चलने वाले डिवाइसों में, उपयोगकर्ता Settings ऐप्लिकेशन में जाकर, अपने मोबाइल और इंटरनेट सेवा देने वाली कंपनी के हिसाब से डेटा प्लान की जानकारी को मैन्युअल तरीके से कॉन्फ़िगर कर सकते हैं. उदाहरण के लिए, डेटा के इस्तेमाल को मैनेज करने के लिए, चेतावनियां और सीमाएं सेट करना.
मोबाइल और इंटरनेट सेवा देने वाली कंपनी का कॉन्फ़िगरेशन
डेटा प्लान कॉन्फ़िगर करने के लिए, मोबाइल और इंटरनेट सेवा देने वाली कंपनियां अपने मौजूदा 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()
में दी गई है. - मोबाइल और इंटरनेट सेवा देने वाली कंपनी ने
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
करता है. इससे यह पक्का किया जाता है कि डेटा प्लान की जानकारी को कैरियर ऐप्लिकेशन कॉन्फ़िगर कर सकें और बदलाव ओएस में लागू हो सकें.