मोबाइल और इंटरनेट सेवा देने वाली कंपनी की पहचान

Android 9 वाले डिवाइसों पर, सदस्यता की जानकारी से कैरियर का नाम और आईडी पता चल सकता है. Android, कैरियर आईडी का डेटाबेस मैनेज करता है. इसमें हर कैरियर और उसके यूनीक कैरियर आईडी के लिए, मैच करने वाले नियम होते हैं. AOSP में, carrier_list.textpb फ़ाइल में कैरियर आईडी डेटाबेस का कॉन्टेंट शामिल होता है. यूनिफ़ाइड डेटाबेस, उन ऐप्लिकेशन में डुप्लीकेट लॉजिक को कम करता है जिन्हें मोबाइल और इंटरनेट सेवा देने वाली कंपनी की पहचान करने की ज़रूरत होती है. साथ ही, इससे कैरियर की पहचान करने वाले एट्रिब्यूट के एक्सपोज़र को सीमित किया जाता है.

मोबाइल और इंटरनेट सेवा देने वाली कंपनी की पहचान करने की सुविधा को बेहतर बनाने और उसकी कवरेज को बढ़ाने के लिए, Android में आउट-ऑफ़-बैंड और मोबाइल और इंटरनेट सेवा देने वाली कंपनी के आईडी की टेबल के अपडेट की सुविधा उपलब्ध है. हर अपडेट के साथ एक वर्शन नंबर होता है और इसे AOSP पर पब्लिश किया जाता है.

लागू करना

जिन उपयोगकर्ताओं को आउट-ऑफ़-बैंड अपडेट लागू करने हैं वे AOSP से carrier_list.pb बिनर डाउनलोड कर सकते हैं. टेबल में आसानी से पढ़ा जा सकने वाला फ़ॉर्मैट देखने के लिए, carrier_list.textpb देखें.

कैरियर आईडी टेबल को डिवाइस के /data/misc/carrierid/ डेटा सेगमेंट में डालें. अगर कैरियर आईडी टेबल, मौजूदा वर्शन से नई है, तो डिवाइस, टेबल को कैरियर आईडी डेटाबेस क्लास में सेव कर देता है. कैरियर आईडी डेटाबेस से सबसे नई जानकारी, getSimCarrierId() और getSimCarrierIdName() के ज़रिए पब्लिक तरीके से ली जाती है.

डेटाबेस में कैरियर आईडी की जानकारी जोड़ना

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

आपके अनुरोध की समीक्षा की जाती है. अगर उसे मंज़ूरी मिल जाती है, तो बदलाव को carrier_list.pb पर मौजूद AOSP कोडबेस में भेज दिया जाता है. इसके बाद, अपडेट की गई सूची को कॉपी करके, उसे अपने पसंद के मुताबिक बनाए गए बिल्ड में शामिल किया जा सकता है.

CarrierConfig के साथ मोबाइल और इंटरनेट सेवा देने वाली कंपनी के आईडी इंटिग्रेट करना

Android 10 से, कैरियर कॉन्फ़िगरेशन में, कैरियर आईडी को पासकोड के तौर पर इस्तेमाल करने की सुविधा उपलब्ध है. इससे, CarrierService से कैरियर के हिसाब से कॉन्फ़िगरेशन फ़ेच किए जा सकते हैं.

मोबाइल और इंटरनेट सेवा देने वाली कंपनी के आईडी को CarrierConfig के साथ इंटिग्रेट करने के ये फ़ायदे हैं:

  • हर मोबाइल और इंटरनेट सेवा देने वाली कंपनी के सभी एमसीसी/एमएनसी पेयर को एक ही जगह पर इकट्ठा करता है. साथ ही, डुप्लीकेट या गलत डेटा को हटाता है.
  • हर कैरियर के लिए कैननिकल आइडेंटिफ़ायर बनाता है और गलतफ़हमी को दूर करता है.
  • इससे मोबाइल वर्चुअल नेटवर्क ऑपरेटर (एमवीएनओ) की पहचान, मोबाइल नेटवर्क ऑपरेटर (एमएनओ) के हिस्से के तौर पर कॉन्फ़िगरेशन के बजाय, अलग-अलग आईडी से की जा सकती है.

कॉन्फ़िगरेशन डेटा को मोबाइल और इंटरनेट सेवा देने वाली कंपनी के आईडी पर माइग्रेट करें

कॉन्फ़िगरेशन डेटा को एमसीसी/एमएनसी पेयर से कैरियर आईडी पर माइग्रेट करने के लिए, यह तरीका अपनाएं:

  1. मोबाइल और इंटरनेट सेवा देने वाली किसी एक कंपनी की carrier_config_mccmnc.xml फ़ाइलों को एक ग्रुप में रखें. किसी कैरियर के साथ एमसीसी, MNC, और MVNO की जानकारी मैप करने के लिए, रेफ़रंस के तौर पर carrier_list.textpb का इस्तेमाल करें.

  2. कॉन्फ़िगरेशन को एक ही फ़ाइल में मर्ज करें.

  3. (ज़रूरी नहीं) एमएनओ से डेटा इनहेरिट करना. एमवीएनओ, लेगसी carrier_config_mccmnc.xml फ़ाइल में एमएनओ से कॉन्फ़िगरेशन इनहेरिट करते हैं. कैरियर आईडी की मदद से, सभी कैरियर (एमवीएनओ के साथ) के लिए खास कॉन्फ़िगरेशन फ़ाइल बनाई जा सकती है. इसलिए, हमारा सुझाव है कि माइग्रेशन के दौरान एमएनओ का डेटा शामिल करें.

  4. अगर MVNO मोबाइल और इंटरनेट सेवा देने वाली कंपनी के आईडी का कॉन्फ़िगरेशन मौजूद नहीं है, तो getCarrierIdFromSimMccMnc का इस्तेमाल करके, उसके MNO मोबाइल और इंटरनेट सेवा देने वाली कंपनी के आईडी से कॉन्फ़िगरेशन को फ़ेच करें.

  5. नई फ़ाइल का नाम बदलकर carrier_config_carrierid_carrierid_carriername.xml रखें. इसमें carrierid, canonical_id से और carriername, carrier_name से मेल खाना चाहिए. यह नाम, carrier_list.textpb में होना चाहिए