कैरियर कॉन्फ़िगरेशन

Android 6.0 और उसके बाद के वर्शन में, खास लोगों के लिए मोबाइल और इंटरनेट सेवा देने वाली कंपनी के हिसाब से खास कॉन्फ़िगरेशन उपलब्ध कराने के लिए. यह फ़ंक्शन, जो यूआईसीसी मोबाइल और इंटरनेट सेवा देने वाली कंपनी के खास अधिकारों पर आधारित हो Android 5.1 (Lollipop MR1) में पेश किया गया, मोबाइल और इंटरनेट सेवा देने वाली कंपनी की अनुमति देता है कॉन्फ़िगरेशन को स्थैतिक कॉन्फ़िगरेशन ओवरले से अलग कर दिया जाएगा और की मदद से, कैरियर और OEM, डाइनैमिक तौर पर कैरियर कॉन्फ़िगरेशन उपलब्ध करा सकते हैं प्लैटफ़ॉर्म का इस्तेमाल किया जा सकता है.

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

  • रोमिंग/नॉनरोमिंग नेटवर्क
  • विज़ुअल वॉइसमेल
  • मैसेज (एसएमएस)/मल्टीमीडिया मैसेज (एमएमएस) नेटवर्क की सेटिंग
  • VoLTE/IMS कॉन्फ़िगरेशन

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

इस तरीके के मुख्य फ़ायदे ये हैं:

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

यह कैसे काम करता है

कॉन्फ़िगरेशन को लोड करें

इस सुविधा से दिया गया कैरियर कॉन्फ़िगरेशन, की-वैल्यू पेयर का सेट है जो इस प्लैटफ़ॉर्म पर टेलीफ़ोनी के अलग-अलग तरह के व्यवहार में बदलाव करते हैं.

किसी विशेष डिवाइस के लिए मानों का सेट कॉम्पोनेंट को क्रम में रखें:

  1. मोबाइल और इंटरनेट सेवा देने वाली कंपनी का ऐप्लिकेशन (यह ज़रूरी नहीं है, लेकिन हम इसका सुझाव देते हैं Android Open में मौजूद कॉन्फ़िगरेशन के अलावा अतिरिक्त कॉन्फ़िगरेशन के लिए जगह सोर्स प्रोजेक्ट (AOSP)
  2. प्लैटफ़ॉर्म कॉन्फ़िगरेशन ऐप्लिकेशन, जिसमें सिस्टम इमेज भी शामिल है
  3. डिफ़ॉल्ट वैल्यू, जो फ़्रेमवर्क में हार्डकोड की गई होती हैं (जो पिछले व्यवहार की तरह ही होती हैं से Android 6.0)

प्लैटफ़ॉर्म कॉन्फ़िगर करने वाला ऐप्लिकेशन

सिस्टम इमेज के साथ, एक सामान्य प्लैटफ़ॉर्म कॉन्फ़िगरेशन ऐप्लिकेशन बंडल किया गया है. यह ऐप्लिकेशन भेज सकता है उन वैरिएबल के लिए वैल्यू सेट करें जो सामान्य मोबाइल और इंटरनेट सेवा देने वाली कंपनी के ऐप्लिकेशन में नहीं हैं. प्लैटफ़ॉर्म का कॉन्फ़िगरेशन ऐप्लिकेशन (Android 6.0 में) packages/apps/CarrierConfig में मिल सकता है:

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

मोबाइल और इंटरनेट सेवा देने वाली किसी कंपनी के ऐप्लिकेशन को खास अधिकार कैसे दिए जाते हैं

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

मोबाइल और इंटरनेट सेवा देने वाली कंपनी के ऐप्लिकेशन को कौनसी जानकारी भेजी जाती है

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

  • एमसीसी
  • MNC
  • SPN
  • IMSI
  • जीआईडी1
  • जीआईडी2
  • कैरियर आईडी

कैरियर आईडी को इंटिग्रेट करने के बारे में ज़्यादा जानकारी के लिए, यहां देखें कैरियर के आईडी को CarrierConfig के साथ इंटिग्रेट करना.

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

की-वैल्यू पेयर की सूची बनती है:

  • सिम लोड होने पर (बूट या सिम हॉट स्वैप)
  • जब मोबाइल और इंटरनेट सेवा देने वाली कंपनी का ऐप्लिकेशन मैन्युअल तरीके से फिर से लोड ट्रिगर करता है
  • मोबाइल और इंटरनेट सेवा देने वाली कंपनी का ऐप्लिकेशन अपडेट होने पर

android.service.carrier.CarrierService#onLoadConfig() का संदर्भ देखें.

कॉन्फ़िगरेशन का इस्तेमाल करें

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

  • इंटरनल फ़्रेमवर्क टेलीफ़ोनी सेटिंग
  • SDK टूल से मिलने वाली कॉन्फ़िगरेशन वैल्यू. उदाहरण के लिए, SmsManager में
  • डायलर में VVM कनेक्शन वैल्यू जैसी ऐप्लिकेशन सेटिंग

कॉन्फ़िगरेशन कुंजियां

कुंजियों की सूची को android.telephony.CarrierConfigManager में सार्वजनिक SDK टूल के हिस्से के तौर पर बताया गया है और उसे एक ही एपीआई लेवल में नहीं बदला जा सकता. कुंजियों की खास जानकारी के लिए नीचे दी गई टेबल देखें.

ऐप्लिकेशन बनाएं

ऐप्लिकेशन बनाएं

आपके ऐप्लिकेशन को Android 6.0 एपीआई लेवल (23) को टारगेट करना होगा.

ऐसी क्लास का एलान करें जो android.service.carrier.CarrierService को ओवरराइड करती है

  1. आपको जो वैल्यू चाहिए उन्हें वापस पाने के लिए, onLoadConfig को बदलें service.carrier.CarrierIdentifier ऑब्जेक्ट के आधार पर सप्लाई पास हुआ.
  2. notifyConfigChangedForSubId को मामलों में कॉल करने के लिए लॉजिक जोड़ें इसमें मोबाइल और इंटरनेट सेवा देने वाली कंपनी का कॉन्फ़िगरेशन समय के साथ बदल सकता है. उदाहरण के लिए, उपयोगकर्ता अपने खाते में अतिरिक्त सेवाएं जोड़ता है).

