পরিষেবা প্রদানকারী শনাক্তকরণ

Android 9 ভার্সনে চলা ডিভাইস সাবস্ক্রিপশন পরিষেবা প্রদানকারীর তথ্য শনাক্ত করতে পারে যাতে একটি আইডি ও পরিষেবা প্রদানকারীর নাম দেওয়া যায়। Android, প্রতিটি পরিষেবা প্রদানকারী ও তার অনন্য পরিষেবা প্রদানকারী আইডির জন্য ম্যাচিং নিয়ম সহ একটি পরিষেবা প্রদানকারী আইডি ডেটাবেস বজায় রাখে। 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-এর সাথে পরিষেবা প্রদানকারীর আইডি ইন্টিগ্রেট করলে নিম্নলিখিত সুবিধাগুলি পাওয়া যায়:

  • প্রতিটি ক্যারিয়ারের জন্য সব MCC/MNC পেয়ারকে একটি লোকেশনে একত্রিত করে ডুপ্লিকেট বা অসঙ্গতিপূর্ণ ডেটা সরিয়ে দেয়।
  • প্রতিটি ক্যারিয়ারের জন্য একটি ক্যাননিকাল শনাক্তকারী তৈরি করে এবং অস্পষ্টতা দূর করে।
  • মোবাইল ভার্চুয়াল নেটওয়ার্ক অপারেটর (MVNO)-কে মোবাইল নেটওয়ার্ক অপারেটর (MNO)-এর অংশ হিসেবে কনফিগারেশনের পরিবর্তে আলাদা আইডি দিয়ে শনাক্ত করার অনুমতি দেয়।

ক্যারিয়ার আইডিতে কনফিগারেশন ডেটা মাইগ্রেট করা

MCC/MNC পেয়ার থেকে পরিষেবা প্রদানকারীর আইডিতে কনফিগারেশন ডেটা মাইগ্রেট করতে, এইসব ধাপ অনুসরণ করুন:

  1. একটি ক্যারিয়ারের carrier_config_mccmnc.xml ফাইলগুলিকে একসাথে গ্রুপ করুন। কোনও নির্দিষ্ট ক্যারিয়ারের সাথে MCC, MNC এবং MVNO তথ্য ম্যাপ করতে carrier_list.textpb রেফারেন্স হিসেবে ব্যবহার করুন।

  2. কনফিগারেশনগুলিকে একটি ফাইলে মার্জ করুন।

  3. (ঐচ্ছিক) MNO-এর থেকে ডেটা ইনহেরিট করা। MVNO-রা লেগ্যাসি carrier_config_mccmnc.xml ফাইলে MNO-দের থেকে কনফিগারেশন ইনহেরিট করে। যেহেতু ক্যারিয়ার আইডি MVNO সহ সব ক্যারিয়ারকে একটি ডেডিকেটেড কনফিগারেশন ফাইল রাখার অনুমতি দেয়, তাই মাইগ্রেশনের সময় MNO ডেটা অন্তর্ভুক্ত করার সাজেশন দেওয়া হয়।

  4. MVNO ক্যারিয়ার আইডির জন্য কনফিগারেশন না থাকলে, getCarrierIdFromSimMccMnc ব্যবহার করে এর MNO ক্যারিয়ার আইডি থেকে কনফিগারেশন ফেচ করুন।

  5. নতুন ফাইলের নাম পরিবর্তন করে carrier_config_carrierid_carrierid_carriername.xml হিসেবে রাখুন যেখানে carrierid অবশ্যই canonical_id-এর সাথে এবং carriername অবশ্যই carrier_name-এর সাথে carrier_list.textpb-এ মিলতে হবে।