डेटा योजनाएं लागू करना

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

वाहक द्वारा विन्यास

डेटा योजनाओं को कॉन्फ़िगर करने के लिए, वाहक 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() का उपयोग करता है।

ओएस द्वारा उपयोग

ओएस निम्नलिखित तरीकों से सब्सक्रिप्शनप्लान एपीआई द्वारा प्रदान किए गए डेटा प्लान विवरण का उपयोग करता है:

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

अनुकूलन और सत्यापन

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

ऊपर वर्णित SubscriptionManager API का परीक्षण android.telephony.cts.SubscriptionManagerTest द्वारा किया जाता है, जो यह सुनिश्चित करता है कि डेटा प्लान विवरण वाहक ऐप्स द्वारा कॉन्फ़िगर किया जा सकता है और परिवर्तन OS के भीतर प्रसारित होते हैं।