इसका एक उदाहरण नीचे दिया गया है:

public class SampleCarrierConfigService extends CarrierService {

    private static final String TAG = "SampleCarrierConfigService";

    public SampleCarrierConfigService() {
        Log.d(TAG, "Service created");
    }

    @Override
    public PersistableBundle onLoadConfig(CarrierIdentifier id) {
        Log.d(TAG, "Config being fetched");
        PersistableBundle config = new PersistableBundle();
        config.putBoolean(
            CarrierConfigManager.KEY_CARRIER_VOLTE_AVAILABLE_BOOL, true);
        config.putBoolean(
            CarrierConfigManager.KEY_CARRIER_VOLTE_TTY_SUPPORTED_BOOL, false);
        config.putInt(CarrierConfigManager.KEY_VOLTE_REPLACEMENT_RAT_INT, 6);
        // Check CarrierIdentifier and add more config if needed
        return config;
    }
}

ज़्यादा जानकारी के लिए, यह देखें android.service.carrier.CarrierService संदर्भ.

मेनिफ़ेस्ट में क्लास को नाम दें

इसका एक उदाहरण नीचे दिया गया है:

<service android:name=".SampleCarrierConfigService"
android:label="@string/service_name"
android:permission="android.permission.BIND_CARRIER_SERVICES">
      <intent-filter>
      <action android:name="android.service.carrier.CarrierService"/></intent-filter>
</service>

ऐप पर इसी नाम से साइन करें सिम पर सर्टिफ़िकेट

यूज़र इंटरफ़ेस (यूआईसी) मोबाइल और इंटरनेट सेवा देने वाली कंपनी के खास अधिकार देखें. ज़रूरतें.

मोबाइल और इंटरनेट सेवा देने वाली कंपनी के ऐप्लिकेशन की मदद से एपीएन जोड़ें

मोबाइल और इंटरनेट सेवा देने वाली किसी कंपनी के ऐप्लिकेशन से, प्रोग्राम के हिसाब से एपीएन जोड़ने के लिए (जैसे, सिम के दौरान सक्रियण) है, तो इसका उपयोग करें कॉन्टेंट देने वाले किसी ऐप्लिकेशन में एपीएन आइटम जोड़ने के लिए, ContentResolver एपीआई यूआरआई से पहचाना गया android.provider.Telephony.Carriers.CONTENT_URI. कॉन्टेंट यूआरआई के लिए टेबल की बनावट के बारे में ज़्यादा जानकारी के लिए, देखें Telephony.Carriers.

ज़्यादा जानकारी के लिए, यह देखें APN और CarrierConfig.

ऐप्लिकेशन का परीक्षण करें

कॉन्फ़िगरेशन ऐप्लिकेशन बनाने के बाद, अपने कोड की जांच की जा सकती है इनके साथ:

  • ऐसा सिम जिसमें मान्य हस्ताक्षर मौजूद है
  • Android 6.0 और इसके बाद के वर्शन पर चलने वाला डिवाइस. उदाहरण के लिए, कोई Android डिवाइस