उन उपयोगकर्ताओं के लिए डिवाइस के व्यवहार को पसंद के मुताबिक बनाना जो बैलेंस में नहीं हैं

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

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

उदाहरण और सोर्स

मोबाइल और इंटरनेट सेवा देने वाली कंपनी का डिफ़ॉल्ट ऐप्लिकेशन platform/frameworks/base/packages/CarrierDefaultApp/. पर मौजूद है

लागू करना

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

लागू करने के बारे में जानकारी

सिग्नल

Android फ़्रेमवर्क, नीचे दिए गए पैरामीटर वाली कार्रवाइयों को कॉन्फ़िगर करने की सुविधा देता है सिग्नल:

  • TelephonyIntents.ACTION_CARRIER_SIGNAL_REDIRECTED
  • TelephonyIntents.ACTION_CARRIER_SIGNAL_REQUEST_NETWORK_FAILED

ये सिग्नल यहां मौजूद होते हैं: frameworks/base/telephony/java/com/android/internal/telephony/TelephonyIntents.java.

कौनसी कार्रवाइयां की जा सकती हैं

मोबाइल और इंटरनेट सेवा देने वाली डिफ़ॉल्ट कंपनी का ऐप्लिकेशन, कार्रवाइयों के ऐसे सेट के बारे में बताता है जिसे मैप किया जा सकता है इस्तेमाल किए जा सकने वाले सिग्नल. इनकी जानकारी CarrierActionUtils.java में दी गई है:

    public static final int CARRIER_ACTION_ENABLE_METERED_APNS               = 0;
    public static final int CARRIER_ACTION_DISABLE_METERED_APNS              = 1;
    public static final int CARRIER_ACTION_DISABLE_RADIO                     = 2;
    public static final int CARRIER_ACTION_ENABLE_RADIO                      = 3;
    public static final int CARRIER_ACTION_SHOW_PORTAL_NOTIFICATION          = 4;
    public static final int CARRIER_ACTION_SHOW_NO_DATA_SERVICE_NOTIFICATION = 5;
    public static final int CARRIER_ACTION_CANCEL_ALL_NOTIFICATIONS          = 6;

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

डिफ़ॉल्ट सिग्नल ऐक्शन मैपिंग

इस प्रक्रिया का पालन करके डिफ़ॉल्ट कार्रवाइयां कॉन्फ़िगर करें:

  1. इस्तेमाल किए जा सकने वाले सिग्नल के लिए कोई कुंजी तय करें.

    ऐक्शन मैपिंग के लिए, डिफ़ॉल्ट सिग्नल की जानकारी CarrierConfigManager.java में दी गई है. इस्तेमाल किए जा सकने वाले हर सिग्नल में एक कुंजी मौजूद होती है:

    public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_REDIRECTION_STRING_ARRAY = "carrier_default_actions_on_redirection_string_array";
    public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_DCFAILURE_STRING_ARRAY =
    "carrier_default_actions_on_dcfailure_string_array";
  2. डिफ़ॉल्ट कार्रवाइयों को सिग्नल कुंजियों से जोड़ें.

    डिफ़ॉल्ट ऐक्शन आईडी, सिग्नल कुंजियों से जुड़े होते हैं:

    sDefaults.putStringArray(KEY_CARRIER_DEFAULT_ACTIONS_ON_REDIRECTION_STRING_ARRAY,                new String[]{
                    "1, 4"
                    //1: CARRIER_ACTION_SHOW_PORTAL_NOTIFICATION
                    // 4: CARRIER_ACTION_DISABLE_METERED_APNS
             });
    

    टेलीफ़ोनी फ़्रेमवर्क, इन कार्रवाइयों को इनसे जुड़े सिग्नल पर मैप करता है.

डिफ़ॉल्ट कार्रवाइयों को बदलें

कैरियर कॉन्फ़िगरेशन एक्सएमएल में, काम करने वाले सिग्नल के लिए कस्टम ऐक्शन तय किए जा सकते हैं कार्रवाई आईडी को सिग्नल कुंजियों से जोड़कर फ़ाइल (इसमें परिभाषित किया गया है) CarrierConfigManager.java). उदाहरण के लिए, नीचे दी गई मैपिंग इससे मीटर वाले एपीएन बंद होते हैं और रीडायरेक्ट करने पर पोर्टल में सूचना दिखती है:

<string-array name="carrier_default_actions_on_redirection_string_array" num="2">
            <item value="1" />
            <item value="4" />
</string-array>

