Android 9 पर चलने वाले डिवाइस, सदस्यता देने वाली कंपनी की जानकारी को पहचान सकते हैं. इससे, वे कंपनी का आईडी और कैरियर का नाम दिखा सकते हैं. Android, कंपनी आईडी का डेटाबेस बनाए रखता है. इसमें, हर कंपनी और उसके यूनीक आईडी के लिए मैचिंग के नियम शामिल होते हैं. Android Open Source
Project (AOSP) में, कंपनी आईडी के डेटाबेस का कॉन्टेंट शामिल होता है. यह कॉन्टेंट, फ़ाइल
carrier_list.textpb में मौजूद होता है. एक ही डेटाबेस होने की वजह से, उन ऐप्लिकेशन में डुप्लीकेट लॉजिक कम हो जाता है जिन्हें कंपनियों की पहचान करनी होती है. साथ ही, इससे कंपनी की पहचान करने वाली एट्रिब्यूट की जानकारी भी कम दिखती है.
कंपनी की पहचान करने की सुविधा को बेहतर बनाने के लिए, Android, आउट-ऑफ़-बैंड और कंपनी आईडी टेबल के अपडेट की सुविधा देता है. हर अपडेट के साथ एक वर्शन नंबर आता है और इसे AOSP पर पब्लिश किया जाता है.
लागू करना
अगर आपको आउट-ऑफ़-बैंड अपडेट लागू करने हैं, तो AOSP से
carrier_list.pb
बाइनरी डाउनलोड करें. टेबल का पढ़ने लायक फ़ॉर्मैट देखने के लिए, देखें
carrier_list.textpb.
कंपनी आईडी टेबल को डिवाइस के /data/misc/carrierid/ डेटा पार्टीशन में रखें. अगर कंपनी आईडी टेबल का वर्शन, मौजूदा वर्शन से नया है, तो डिवाइस
इस टेबल को
कंपनी आईडी डेटाबेस क्लास में सेव कर लेता है.
कंपनी आईडी डेटाबेस से मिली सबसे नई जानकारी,
सार्वजनिक तरीकों
getSimCarrierId()
और
getSimCarrierIdName()से ली जाती है.
डेटाबेस में कंपनी आईडी की जानकारी जोड़ना
डेटाबेस में कंपनी आईडी जोड़ने या उसे अपडेट करने के लिए, कंपनी की पहचान से जुड़ी जानकारी वाले फ़ॉर्म का इस्तेमाल करके अनुरोध सबमिट करें.
आपके अनुरोध की समीक्षा की जाती है. अगर इसे मंज़ूरी मिल जाती है, तो बदलाव को AOSP
कोडबेस में
carrier_list.pb पर पुश कर दिया जाता है.
इसके बाद, अपडेट की गई सूची को कॉपी करके, अपनी पसंद के मुताबिक बनाए गए बिल्ड में शामिल किया जा सकता है.
कंपनी आईडी को CarrierConfig के साथ इंटिग्रेट करना
Android 10 से,
कंपनी कॉन्फ़िगरेशन में
कंपनी आईडी को कुंजियों के तौर पर इस्तेमाल किया जा सकता है. इससे,
CarrierService से कंपनी के हिसाब से कॉन्फ़िगरेशन फ़ेच किए जा सकते हैं.
कंपनी आईडी को CarrierConfig के साथ इंटिग्रेट करने के ये फ़ायदे हैं:
- इससे, हर कंपनी के लिए सभी MCC/MNC पेयर को एक ही जगह पर कंसोलिडेट किया जा सकता है. साथ ही, डुप्लीकेट या गलत डेटा को हटाया जा सकता है.
- इससे, हर कंपनी के लिए कैननिकल आइडेंटिफ़ायर बनाया जा सकता है और अस्पष्टता को दूर किया जा सकता है.
- इससे, मोबाइल वर्चुअल नेटवर्क ऑपरेटर (एमवीएनओ) की पहचान, अलग-अलग आईडी से की जा सकती है. इसके लिए, उन्हें मोबाइल नेटवर्क ऑपरेटर (एमएनओ) के हिस्से के तौर पर कॉन्फ़िगरेशन की ज़रूरत नहीं होती.
कॉन्फ़िगरेशन डेटा को कंपनी आईडी पर माइग्रेट करना
कॉन्फ़िगरेशन डेटा को MCC/MNC पेयर से कंपनी आईडी पर माइग्रेट करने के लिए, यह तरीका अपनाएं:
एक ही कंपनी की
carrier_config_mccmnc.xmlफ़ाइलों को एक साथ ग्रुप करें. किसी खास कंपनी के लिए, MCC, MNC, और MVNO की जानकारी को मैप करने के लिए,carrier_list.textpbको रेफ़रंस के तौर पर इस्तेमाल करें.कॉन्फ़िगरेशन को एक ही फ़ाइल में मर्ज करें.
(ज़रूरी नहीं) एमएनओ से डेटा इनहेरिट करें. एमवीएनओ, लेगसी
carrier_config_mccmnc.xmlफ़ाइल में एमएनओ से कॉन्फ़िगरेशन इनहेरिट करते हैं. कंपनी आईडी की मदद से, एमवीएनओ सहित सभी कंपनियों के लिए एक अलग कॉन्फ़िगरेशन फ़ाइल बनाई जा सकती है. इसलिए, माइग्रेशन के दौरान एमएनओ का डेटा शामिल करने का सुझाव दिया जाता है.अगर किसी एमवीएनओ कंपनी आईडी के लिए कॉन्फ़िगरेशन मौजूद नहीं है, तो उसके एमएनओ कंपनी आईडी से कॉन्फ़िगरेशन फ़ेच करें.
getCarrierIdFromSimMccMncनई फ़ाइल का नाम बदलकर
carrier_config_carrierid_carrierid_carriername.xmlकरें. इसमें carrierid कोcanonical_idसे और carriername कोcarrier_nameसे carrier_list.textpbमें मेल खाना चाहिए.