टेलीफ़ोनी फ़्रेमवर्क इन कॉन्फ़िगरेशन को लोड करता है और डिफ़ॉल्ट सेटिंग को बदल देता है कार्रवाइयां.

पुष्टि करें

इस सुविधा के लिए कोई सीटीएस, सीटीएस वेरिफ़ायर या जीटीएस टेस्ट नहीं हैं.

सुविधा की पुष्टि करने के लिए, मैन्युअल तरीके से पुष्टि करने की इन जांचों का इस्तेमाल करें:

  1. टेलीकॉम डिवाइस के बैलेंस से बाहर होने के सिग्नल की पुष्टि करें.
  2. बैलेंस न होने की स्थिति और वाई-फ़ाई के दौरान, ट्रैफ़िक रीडायरेक्ट थ्रॉटल होने की पुष्टि करें बंद करें.
  3. पुष्टि करें कि नेटवर्क ट्रैफ़िक बंद है और बाहर होने के दौरान सूचना यूज़र इंटरफ़ेस (यूआई) दिखता है की शेष-राशि है.
  4. बैलेंस खत्म होने पर वॉइस कॉल/VoLTE फ़ंक्शन को चालू करें.
  5. पुष्टि करें कि वीडियो कॉलिंग की सुविधा, बैलेंस न होने पर ब्लॉक की गई हो.
  6. वाई-फ़ाई चालू होने पर, पुष्टि करें कि उपयोगकर्ता, वेब ब्राउज़िंग और ब्राउज़िंग को जारी रख सकता है संतुलन न होने पर ट्रैफ़िक, नेटवर्क ट्रैफ़िक को चालू नहीं करता राज्य.
  7. बैलेंस खत्म होने पर वाई-फ़ाई, WFC, और ब्लूटूथ फ़ंक्शन की पुष्टि करें राज्य.
  8. वाई-फ़ाई बंद करें. बैलेंस से बाहर होने वाली सूचना के यूज़र इंटरफ़ेस (यूआई) की पुष्टि करें और ब्राउज़िंग ट्रैफ़िक को टेल्को रजिस्ट्रेशन वेबसाइट पर रीडायरेक्ट नहीं किया जाता. पुष्टि करें सूचना के यूज़र इंटरफ़ेस (यूआई) में दिए गए लिंक पर क्लिक करने से, ब्राउज़र टेल्को पर आ जाता है रजिस्ट्रेशन के लिए वेबसाइट पर जाएं.
  9. पुष्टि करें कि हवाई जहाज़ मोड को टॉगल करने से, ट्रैफ़िक थ्रॉटलिंग रीसेट न हो राज्य.
  10. पुष्टि करें कि सर्विस में मौजूद सिम को बदलने से नेटवर्क ट्रैफ़िक रीसेट हो जाता है राज्य.
  11. पुष्टि करें कि बैलेंस में बचे सिम को दोबारा डालने से, ट्रैफ़िक रीडायरेक्ट करने की प्रोसेस फिर से शुरू हो जाती है और फिर से नेटवर्क ट्रैफ़िक थ्रॉटलिंग की जा सकती है.
  12. पुष्टि करें कि फ़ोन को फिर से चालू करने पर, रीडायरेक्ट करने की सुविधा फिर से चालू हो जाती है और ट्रैफ़िक थ्रॉटल और सूचना का यूज़र इंटरफ़ेस (यूआई) देखें.
  13. "captiveportal" पर टैप करें सूचना पर टैप करें. प्रतिबंधित नेटवर्क की पुष्टि करें उपयोगकर्ता को क्रेडिट जोड़ने की अनुमति देने के लिए कनेक्शन बनाया गया है.
  14. पुष्टि करें कि सिम बैलेंस फिर से भरने या फिर से चालू करने पर मोबाइल नेटवर्क होता है ट्रैफ़िक वापस पाने के लिए ट्रैफ़िक चाहिए. साथ ही, Telco लिंक और बैलेंस न होने की सूचना मिलना बाकी है दूर.
  15. डेटा सेवा को वापस लाने के बाद, सैनिटी टेस्ट किया जा रहा है.

डिफ़ॉल्ट ऐप्लिकेशन, यूनिट टेस्ट के कुछ उदाहरण और उन्हें चलाने के लिए स्क्रिप्ट उपलब्ध कराता है (tests/runtest.sh देखें). जब आपकी ओर से पसंद के मुताबिक बनाया गया वर्शन लागू किया जाता है या तो आपको उन कस्टमाइज़ेशन को डेडिकेटेड यूनिट टेस्ट में कॉपी करना चाहिए.