অ্যান্ড্রয়েড 5.1 সার্বজনীন ইন্টিগ্রেটেড সার্কিট কার্ড (UICC) অ্যাপের মালিকদের জন্য প্রাসঙ্গিক API-এর জন্য বিশেষ সুবিধা প্রদানের জন্য একটি প্রক্রিয়া চালু করেছে। অ্যান্ড্রয়েড প্ল্যাটফর্মটি একটি UICC-তে সংরক্ষিত শংসাপত্রগুলি লোড করে এবং মুষ্টিমেয় বিশেষ APIগুলিতে কল করার জন্য এই শংসাপত্রগুলির দ্বারা স্বাক্ষরিত অ্যাপগুলিকে অনুমতি দেয়৷
অ্যান্ড্রয়েড 7.0 UICC ক্যারিয়ারের বিশেষাধিকার বিধিগুলির জন্য অন্যান্য স্টোরেজ উত্সগুলিকে সমর্থন করার জন্য এই বৈশিষ্ট্যটি প্রসারিত করেছে, যা API ব্যবহার করতে পারে এমন ক্যারিয়ারের সংখ্যা নাটকীয়ভাবে বাড়িয়েছে। একটি API রেফারেন্সের জন্য, CarrierConfigManager দেখুন; নির্দেশাবলীর জন্য, ক্যারিয়ার কনফিগারেশন দেখুন।
ক্যারিয়ারদের UICC-এর সম্পূর্ণ নিয়ন্ত্রণ রয়েছে, তাই এই প্রক্রিয়াটি ডিভাইসে বিশেষ সুবিধা বজায় রেখে এবং প্রয়োজন ছাড়াই জেনেরিক অ্যাপ ডিস্ট্রিবিউশন চ্যানেলে (যেমন Google Play) হোস্ট করা মোবাইল নেটওয়ার্ক অপারেটর (MNO) থেকে অ্যাপগুলি পরিচালনা করার একটি নিরাপদ এবং নমনীয় উপায় প্রদান করে। প্রতি-ডিভাইস প্ল্যাটফর্ম সার্টিফিকেট দিয়ে অ্যাপে সাইন ইন করতে বা সিস্টেম অ্যাপ হিসেবে প্রি-ইন্সটল করতে।
UICC এর নিয়ম
UICC-এর স্টোরেজ গ্লোবালপ্ল্যাটফর্ম সিকিউর এলিমেন্ট অ্যাক্সেস কন্ট্রোল স্পেসিফিকেশনের সাথে সামঞ্জস্যপূর্ণ। কার্ডে অ্যাপ শনাক্তকারী (AID) হল A00000015141434C00
, এবং স্ট্যান্ডার্ড GET DATA
কমান্ড কার্ডে সংরক্ষিত নিয়মগুলি আনতে ব্যবহৃত হয়। আপনি কার্ড ওভার-দ্য-এয়ার (OTA) আপডেটের মাধ্যমে এই নিয়মগুলি আপডেট করতে পারেন।
ডেটা অনুক্রম
UICC নিয়মগুলি নিম্নলিখিত ডেটা অনুক্রম ব্যবহার করে (বন্ধনীতে দুই-অক্ষরের অক্ষর এবং সংখ্যার সমন্বয় হল অবজেক্ট ট্যাগ)। প্রতিটি নিয়ম হল REF-AR-DO
( E2
) এবং এতে REF-DO
এবং AR-DO
এর সংমিশ্রণ রয়েছে:
-
REF-DO
(E1
) তেDeviceAppID-REF-DO
বাDeviceAppID-REF-DO
এবংPKG-REF-DO
এর সংমিশ্রণ রয়েছে।-
DeviceAppID-REF-DO
(C1
) শংসাপত্রের SHA-1 (20 বাইট) বা SHA-256 (32 বাইট) স্বাক্ষর সংরক্ষণ করে৷ -
PKG-REF-DO
(CA
) হল ম্যানিফেস্টে সংজ্ঞায়িত সম্পূর্ণ প্যাকেজ নামের স্ট্রিং, ASCII এনকোড করা, সর্বোচ্চ দৈর্ঘ্য 127 বাইট।
-
-
AR-DO
(E3
)PERM-AR-DO
(DB
) অন্তর্ভুক্ত করার জন্য প্রসারিত করা হয়েছে, যা একটি 8-বাইট বিট মাস্ক যা 64টি পৃথক অনুমতি উপস্থাপন করে।
PKG-REF-DO
উপস্থিত না থাকলে, সার্টিফিকেট দ্বারা স্বাক্ষরিত যেকোন অ্যাপ অ্যাক্সেস মঞ্জুর করা হয়; অন্যথায় শংসাপত্র এবং প্যাকেজের নাম উভয়ই মিলতে হবে।
নিয়ম উদাহরণ
অ্যাপটির নাম com.google.android.apps.myapp
এবং হেক্স স্ট্রিং-এ SHA-1 সার্টিফিকেট হল:
AB:CD:92:CB:B1:56:B2:80:FA:4E:14:29:A6:EC:EE:B6:E5:C1:BF:E4
হেক্স স্ট্রিং এ UICC এর নিয়ম হল:
E243 <= 43 is value length in hex E135 C114 ABCD92CBB156B280FA4E1429A6ECEEB6E5C1BFE4 CA1D 636F6D2E676F6F676C652E616E64726F69642E617070732E6D79617070 E30A DB08 0000000000000001
অ্যাক্সেস নিয়ম ফাইল সমর্থন
অ্যান্ড্রয়েড 7.0 অ্যাক্সেস রুল ফাইল (এআরএফ) থেকে ক্যারিয়ারের বিশেষাধিকার নিয়ম পড়ার জন্য সমর্থন যোগ করে।
অ্যান্ড্রয়েড প্ল্যাটফর্মটি প্রথমে অ্যাক্সেস রুল অ্যাপ্লিকেশন (ARA) AID A00000015141434C00
নির্বাচন করার চেষ্টা করে। যদি এটি UICC-তে AID খুঁজে না পায়, তাহলে PKCS15 AID A000000063504B43532D3135
নির্বাচন করে এটি ARF-এ ফিরে আসে। অ্যান্ড্রয়েড তারপর 0x4300
এ অ্যাক্সেস কন্ট্রোল রুলস ফাইল (ACRF) পড়ে এবং AID FFFFFFFFFFFF
এর সাথে এন্ট্রি খোঁজে। বিভিন্ন AID সহ এন্ট্রিগুলি উপেক্ষা করা হয়, তাই অন্যান্য ব্যবহারের ক্ষেত্রে নিয়মগুলি সহাবস্থান করতে পারে৷
হেক্স স্ট্রিং এ ACRF বিষয়বস্তুর উদাহরণ:
30 10 A0 08 04 06 FF FF FF FF FF FF 30 04 04 02 43 10
এক্সেস কন্ট্রোল কন্ডিশন ফাইল (ACCF) কন্টেন্টের উদাহরণ:
30 16 04 14 61 ED 37 7E 85 D3 86 A8 DF EE 6B 86 4B D8 5B 0B FA A5 AF 81
উপরের উদাহরণে, 0x4310
হল ACCF-এর ঠিকানা, যাতে রয়েছে সার্টিফিকেট হ্যাশ 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
। এই শংসাপত্র দ্বারা স্বাক্ষরিত অ্যাপগুলিকে ক্যারিয়ারের বিশেষাধিকার দেওয়া হয়৷
সক্ষম APIs
অ্যান্ড্রয়েড নিম্নলিখিত API সমর্থন করে।
টেলিফোনি ম্যানেজার
- ক্যারিয়ার অ্যাপকে একটি চ্যালেঞ্জ/প্রতিক্রিয়ার জন্য UICC-কে জিজ্ঞাসা করতে দেওয়ার পদ্ধতি:
getIccAuthentication
। - কলিং অ্যাপটিকে ক্যারিয়ারের সুবিধা দেওয়া হয়েছে কিনা তা পরীক্ষা করার পদ্ধতি:
hasCarrierPrivileges
। - ব্র্যান্ড এবং নম্বর ওভাররাইড করার পদ্ধতি:
- সরাসরি UICC যোগাযোগের পদ্ধতি:
- ডিভাইস মোড গ্লোবাল সেট করার পদ্ধতি:
setPreferredNetworkTypeToGlobal
। - ডিভাইস বা নেটওয়ার্ক পরিচয় পাওয়ার পদ্ধতি:
- আন্তর্জাতিক মোবাইল ইকুইপমেন্ট আইডেন্টিটি (IMEI):
getImei
- মোবাইল ইকুইপমেন্ট আইডেন্টিফায়ার (MEID):
getMeid
- নেটওয়ার্ক অ্যাক্সেস আইডেন্টিফায়ার (NAI):
getNai
- সিম সিরিয়াল নম্বর:
getSimSerialNumber
- আন্তর্জাতিক মোবাইল ইকুইপমেন্ট আইডেন্টিটি (IMEI):
- ক্যারিয়ার কনফিগারেশন পাওয়ার পদ্ধতি:
getCarrierConfig
- ডেটা ট্রান্সমিশনের জন্য নেটওয়ার্ক টাইপ পাওয়ার পদ্ধতি:
getDataNetworkType
- ভয়েস পরিষেবার জন্য নেটওয়ার্কের ধরন পাওয়ার পদ্ধতি:
getVoiceNetworkType
- ইউআইসিসি সিম (ইউএসআইএম) অ্যাপ সম্পর্কে তথ্য পাওয়ার পদ্ধতি:
- সিম সিরিয়াল নম্বর:
getSimSerialNumber
- কার্ড তথ্য:
getUiccCardsInfo
- GID1 (গ্রুপ আইডি লেভেল1):
getGroupIdLevel1
- লাইন 1 এর জন্য ফোন নম্বর স্ট্রিং:
getLine1Number
- নিষিদ্ধ পাবলিক ল্যান্ড মোবাইল নেটওয়ার্ক (PLMN):
getForbiddenPlmns
- সমতুল্য হোম PLMN:
getEquivalentHomePlmns
- সিম সিরিয়াল নম্বর:
- ভয়েসমেল নম্বর পেতে বা সেট করার পদ্ধতি:
- বিশেষ ডায়লার কোড পাঠানোর পদ্ধতি:
sendDialerSpecialCode
- রেডিও মডেম রিসেট করার পদ্ধতি:
rebootModem
- নেটওয়ার্ক নির্বাচন মোড পেতে বা সেট করার পদ্ধতি:
- একটি নেটওয়ার্ক স্ক্যান অনুরোধ করার পদ্ধতি:
requestNetworkScan
- অনুমোদিত/পছন্দের নেটওয়ার্ক প্রকারগুলি পেতে বা সেট করার পদ্ধতি:
- ব্যবহারকারীর সেটিংস প্রতি মোবাইল ডেটা বা রোমিং সক্ষম কিনা তা পরীক্ষা করার পদ্ধতি:
- কারণ সহ ডেটা সংযোগ পরীক্ষা বা সেট করার পদ্ধতি:
- জরুরী নম্বর তালিকা পেতে পদ্ধতি:
getEmergencyNumberList
- সুবিধাবাদী নেটওয়ার্ক নিয়ন্ত্রণ করার পদ্ধতি:
- সেলুলার সিগন্যাল শক্তি আপডেট অনুরোধ সেট বা সাফ করার পদ্ধতি:
টেলিফোনি কলব্যাক
TelephonyCallback
একটি কলব্যাক পদ্ধতির সাথে ইন্টারফেস রয়েছে যখন নিবন্ধিত অবস্থাগুলি পরিবর্তন হয় তখন কলিং অ্যাপকে অবহিত করতে:
- বার্তা অপেক্ষা সূচক পরিবর্তিত হয়েছে:
onMessageWaitingIndicatorChanged
- কল ফরওয়ার্ডিং সূচক পরিবর্তিত হয়েছে:
onCallForwardingIndicatorChanged
- IP মাল্টিমিডিয়া সিস্টেম (IMS) কল বিচ্ছিন্ন হওয়ার কারণ পরিবর্তিত হয়েছে:
onImsCallDisconnectCauseChanged
- সুনির্দিষ্ট ডেটা সংযোগের অবস্থা পরিবর্তিত হয়েছে:
onPreciseDataConnectionStateChanged
- বর্তমান জরুরি নম্বর তালিকা পরিবর্তিত হয়েছে:
onEmergencyNumberListChanged
- সক্রিয় ডেটা সাবস্ক্রিপশন আইডি পরিবর্তিত হয়েছে:
onActiveDataSubscriptionIdChanged
- ক্যারিয়ার নেটওয়ার্ক পরিবর্তিত হয়েছে:
onCarrierNetworkChange
- নেটওয়ার্ক নিবন্ধন বা একটি অবস্থান/রাউটিং/ট্র্যাকিং এলাকা আপডেট ব্যর্থ হয়েছে:
onRegistrationFailed
ব্যর্থ হয়েছে - ব্যারিং তথ্য পরিবর্তন:
onBarringInfoChanged
- বর্তমান ভৌত চ্যানেল কনফিগারেশন পরিবর্তিত হয়েছে:
onPhysicalChannelConfigChanged
সাবস্ক্রিপশন ম্যানেজার
- বিভিন্ন সাবস্ক্রিপশন তথ্য পাওয়ার পদ্ধতি:
- সক্রিয় সদস্যতার সংখ্যা পাওয়ার পদ্ধতি:
getActiveSubscriptionInfoCount
- সদস্যতা গ্রুপ পরিচালনা করার পদ্ধতি:
- একটি ক্যারিয়ার এবং একটি নির্দিষ্ট গ্রাহকের মধ্যে বিলিং সম্পর্ক পরিকল্পনার বিবরণ পেতে বা সেট করার পদ্ধতি:
- অস্থায়ীভাবে একটি ক্যারিয়ার এবং একটি নির্দিষ্ট গ্রাহকের মধ্যে বিলিং সম্পর্ক পরিকল্পনা ওভাররাইড করার পদ্ধতি যা মিটারবিহীন বলে বিবেচিত হবে:
setSubscriptionOverrideUnmetered
- অস্থায়ীভাবে একটি ক্যারিয়ার এবং একটি নির্দিষ্ট গ্রাহকের মধ্যে বিলিং সম্পর্ক পরিকল্পনাকে ওভাররাইড করার পদ্ধতি যা কনজেস্টেড বলে বিবেচিত হবে:
setSubscriptionOverrideCongested
- প্রদত্ত প্রসঙ্গ সহ অ্যাপটি তার মেটাডেটা অনুসারে প্রদত্ত সাবস্ক্রিপশন পরিচালনা করার জন্য অনুমোদিত কিনা তা পরীক্ষা করার পদ্ধতি:
canManageSubscription
এসএমএস ম্যানেজার
- কলকারীকে নতুন ইনকামিং এসএমএস বার্তা তৈরি করতে দেওয়ার পদ্ধতি:
injectSmsPdu
। - SMS প্রদানকারীতে না লিখে একটি পাঠ্য ভিত্তিক SMS বার্তা পাঠানোর পদ্ধতি:
sendTextMessageWithoutPersisting
CarrierConfigManager
- কনফিগারেশন পরিবর্তিত বিজ্ঞপ্তি দেওয়ার পদ্ধতি:
notifyConfigChangedForSubId
। - ডিফল্ট সাবস্ক্রিপশনের জন্য ক্যারিয়ার কনফিগারেশন পাওয়ার পদ্ধতি:
getConfig
- নির্দিষ্ট সাবস্ক্রিপশনের জন্য ক্যারিয়ার কনফিগারেশন পাওয়ার পদ্ধতি:
getConfigForSubId
নির্দেশাবলীর জন্য, ক্যারিয়ার কনফিগারেশন দেখুন।
BugreportManager
একটি কানেক্টিভিটি বাগ রিপোর্ট শুরু করার পদ্ধতি, যা বাগ রিপোর্টের একটি বিশেষ সংস্করণ যাতে সংযোগ সংক্রান্ত সমস্যাগুলি ডিবাগ করার জন্য শুধুমাত্র তথ্য অন্তর্ভুক্ত থাকে: startConnectivityBugreport
নেটওয়ার্ক স্ট্যাটস ম্যানেজার
- নেটওয়ার্ক ব্যবহারের সারাংশ জিজ্ঞাসা করার পদ্ধতি:
querySummary
- নেটওয়ার্ক ব্যবহারের ইতিহাস জিজ্ঞাসা করার পদ্ধতি:
queryDetails
- নেটওয়ার্ক ব্যবহার কলব্যাক নিবন্ধন বা নিবন্ধনমুক্ত করার পদ্ধতি:
ImsMmTelManager
- IMS MmTel রেজিস্ট্রেশন কলব্যাক নিবন্ধন বা নিবন্ধনমুক্ত করার পদ্ধতি:
ImsRcsManager
- IMS RCS রেজিস্ট্রেশন কলব্যাক নিবন্ধন বা নিবন্ধনমুক্ত করার পদ্ধতি:
- IMS রেজিস্ট্রেশন স্টেট বা পরিবহনের ধরন পাওয়ার পদ্ধতি:
প্রভিশনিং ম্যানেজার
- IMS ফিচার প্রভিশনিং আপডেট কলব্যাক নিবন্ধন এবং আনরেজিস্টার করার পদ্ধতি:
- আইএমএস এমএমটেল বা আরসিএস ক্ষমতার জন্য প্রভিশনিং স্ট্যাটাস সম্পর্কিত পদ্ধতি:
EuiccManager
প্রদত্ত সাবস্ক্রিপশনে স্যুইচ করার (সক্ষম) পদ্ধতি: switchToSubscription
ক্যারিয়ার মেসেজিং সার্ভিস
পরিষেবা যা নতুন এসএমএস এবং এমএমএস পাঠানো বা গ্রহণ করা হলে সিস্টেম থেকে কল গ্রহণ করে। এই ক্লাসটি প্রসারিত করতে, android.Manifest.permission#BIND_CARRIER_MESSAGING_SERVICE
অনুমতি সহ আপনার ম্যানিফেস্ট ফাইলে পরিষেবাটি ঘোষণা করুন এবং #SERVICE_INTERFACE
অ্যাকশন সহ একটি অভিপ্রায় ফিল্টার অন্তর্ভুক্ত করুন। পদ্ধতি অন্তর্ভুক্ত:
- ইনবাউন্ড এসএমএস বার্তা ফিল্টার করার পদ্ধতি:
onFilterSms
- ডিভাইস থেকে পাঠানো টেক্সট এসএমএস বার্তা আটকানোর পদ্ধতি:
onSendTextSms
- ডিভাইস থেকে প্রেরিত বাইনারি এসএমএস বার্তা আটকানোর পদ্ধতি:
onSendDataSms
- ডিভাইস থেকে প্রেরিত দীর্ঘ এসএমএস বার্তা আটকানোর পদ্ধতি:
onSendMultipartTextSms
- ডিভাইস থেকে প্রেরিত MMS বার্তা আটকানোর পদ্ধতি:
onSendMms
- প্রাপ্ত MMS বার্তাগুলি ডাউনলোড করার পদ্ধতি:
onDownloadMms
ক্যারিয়ার সার্ভিস
পরিষেবা যা সিস্টেমে ক্যারিয়ার-নির্দিষ্ট কার্যকারিতা প্রকাশ করে৷ এই ক্লাসটি প্রসারিত করতে, android.Manifest.permission#BIND_CARRIER_SERVICES
অনুমতি সহ অ্যাপ ম্যানিফেস্ট ফাইলে পরিষেবাটি ঘোষণা করুন এবং CARRIER_SERVICE_INTERFACE
অ্যাকশন সহ একটি অভিপ্রায় ফিল্টার অন্তর্ভুক্ত করুন। যদি পরিষেবাটির দীর্ঘস্থায়ী বাইন্ডিং থাকে, তাহলে পরিষেবার মেটাডেটাতে android.service.carrier.LONG_LIVED_BINDING
কে true
হিসাবে সেট করুন৷
প্ল্যাটফর্মটি CarrierService
বিশেষ পতাকা দিয়ে আবদ্ধ করে যাতে ক্যারিয়ার পরিষেবা প্রক্রিয়াটিকে একটি বিশেষ অ্যাপ স্ট্যান্ডবাই বালতিতে চলতে দেয়৷ এটি ক্যারিয়ার পরিষেবা অ্যাপটিকে অ্যাপ নিষ্ক্রিয় সীমাবদ্ধতা থেকে অব্যাহতি দেয় এবং ডিভাইসের মেমরি কম থাকলে এটি জীবিত থাকার সম্ভাবনা বেশি করে। যাইহোক, ক্যারিয়ার পরিষেবা অ্যাপটি কোনো কারণে ক্র্যাশ হলে, অ্যাপটি পুনরায় চালু না হওয়া পর্যন্ত এবং বাইন্ডিং পুনঃস্থাপিত না হওয়া পর্যন্ত এটি উপরের সমস্ত সুবিধা হারায়। তাই ক্যারিয়ার পরিষেবা অ্যাপটিকে স্থিতিশীল রাখা গুরুত্বপূর্ণ।
CarrierService
এর পদ্ধতিগুলির মধ্যে রয়েছে:
- ক্যারিয়ার নির্দিষ্ট কনফিগারেশন ওভাররাইড এবং সেট করতে:
onLoadConfig
- ক্যারিয়ার অ্যাপ দ্বারা একটি ইচ্ছাকৃত আসন্ন ক্যারিয়ার নেটওয়ার্ক পরিবর্তনের সিস্টেমকে অবহিত করতে:
notifyCarrierNetworkChange
টেলিফোন প্রদানকারী
টেলিফোনি ডাটাবেসে পরিবর্তন (সন্নিবেশ, মুছে, আপডেট, ক্যোয়ারী) করার অনুমতি দেওয়ার জন্য সামগ্রী প্রদানকারী APIs। Telephony.Carriers
এ মান ক্ষেত্র সংজ্ঞায়িত করা হয়; আরও বিস্তারিত জানার জন্য, Telephony
ক্লাস রেফারেন্স পড়ুন
WifiNetwork সাজেশন
একটি WifiNetworkSuggestion
অবজেক্ট তৈরি করার সময়, একটি সাবস্ক্রিপশন আইডি বা একটি সদস্যতা গোষ্ঠী সেট করতে নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করুন:
- সাবস্ক্রিপশন আইডি সেট করার পদ্ধতি:
setSubscriptionId
- একটি সাবস্ক্রিপশন গ্রুপ সেট করতে Metohd:
setSubscriptionGroup
অ্যান্ড্রয়েড প্ল্যাটফর্ম
একটি শনাক্ত করা UICC-এ, প্ল্যাটফর্মটি অভ্যন্তরীণ UICC অবজেক্ট তৈরি করে যা UICC-এর অংশ হিসেবে ক্যারিয়ারের বিশেষাধিকার বিধি অন্তর্ভুক্ত করে। UiccCarrierPrivilegeRules.java
নিয়ম লোড করে, UICC কার্ড থেকে পার্স করে এবং মেমরিতে ক্যাশ করে। যখন একটি বিশেষাধিকার চেকের প্রয়োজন হয়, তখন UiccCarrierPrivilegeRules
কলার শংসাপত্রটিকে তার নিজস্ব নিয়মগুলির সাথে একে একে তুলনা করে। UICC সরানো হলে, নিয়মগুলি UICC অবজেক্টের সাথে ধ্বংস হয়ে যাবে।
বৈধতা
CtsCarrierApiTestCases.apk
ব্যবহার করে কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS) এর মাধ্যমে বাস্তবায়নকে যাচাই করতে, আপনার অবশ্যই সঠিক UICC নিয়ম বা ARF সমর্থন সহ একজন বিকাশকারী UICC থাকতে হবে। আপনার পছন্দের সিম কার্ড বিক্রেতাকে এই বিভাগে বর্ণিত সঠিক ARF সহ একটি বিকাশকারী UICC প্রস্তুত করতে বলুন এবং পরীক্ষা চালানোর জন্য সেই UICC ব্যবহার করুন৷ CTS পরীক্ষা পাস করার জন্য UICC-এর সক্রিয় সেলুলার পরিষেবার প্রয়োজন নেই।
UICC প্রস্তুত করুন
Android 11 এবং তার নিচের সংস্করণের জন্য, CtsCarrierApiTestCases.apk
হ্যাশ মান 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
সহ aosp-testkey
দ্বারা স্বাক্ষরিত 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
।
Android 12 থেকে শুরু করে, CtsCarrierApiTestCases.apk
cts-uicc-2021-testkey
, হ্যাশ মান CE:7B:2B:47:AE:2B:75:52:C8:F9:2C:C2:91:24:27:98:83:04:1F:B6:23:A5:F1:94:A8:2C:9B:F1:5D:49:2A:A0
দ্বারা স্বাক্ষরিত CE:7B:2B:47:AE:2B:75:52:C8:F9:2C:C2:91:24:27:98:83:04:1F:B6:23:A5:F1:94:A8:2C:9B:F1:5D:49:2A:A0
।
অ্যান্ড্রয়েড 12-এ CTS ক্যারিয়ার API পরীক্ষা চালানোর জন্য, ডিভাইসটিকে তৃতীয় পক্ষের GSMA TS.48 টেস্ট প্রোফাইল স্পেসিফিকেশনের সর্বশেষ সংস্করণে উল্লেখিত প্রয়োজনীয়তাগুলি পূরণ করে CTS ক্যারিয়ারের বিশেষাধিকার সহ একটি সিম ব্যবহার করতে হবে।
একই সিম অ্যান্ড্রয়েড 12 এর আগের সংস্করণগুলির জন্যও ব্যবহার করা যেতে পারে।
CTS সিম প্রোফাইল পরিবর্তন করুন
- যোগ করুন: অ্যাক্সেস রুল অ্যাপ মাস্টার (এআরএ-এম) বা এআরএফ-এ CTS ক্যারিয়ারের সুবিধা। উভয় স্বাক্ষরই ক্যারিয়ারের বিশেষাধিকার নিয়মে এনকোড করা আবশ্যক:
- Hash1(SHA1):
61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
- Hash2(SHA256):
CE:7B:2B:47:AE:2B:75:52:C8:F9:2C:C2:91:24:27:98:83:04:1F:B6:23:A5:F1:94:A8:2C:9B:F1:5D:49:2A:A0
- Hash1(SHA1):
- তৈরি করুন: ADF USIM প্রাথমিক ফাইল (EFs) TS.48-এ উপস্থিত নেই এবং CTS-এর জন্য প্রয়োজন:
- EF_MBDN (6FC7), রেকর্ডের আকার: 28, রেকর্ড নম্বর: 4
- বিষয়বস্তু
- Rec1: 566F696365204D61696CFFFFFFF06915155555555FF…FF
- Rec2-n: FF…FF
- বিষয়বস্তু
- EF_EXT6 (6FC8), রেকর্ড আকার: 13, রেকর্ড নম্বর: 1
- বিষয়বস্তু: 00FF...FF
- EF_MBI (6FC9), রেকর্ডের আকার: 4, রেকর্ড নম্বর: 1
- বিষয়বস্তু: Rec1: 01010101
- EF_MWIS (6FCA), রেকর্ড আকার: 5, রেকর্ড নম্বর: 1
- বিষয়বস্তু: 0000000000
- বিষয়বস্তু: 00FF...FF
- EF_MBDN (6FC7), রেকর্ডের আকার: 28, রেকর্ড নম্বর: 4
- পরিবর্তন করুন: USIM পরিষেবা টেবিল: পরিষেবাগুলি n°47, n°48 সক্ষম করুন৷
- EF_UST (6F38)
- বিষয়বস্তু:
9EFFBF1DFFFE0083410310010400406E01
- বিষয়বস্তু:
- EF_UST (6F38)
- পরিবর্তন করুন: DF-5GS এবং DF-SAIP ফাইল
- DF-5GS - EF_5GS3GPPLOCI (USIM/5FC0/4F01)
- বিষয়বস্তু:
FFFFFFFFFFFFFFFFFFFFFFFFFF42F618FFFFFE01
- বিষয়বস্তু:
- DF-5GS - EF_5GSN3GPPLOCI (USIM/5FC0/4F02)
- বিষয়বস্তু:
FFFFFFFFFFFFFFFFFFFFFFFFFF42F618FFFFFE01
- বিষয়বস্তু:
- DF-5GS - EF SUCI_Calc_Info (USIM/5FC0/4F07)
- বিষয়বস্তু:
A0020000FF…FF
- বিষয়বস্তু:
- DF-SAIP - EF SUCI_Calc_Info_USIM (USIM/5FD0/4F01)
- বিষয়বস্তু:
A0020000FF…FF
- বিষয়বস্তু:
- DF-5GS - EF_5GS3GPPLOCI (USIM/5FC0/4F01)
- পরিবর্তন করুন: এই পদবী ধারণকারী সংশ্লিষ্ট EF-তে ক্যারিয়ারের নামের স্ট্রিং অ্যান্ড্রয়েড CTS ব্যবহার করুন:
- EF_SPN (USIM/6F46)
- বিষয়বস্তু:
01416E64726F696420435453FF..FF
- বিষয়বস্তু:
- EF_PNN (USIM/6FC5)
- বিষয়বস্তু:
Rec1 430B83413759FE4E934143EA14FF..FF
- বিষয়বস্তু:
- EF_SPN (USIM/6F46)
পরীক্ষার প্রোফাইল কাঠামোর সাথে মেলে
নিম্নলিখিত জেনেরিক টেস্ট প্রোফাইল স্ট্রাকচারের সর্বশেষ সংস্করণ ডাউনলোড করুন এবং মেলে। এই প্রোফাইলগুলিতে CTS ক্যারিয়ার প্রিভিলেজ নিয়ম ব্যক্তিগতকৃত বা উপরে তালিকাভুক্ত অন্যান্য পরিবর্তন থাকবে না।
পরীক্ষা চালান
সুবিধার জন্য, CTS একটি ডিভাইস টোকেন সমর্থন করে যা শুধুমাত্র একই টোকেন দিয়ে কনফিগার করা ডিভাইসগুলিতে পরীক্ষা চালানোর জন্য সীমাবদ্ধ করে। ক্যারিয়ার API CTS পরীক্ষাগুলি ডিভাইস টোকেন sim-card-with-certs
সমর্থন করে। উদাহরণস্বরূপ, নিম্নলিখিত ডিভাইস টোকেন ক্যারিয়ার API পরীক্ষাগুলিকে শুধুমাত্র abcd1234
ডিভাইসে চালানোর জন্য সীমাবদ্ধ করে:
cts-tradefed run cts --device-token abcd1234:sim-card-with-certs
একটি ডিভাইস টোকেন ব্যবহার না করে একটি পরীক্ষা চালানোর সময়, পরীক্ষাটি সমস্ত ডিভাইসে চলে৷
FAQ
কিভাবে UICC-তে সার্টিফিকেট আপডেট করা যায়?
উত্তর: বিদ্যমান কার্ড OTA আপডেট পদ্ধতি ব্যবহার করুন।
UICC অন্যান্য নিয়মের সাথে সহাবস্থান করতে পারে?
উত্তর: একই AID-এর অধীনে UICC-তে অন্যান্য নিরাপত্তা বিধি থাকা ভালো; প্ল্যাটফর্ম স্বয়ংক্রিয়ভাবে তাদের ফিল্টার আউট.
যখন UICC একটি অ্যাপের জন্য সরানো হয় যা এটির সার্টিফিকেটের উপর নির্ভর করে তখন কী হয়?
উত্তর: অ্যাপটি তার বিশেষাধিকার হারায় কারণ UICC-এর সাথে সম্পর্কিত নিয়মগুলি UICC অপসারণের সময় নষ্ট হয়ে যায়।
UICC-তে সার্টিফিকেটের সংখ্যার কি কোনো সীমা আছে?
উত্তর: প্ল্যাটফর্মটি শংসাপত্রের সংখ্যা সীমাবদ্ধ করে না; কিন্তু যেহেতু চেকটি রৈখিক, তাই অনেকগুলি নিয়ম চেকের জন্য বিলম্বিত হতে পারে৷
আমরা এই পদ্ধতিতে সমর্থন করতে পারি এমন API-এর সংখ্যার কি কোনো সীমা আছে?
উত্তর: না, কিন্তু আমরা ক্যারিয়ার-সম্পর্কিত API-এর সুযোগ সীমাবদ্ধ করি।
এই পদ্ধতি ব্যবহার করার জন্য কিছু APIs নিষিদ্ধ আছে? যদি তাই হয়, আপনি কিভাবে তাদের প্রয়োগ করবেন? (অর্থাৎ, এই পদ্ধতিতে কোন এপিআই সমর্থিত তা যাচাই করার জন্য আপনার কি পরীক্ষা আছে?)
উত্তর: অ্যান্ড্রয়েড কম্প্যাটিবিলিটি ডেফিনিশন ডকুমেন্টের (CDD) API আচরণগত সামঞ্জস্য বিভাগটি দেখুন। এপিআই-এর অনুমতির মডেল যাতে পরিবর্তন না হয় তা নিশ্চিত করার জন্য আমাদের কিছু CTS পরীক্ষা আছে।
মাল্টি-সিম বৈশিষ্ট্যের সাথে এটি কীভাবে কাজ করে?
উত্তর: ব্যবহারকারীর দ্বারা নির্দিষ্ট ডিফল্ট সিম ব্যবহার করা হয়।
এটি কি অন্য SE অ্যাক্সেস প্রযুক্তির সাথে ইন্টারঅ্যাক্ট বা ওভারল্যাপ করে, উদাহরণস্বরূপ, SEEK?
উত্তর: উদাহরণ হিসেবে, SEEK UICC-এর মতো একই AID ব্যবহার করে। তাই নিয়মগুলি সহাবস্থান করে এবং SEEK বা UiccCarrierPrivileges
দ্বারা ফিল্টার করা হয়।
ক্যারিয়ারের সুবিধাগুলি পরীক্ষা করার জন্য কখন এটি উপযুক্ত?
উত্তর: সিম স্টেট লোড সম্প্রচারের পর।
OEMs ক্যারিয়ার API এর অংশ নিষ্ক্রিয় করতে পারেন?
উত্তর: না। আমরা বিশ্বাস করি যে বর্তমান API গুলি সর্বনিম্ন সেট, এবং আমরা ভবিষ্যতে সূক্ষ্ম গ্রানুলিটি নিয়ন্ত্রণের জন্য বিট মাস্ক ব্যবহার করার পরিকল্পনা করছি।
setOperatorBrandOverride
কি অপারেটর নামের স্ট্রিংগুলির অন্যান্য সমস্ত রূপকে ওভাররাইড করে? উদাহরণস্বরূপ, SE13, UICC SPN, বা নেটওয়ার্ক-ভিত্তিক NITZ?
হ্যাঁ, অপারেটর ব্র্যান্ড ওভাররাইডের সর্বোচ্চ অগ্রাধিকার রয়েছে। এটি সেট করা হলে, এটি অপারেটর নামের স্ট্রিংগুলির অন্যান্য সমস্ত রূপকে ওভাররাইড করে।
injectSmsPdu
পদ্ধতি কল কি করে?
উত্তর: এই পদ্ধতিটি ক্লাউডে এসএমএস ব্যাকআপ/রিস্টোরের সুবিধা দেয়। injectSmsPdu
কলটি পুনরুদ্ধার ফাংশন সক্ষম করে।
এসএমএস ফিল্টারিংয়ের জন্য, onFilterSms
কলটি কি এসএমএস ইউডিএইচ পোর্ট ফিল্টারিংয়ের উপর ভিত্তি করে? অথবা ক্যারিয়ার অ্যাপের কি সমস্ত ইনকামিং এসএমএসে অ্যাক্সেস আছে?
উত্তর: ক্যারিয়ারের সকল এসএমএস ডেটার অ্যাক্সেস আছে।
32 বাইট সমর্থন করার জন্য DeviceAppID-REF-DO
এর এক্সটেনশন বর্তমান জিপি স্পেক (যা শুধুমাত্র 0 বা 20 বাইট অনুমোদন করে) সাথে বেমানান বলে মনে হচ্ছে, তাহলে আপনি কেন এই পরিবর্তনটি চালু করছেন? সংঘর্ষ এড়াতে SHA-1 কি যথেষ্ট নয়? আপনি কি ইতিমধ্যেই জিপির কাছে এই পরিবর্তনের প্রস্তাব করেছেন, কারণ এটি বিদ্যমান ARA-M/ARF এর সাথে বেমানান হতে পারে?
উত্তর: ভবিষ্যৎ-প্রমাণ নিরাপত্তা প্রদানের জন্য, এই এক্সটেনশনটি SHA-1-এর পাশাপাশি DeviceAppID-REF-DO
জন্য SHA-256 প্রবর্তন করে, যা বর্তমানে GP SEAC স্ট্যান্ডার্ডে একমাত্র বিকল্প। আমরা SHA-256 ব্যবহার করার সুপারিশ করি।
যদি DeviceAppID
0 (খালি) হয়, তাহলে আপনি কি নির্দিষ্ট নিয়মের আওতায় নেই এমন সমস্ত ডিভাইস অ্যাপে নিয়ম প্রয়োগ করবেন?
উত্তর: ক্যারিয়ার API-এর প্রয়োজন DeviceAppID-REF-DO
জনবহুল হওয়া। খালি থাকা পরীক্ষার উদ্দেশ্যে তৈরি করা হয়েছে এবং অপারেশনাল স্থাপনার জন্য সুপারিশ করা হয় না।
আপনার স্পেসিফিকেশন অনুযায়ী, PKG-REF-DO
শুধুমাত্র নিজে ব্যবহার করা, DeviceAppID-REF-DO
ছাড়া, গ্রহণ করা উচিত নয়। কিন্তু এটি এখনও REF-DO
এর সংজ্ঞা প্রসারিত হিসাবে স্পেসিফিকেশনের সারণি 6-4-এ বর্ণনা করা হয়েছে। এটা কি উদ্দেশ্যমূলক? REF-DO
তে শুধুমাত্র PKG-REF-DO
ব্যবহার করা হলে কোডটি কীভাবে আচরণ করে?
উত্তর: REF-DO
তে PKG-REF-DO
একটি একক মান আইটেম হিসাবে থাকার বিকল্পটি সর্বশেষ সংস্করণে সরিয়ে দেওয়া হয়েছে। PKG-REF-DO
শুধুমাত্র DeviceAppID-REF-DO
এর সংমিশ্রণে হওয়া উচিত।
আমরা অনুমান করি যে আমরা সমস্ত ক্যারিয়ার-ভিত্তিক অনুমতিগুলিতে অ্যাক্সেস দিতে পারি বা সূক্ষ্ম নিয়ন্ত্রণ করতে পারি। যদি তাই হয়, বিট মাস্ক এবং প্রকৃত অনুমতিগুলির মধ্যে ম্যাপিংকে কী সংজ্ঞায়িত করে? ক্লাস প্রতি একটি অনুমতি? পদ্ধতি প্রতি এক অনুমতি? দীর্ঘ মেয়াদে 64টি পৃথক অনুমতি কি যথেষ্ট?
উত্তর: এটি ভবিষ্যতের জন্য সংরক্ষিত, এবং আমরা পরামর্শগুলিকে স্বাগত জানাই।
আপনি কি বিশেষভাবে Android এর জন্য DeviceAppID
আরও সংজ্ঞায়িত করতে পারেন? এটি প্রদত্ত অ্যাপে স্বাক্ষর করতে ব্যবহৃত প্রকাশক শংসাপত্রের SHA-1 (20 বাইট) হ্যাশ মান, তাই নামটি কি সেই উদ্দেশ্যকে প্রতিফলিত করা উচিত নয়? (নামটি অনেক পাঠকের কাছে বিভ্রান্তিকর হতে পারে কারণ নিয়মটি সেই একই প্রকাশক শংসাপত্রের সাথে স্বাক্ষরিত সমস্ত অ্যাপের জন্য প্রযোজ্য।)
উত্তর: DeviceAppID
সঞ্চয়কারী শংসাপত্র বিদ্যমান বৈশিষ্ট্য দ্বারা সমর্থিত। আমরা দত্তক নেওয়ার বাধা কমাতে বিশেষ পরিবর্তনগুলি কমানোর চেষ্টা করেছি। বিস্তারিত জানার জন্য, UICC এর নিয়ম দেখুন।
অ্যান্ড্রয়েড 5.1 সার্বজনীন ইন্টিগ্রেটেড সার্কিট কার্ড (UICC) অ্যাপের মালিকদের জন্য প্রাসঙ্গিক API-এর জন্য বিশেষ সুবিধা প্রদানের জন্য একটি প্রক্রিয়া চালু করেছে। অ্যান্ড্রয়েড প্ল্যাটফর্মটি একটি UICC-তে সংরক্ষিত শংসাপত্রগুলি লোড করে এবং মুষ্টিমেয় বিশেষ APIগুলিতে কল করার জন্য এই শংসাপত্রগুলির দ্বারা স্বাক্ষরিত অ্যাপগুলিকে অনুমতি দেয়৷
অ্যান্ড্রয়েড 7.0 UICC ক্যারিয়ারের বিশেষাধিকার বিধিগুলির জন্য অন্যান্য স্টোরেজ উত্সগুলিকে সমর্থন করার জন্য এই বৈশিষ্ট্যটি প্রসারিত করেছে, যা API ব্যবহার করতে পারে এমন ক্যারিয়ারের সংখ্যা নাটকীয়ভাবে বাড়িয়েছে। একটি API রেফারেন্সের জন্য, CarrierConfigManager দেখুন; নির্দেশাবলীর জন্য, ক্যারিয়ার কনফিগারেশন দেখুন।
ক্যারিয়ারদের UICC-এর সম্পূর্ণ নিয়ন্ত্রণ রয়েছে, তাই এই প্রক্রিয়াটি ডিভাইসে বিশেষ সুবিধা বজায় রেখে এবং প্রয়োজন ছাড়াই জেনেরিক অ্যাপ ডিস্ট্রিবিউশন চ্যানেলে (যেমন Google Play) হোস্ট করা মোবাইল নেটওয়ার্ক অপারেটর (MNO) থেকে অ্যাপগুলি পরিচালনা করার একটি নিরাপদ এবং নমনীয় উপায় প্রদান করে। প্রতি-ডিভাইস প্ল্যাটফর্ম সার্টিফিকেট দিয়ে অ্যাপে সাইন ইন করতে বা সিস্টেম অ্যাপ হিসেবে প্রি-ইন্সটল করতে।
UICC এর নিয়ম
UICC-এর স্টোরেজ গ্লোবালপ্ল্যাটফর্ম সিকিউর এলিমেন্ট অ্যাক্সেস কন্ট্রোল স্পেসিফিকেশনের সাথে সামঞ্জস্যপূর্ণ। কার্ডে অ্যাপ শনাক্তকারী (AID) হল A00000015141434C00
, এবং স্ট্যান্ডার্ড GET DATA
কমান্ড কার্ডে সংরক্ষিত নিয়মগুলি আনতে ব্যবহৃত হয়। আপনি কার্ড ওভার-দ্য-এয়ার (OTA) আপডেটের মাধ্যমে এই নিয়মগুলি আপডেট করতে পারেন।
ডেটা অনুক্রম
UICC নিয়মগুলি নিম্নলিখিত ডেটা অনুক্রম ব্যবহার করে (বন্ধনীতে দুই-অক্ষরের অক্ষর এবং সংখ্যার সমন্বয় হল অবজেক্ট ট্যাগ)। প্রতিটি নিয়ম হল REF-AR-DO
( E2
) এবং এতে REF-DO
এবং AR-DO
এর সংমিশ্রণ রয়েছে:
-
REF-DO
(E1
) তেDeviceAppID-REF-DO
বাDeviceAppID-REF-DO
এবংPKG-REF-DO
এর সংমিশ্রণ রয়েছে।-
DeviceAppID-REF-DO
(C1
) শংসাপত্রের SHA-1 (20 বাইট) বা SHA-256 (32 বাইট) স্বাক্ষর সংরক্ষণ করে৷ -
PKG-REF-DO
(CA
) হল ম্যানিফেস্টে সংজ্ঞায়িত সম্পূর্ণ প্যাকেজ নামের স্ট্রিং, ASCII এনকোড করা, সর্বোচ্চ দৈর্ঘ্য 127 বাইট।
-
-
AR-DO
(E3
)PERM-AR-DO
(DB
) অন্তর্ভুক্ত করার জন্য প্রসারিত করা হয়েছে, যা একটি 8-বাইট বিট মাস্ক যা 64টি পৃথক অনুমতি উপস্থাপন করে।
PKG-REF-DO
উপস্থিত না থাকলে, সার্টিফিকেট দ্বারা স্বাক্ষরিত যেকোন অ্যাপ অ্যাক্সেস মঞ্জুর করা হয়; অন্যথায় শংসাপত্র এবং প্যাকেজের নাম উভয়ই মিলতে হবে।
নিয়ম উদাহরণ
অ্যাপটির নাম com.google.android.apps.myapp
এবং হেক্স স্ট্রিং-এ SHA-1 সার্টিফিকেট হল:
AB:CD:92:CB:B1:56:B2:80:FA:4E:14:29:A6:EC:EE:B6:E5:C1:BF:E4
হেক্স স্ট্রিং এ UICC এর নিয়ম হল:
E243 <= 43 is value length in hex E135 C114 ABCD92CBB156B280FA4E1429A6ECEEB6E5C1BFE4 CA1D 636F6D2E676F6F676C652E616E64726F69642E617070732E6D79617070 E30A DB08 0000000000000001
অ্যাক্সেস নিয়ম ফাইল সমর্থন
অ্যান্ড্রয়েড 7.0 অ্যাক্সেস রুল ফাইল (এআরএফ) থেকে ক্যারিয়ারের বিশেষাধিকার নিয়ম পড়ার জন্য সমর্থন যোগ করে।
অ্যান্ড্রয়েড প্ল্যাটফর্মটি প্রথমে অ্যাক্সেস রুল অ্যাপ্লিকেশন (ARA) AID A00000015141434C00
নির্বাচন করার চেষ্টা করে। যদি এটি UICC-তে AID খুঁজে না পায়, তাহলে PKCS15 AID A000000063504B43532D3135
নির্বাচন করে এটি ARF-এ ফিরে আসে। অ্যান্ড্রয়েড তারপর 0x4300
এ অ্যাক্সেস কন্ট্রোল রুলস ফাইল (ACRF) পড়ে এবং AID FFFFFFFFFFFF
এর সাথে এন্ট্রি খোঁজে। বিভিন্ন AID সহ এন্ট্রিগুলি উপেক্ষা করা হয়, তাই অন্যান্য ব্যবহারের ক্ষেত্রে নিয়মগুলি সহাবস্থান করতে পারে৷
হেক্স স্ট্রিং এ ACRF বিষয়বস্তুর উদাহরণ:
30 10 A0 08 04 06 FF FF FF FF FF FF 30 04 04 02 43 10
এক্সেস কন্ট্রোল কন্ডিশন ফাইল (ACCF) কন্টেন্টের উদাহরণ:
30 16 04 14 61 ED 37 7E 85 D3 86 A8 DF EE 6B 86 4B D8 5B 0B FA A5 AF 81
উপরের উদাহরণে, 0x4310
হল ACCF-এর ঠিকানা, যাতে রয়েছে সার্টিফিকেট হ্যাশ 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
। এই শংসাপত্র দ্বারা স্বাক্ষরিত অ্যাপগুলিকে ক্যারিয়ারের বিশেষাধিকার দেওয়া হয়৷
সক্ষম APIs
অ্যান্ড্রয়েড নিম্নলিখিত API সমর্থন করে।
টেলিফোনি ম্যানেজার
- ক্যারিয়ার অ্যাপকে একটি চ্যালেঞ্জ/প্রতিক্রিয়ার জন্য UICC-কে জিজ্ঞাসা করতে দেওয়ার পদ্ধতি:
getIccAuthentication
। - কলিং অ্যাপটিকে ক্যারিয়ারের সুবিধা দেওয়া হয়েছে কিনা তা পরীক্ষা করার পদ্ধতি:
hasCarrierPrivileges
। - ব্র্যান্ড এবং নম্বর ওভাররাইড করার পদ্ধতি:
- সরাসরি UICC যোগাযোগের পদ্ধতি:
- ডিভাইস মোড গ্লোবাল সেট করার পদ্ধতি:
setPreferredNetworkTypeToGlobal
। - ডিভাইস বা নেটওয়ার্ক পরিচয় পাওয়ার পদ্ধতি:
- আন্তর্জাতিক মোবাইল ইকুইপমেন্ট আইডেন্টিটি (IMEI):
getImei
- মোবাইল ইকুইপমেন্ট আইডেন্টিফায়ার (MEID):
getMeid
- নেটওয়ার্ক অ্যাক্সেস আইডেন্টিফায়ার (NAI):
getNai
- সিম সিরিয়াল নম্বর:
getSimSerialNumber
- আন্তর্জাতিক মোবাইল ইকুইপমেন্ট আইডেন্টিটি (IMEI):
- ক্যারিয়ার কনফিগারেশন পাওয়ার পদ্ধতি:
getCarrierConfig
- ডেটা ট্রান্সমিশনের জন্য নেটওয়ার্ক টাইপ পাওয়ার পদ্ধতি:
getDataNetworkType
- ভয়েস পরিষেবার জন্য নেটওয়ার্কের ধরন পাওয়ার পদ্ধতি:
getVoiceNetworkType
- ইউআইসিসি সিম (ইউএসআইএম) অ্যাপ সম্পর্কে তথ্য পাওয়ার পদ্ধতি:
- সিম সিরিয়াল নম্বর:
getSimSerialNumber
- কার্ড তথ্য:
getUiccCardsInfo
- GID1 (গ্রুপ আইডি লেভেল1):
getGroupIdLevel1
- লাইন 1 এর জন্য ফোন নম্বর স্ট্রিং:
getLine1Number
- নিষিদ্ধ পাবলিক ল্যান্ড মোবাইল নেটওয়ার্ক (PLMN):
getForbiddenPlmns
- সমতুল্য হোম PLMN:
getEquivalentHomePlmns
- সিম সিরিয়াল নম্বর:
- ভয়েসমেল নম্বর পেতে বা সেট করার পদ্ধতি:
- বিশেষ ডায়লার কোড পাঠানোর পদ্ধতি:
sendDialerSpecialCode
- রেডিও মডেম রিসেট করার পদ্ধতি:
rebootModem
- নেটওয়ার্ক নির্বাচন মোড পেতে বা সেট করার পদ্ধতি:
- একটি নেটওয়ার্ক স্ক্যান অনুরোধ করার পদ্ধতি:
requestNetworkScan
- অনুমোদিত/পছন্দের নেটওয়ার্ক প্রকারগুলি পেতে বা সেট করার পদ্ধতি:
- ব্যবহারকারীর সেটিংস প্রতি মোবাইল ডেটা বা রোমিং সক্ষম কিনা তা পরীক্ষা করার পদ্ধতি:
- কারণ সহ ডেটা সংযোগ পরীক্ষা বা সেট করার পদ্ধতি:
- জরুরী নম্বর তালিকা পেতে পদ্ধতি:
getEmergencyNumberList
- সুবিধাবাদী নেটওয়ার্ক নিয়ন্ত্রণ করার পদ্ধতি:
- সেলুলার সিগন্যাল শক্তি আপডেট অনুরোধ সেট বা সাফ করার পদ্ধতি:
টেলিফোনি কলব্যাক
TelephonyCallback
একটি কলব্যাক পদ্ধতির সাথে ইন্টারফেস রয়েছে যখন নিবন্ধিত অবস্থাগুলি পরিবর্তন হয় তখন কলিং অ্যাপকে অবহিত করতে:
- বার্তা অপেক্ষা সূচক পরিবর্তিত হয়েছে:
onMessageWaitingIndicatorChanged
- কল ফরওয়ার্ডিং সূচক পরিবর্তিত হয়েছে:
onCallForwardingIndicatorChanged
- IP মাল্টিমিডিয়া সিস্টেম (IMS) কল বিচ্ছিন্ন হওয়ার কারণ পরিবর্তিত হয়েছে:
onImsCallDisconnectCauseChanged
- সুনির্দিষ্ট ডেটা সংযোগের অবস্থা পরিবর্তিত হয়েছে:
onPreciseDataConnectionStateChanged
- বর্তমান জরুরি নম্বর তালিকা পরিবর্তিত হয়েছে:
onEmergencyNumberListChanged
- সক্রিয় ডেটা সাবস্ক্রিপশন আইডি পরিবর্তিত হয়েছে:
onActiveDataSubscriptionIdChanged
- ক্যারিয়ার নেটওয়ার্ক পরিবর্তিত হয়েছে:
onCarrierNetworkChange
- নেটওয়ার্ক নিবন্ধন বা একটি অবস্থান/রাউটিং/ট্র্যাকিং এলাকা আপডেট ব্যর্থ হয়েছে:
onRegistrationFailed
ব্যর্থ হয়েছে - ব্যারিং তথ্য পরিবর্তন:
onBarringInfoChanged
- বর্তমান ভৌত চ্যানেল কনফিগারেশন পরিবর্তিত হয়েছে:
onPhysicalChannelConfigChanged
সাবস্ক্রিপশন ম্যানেজার
- বিভিন্ন সাবস্ক্রিপশন তথ্য পাওয়ার পদ্ধতি:
- সক্রিয় সদস্যতার সংখ্যা পাওয়ার পদ্ধতি:
getActiveSubscriptionInfoCount
- সদস্যতা গ্রুপ পরিচালনা করার পদ্ধতি:
- একটি ক্যারিয়ার এবং একটি নির্দিষ্ট গ্রাহকের মধ্যে বিলিং সম্পর্ক পরিকল্পনার বিবরণ পেতে বা সেট করার পদ্ধতি:
- অস্থায়ীভাবে একটি ক্যারিয়ার এবং একটি নির্দিষ্ট গ্রাহকের মধ্যে বিলিং সম্পর্ক পরিকল্পনা ওভাররাইড করার পদ্ধতি যা মিটারবিহীন বলে বিবেচিত হবে:
setSubscriptionOverrideUnmetered
- অস্থায়ীভাবে একটি ক্যারিয়ার এবং একটি নির্দিষ্ট গ্রাহকের মধ্যে বিলিং সম্পর্ক পরিকল্পনাকে ওভাররাইড করার পদ্ধতি যা কনজেস্টেড বলে বিবেচিত হবে:
setSubscriptionOverrideCongested
- প্রদত্ত প্রসঙ্গ সহ অ্যাপটি তার মেটাডেটা অনুসারে প্রদত্ত সাবস্ক্রিপশন পরিচালনা করার জন্য অনুমোদিত কিনা তা পরীক্ষা করার পদ্ধতি:
canManageSubscription
এসএমএস ম্যানেজার
- কলকারীকে নতুন ইনকামিং এসএমএস বার্তা তৈরি করতে দেওয়ার পদ্ধতি:
injectSmsPdu
। - SMS প্রদানকারীতে না লিখে একটি পাঠ্য ভিত্তিক SMS বার্তা পাঠানোর পদ্ধতি:
sendTextMessageWithoutPersisting
CarrierConfigManager
- কনফিগারেশন পরিবর্তিত বিজ্ঞপ্তি দেওয়ার পদ্ধতি:
notifyConfigChangedForSubId
। - ডিফল্ট সাবস্ক্রিপশনের জন্য ক্যারিয়ার কনফিগারেশন পাওয়ার পদ্ধতি:
getConfig
- নির্দিষ্ট সাবস্ক্রিপশনের জন্য ক্যারিয়ার কনফিগারেশন পাওয়ার পদ্ধতি:
getConfigForSubId
নির্দেশাবলীর জন্য, ক্যারিয়ার কনফিগারেশন দেখুন।
BugreportManager
একটি কানেক্টিভিটি বাগ রিপোর্ট শুরু করার পদ্ধতি, যা বাগ রিপোর্টের একটি বিশেষ সংস্করণ যাতে সংযোগ সংক্রান্ত সমস্যাগুলি ডিবাগ করার জন্য শুধুমাত্র তথ্য অন্তর্ভুক্ত থাকে: startConnectivityBugreport
নেটওয়ার্ক স্ট্যাটস ম্যানেজার
- নেটওয়ার্ক ব্যবহারের সারাংশ জিজ্ঞাসা করার পদ্ধতি:
querySummary
- নেটওয়ার্ক ব্যবহারের ইতিহাস জিজ্ঞাসা করার পদ্ধতি:
queryDetails
- নেটওয়ার্ক ব্যবহার কলব্যাক নিবন্ধন বা নিবন্ধনমুক্ত করার পদ্ধতি:
ImsMmTelManager
- IMS MmTel রেজিস্ট্রেশন কলব্যাক নিবন্ধন বা নিবন্ধনমুক্ত করার পদ্ধতি:
ImsRcsManager
- IMS RCS রেজিস্ট্রেশন কলব্যাক নিবন্ধন বা নিবন্ধনমুক্ত করার পদ্ধতি:
- IMS রেজিস্ট্রেশন স্টেট বা পরিবহনের ধরন পাওয়ার পদ্ধতি:
প্রভিশনিং ম্যানেজার
- IMS ফিচার প্রভিশনিং আপডেট কলব্যাক নিবন্ধন এবং আনরেজিস্টার করার পদ্ধতি:
- আইএমএস এমএমটেল বা আরসিএস ক্ষমতার জন্য প্রভিশনিং স্ট্যাটাস সম্পর্কিত পদ্ধতি:
EuiccManager
প্রদত্ত সাবস্ক্রিপশনে স্যুইচ করার (সক্ষম) পদ্ধতি: switchToSubscription
ক্যারিয়ার মেসেজিং সার্ভিস
পরিষেবা যা নতুন এসএমএস এবং এমএমএস পাঠানো বা গ্রহণ করা হলে সিস্টেম থেকে কল গ্রহণ করে। এই ক্লাসটি প্রসারিত করতে, android.Manifest.permission#BIND_CARRIER_MESSAGING_SERVICE
অনুমতি সহ আপনার ম্যানিফেস্ট ফাইলে পরিষেবাটি ঘোষণা করুন এবং #SERVICE_INTERFACE
অ্যাকশন সহ একটি অভিপ্রায় ফিল্টার অন্তর্ভুক্ত করুন। পদ্ধতি অন্তর্ভুক্ত:
- ইনবাউন্ড এসএমএস বার্তা ফিল্টার করার পদ্ধতি:
onFilterSms
- ডিভাইস থেকে পাঠানো টেক্সট এসএমএস বার্তা আটকানোর পদ্ধতি:
onSendTextSms
- ডিভাইস থেকে প্রেরিত বাইনারি এসএমএস বার্তা আটকানোর পদ্ধতি:
onSendDataSms
- ডিভাইস থেকে প্রেরিত দীর্ঘ এসএমএস বার্তা আটকানোর পদ্ধতি:
onSendMultipartTextSms
- ডিভাইস থেকে প্রেরিত MMS বার্তা আটকানোর পদ্ধতি:
onSendMms
- প্রাপ্ত MMS বার্তাগুলি ডাউনলোড করার পদ্ধতি:
onDownloadMms
ক্যারিয়ার সার্ভিস
পরিষেবা যা সিস্টেমে ক্যারিয়ার-নির্দিষ্ট কার্যকারিতা প্রকাশ করে৷ এই ক্লাসটি প্রসারিত করতে, android.Manifest.permission#BIND_CARRIER_SERVICES
অনুমতি সহ অ্যাপ ম্যানিফেস্ট ফাইলে পরিষেবাটি ঘোষণা করুন এবং CARRIER_SERVICE_INTERFACE
অ্যাকশন সহ একটি অভিপ্রায় ফিল্টার অন্তর্ভুক্ত করুন। যদি পরিষেবাটির দীর্ঘস্থায়ী বাইন্ডিং থাকে, তাহলে পরিষেবার মেটাডেটাতে android.service.carrier.LONG_LIVED_BINDING
কে true
হিসাবে সেট করুন৷
প্ল্যাটফর্মটি CarrierService
বিশেষ পতাকা দিয়ে আবদ্ধ করে যাতে ক্যারিয়ার পরিষেবা প্রক্রিয়াটিকে একটি বিশেষ অ্যাপ স্ট্যান্ডবাই বালতিতে চলতে দেয়৷ এটি ক্যারিয়ার পরিষেবা অ্যাপটিকে অ্যাপ নিষ্ক্রিয় সীমাবদ্ধতা থেকে অব্যাহতি দেয় এবং ডিভাইসের মেমরি কম থাকলে এটি জীবিত থাকার সম্ভাবনা বেশি করে। যাইহোক, ক্যারিয়ার পরিষেবা অ্যাপটি কোনো কারণে ক্র্যাশ হলে, অ্যাপটি পুনরায় চালু না হওয়া পর্যন্ত এবং বাইন্ডিং পুনঃস্থাপিত না হওয়া পর্যন্ত এটি উপরের সমস্ত সুবিধা হারায়। তাই ক্যারিয়ার পরিষেবা অ্যাপটিকে স্থিতিশীল রাখা গুরুত্বপূর্ণ।
CarrierService
এর পদ্ধতিগুলির মধ্যে রয়েছে:
- ক্যারিয়ার নির্দিষ্ট কনফিগারেশন ওভাররাইড এবং সেট করতে:
onLoadConfig
- ক্যারিয়ার অ্যাপ দ্বারা একটি ইচ্ছাকৃত আসন্ন ক্যারিয়ার নেটওয়ার্ক পরিবর্তনের সিস্টেমকে অবহিত করতে:
notifyCarrierNetworkChange
টেলিফোন প্রদানকারী
টেলিফোনি ডাটাবেসে পরিবর্তন (সন্নিবেশ, মুছে, আপডেট, ক্যোয়ারী) করার অনুমতি দেওয়ার জন্য সামগ্রী প্রদানকারী APIs। Telephony.Carriers
এ মান ক্ষেত্র সংজ্ঞায়িত করা হয়; আরও বিস্তারিত জানার জন্য, Telephony
ক্লাস রেফারেন্স পড়ুন
WifiNetwork সাজেশন
একটি WifiNetworkSuggestion
অবজেক্ট তৈরি করার সময়, একটি সাবস্ক্রিপশন আইডি বা একটি সদস্যতা গোষ্ঠী সেট করতে নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করুন:
- সাবস্ক্রিপশন আইডি সেট করার পদ্ধতি:
setSubscriptionId
- একটি সাবস্ক্রিপশন গ্রুপ সেট করতে Metohd:
setSubscriptionGroup
অ্যান্ড্রয়েড প্ল্যাটফর্ম
একটি শনাক্ত করা UICC-এ, প্ল্যাটফর্মটি অভ্যন্তরীণ UICC অবজেক্ট তৈরি করে যা UICC-এর অংশ হিসেবে ক্যারিয়ারের বিশেষাধিকার বিধি অন্তর্ভুক্ত করে। UiccCarrierPrivilegeRules.java
নিয়ম লোড করে, UICC কার্ড থেকে পার্স করে এবং মেমরিতে ক্যাশ করে। যখন একটি বিশেষাধিকার চেকের প্রয়োজন হয়, তখন UiccCarrierPrivilegeRules
কলার শংসাপত্রটিকে তার নিজস্ব নিয়মগুলির সাথে একে একে তুলনা করে। UICC সরানো হলে, নিয়মগুলি UICC অবজেক্টের সাথে ধ্বংস হয়ে যাবে।
বৈধতা
CtsCarrierApiTestCases.apk
ব্যবহার করে কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS) এর মাধ্যমে বাস্তবায়নকে যাচাই করতে, আপনার অবশ্যই সঠিক UICC নিয়ম বা ARF সমর্থন সহ একজন বিকাশকারী UICC থাকতে হবে। আপনার পছন্দের সিম কার্ড বিক্রেতাকে এই বিভাগে বর্ণিত সঠিক ARF সহ একটি বিকাশকারী UICC প্রস্তুত করতে বলুন এবং পরীক্ষা চালানোর জন্য সেই UICC ব্যবহার করুন৷ CTS পরীক্ষা পাস করার জন্য UICC-এর সক্রিয় সেলুলার পরিষেবার প্রয়োজন নেই।
UICC প্রস্তুত করুন
Android 11 এবং তার নিচের সংস্করণের জন্য, CtsCarrierApiTestCases.apk
হ্যাশ মান 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
সহ aosp-testkey
দ্বারা স্বাক্ষরিত 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
।
Android 12 থেকে শুরু করে, CtsCarrierApiTestCases.apk
cts-uicc-2021-testkey
, হ্যাশ মান CE:7B:2B:47:AE:2B:75:52:C8:F9:2C:C2:91:24:27:98:83:04:1F:B6:23:A5:F1:94:A8:2C:9B:F1:5D:49:2A:A0
দ্বারা স্বাক্ষরিত CE:7B:2B:47:AE:2B:75:52:C8:F9:2C:C2:91:24:27:98:83:04:1F:B6:23:A5:F1:94:A8:2C:9B:F1:5D:49:2A:A0
।
অ্যান্ড্রয়েড 12-এ CTS ক্যারিয়ার API পরীক্ষা চালানোর জন্য, ডিভাইসটিকে তৃতীয় পক্ষের GSMA TS.48 টেস্ট প্রোফাইল স্পেসিফিকেশনের সর্বশেষ সংস্করণে উল্লেখিত প্রয়োজনীয়তাগুলি পূরণ করে CTS ক্যারিয়ারের বিশেষাধিকার সহ একটি সিম ব্যবহার করতে হবে।
একই সিম অ্যান্ড্রয়েড 12 এর আগের সংস্করণগুলির জন্যও ব্যবহার করা যেতে পারে।
CTS সিম প্রোফাইল পরিবর্তন করুন
- যোগ করুন: অ্যাক্সেস রুল অ্যাপ মাস্টার (এআরএ-এম) বা এআরএফ-এ CTS ক্যারিয়ারের সুবিধা। উভয় স্বাক্ষরই ক্যারিয়ারের বিশেষাধিকার নিয়মে এনকোড করা আবশ্যক:
- Hash1(SHA1):
61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
- Hash2(SHA256):
CE:7B:2B:47:AE:2B:75:52:C8:F9:2C:C2:91:24:27:98:83:04:1F:B6:23:A5:F1:94:A8:2C:9B:F1:5D:49:2A:A0
- Hash1(SHA1):
- তৈরি করুন: ADF USIM প্রাথমিক ফাইল (EFs) TS.48-এ উপস্থিত নেই এবং CTS-এর জন্য প্রয়োজন:
- EF_MBDN (6FC7), রেকর্ডের আকার: 28, রেকর্ড নম্বর: 4
- বিষয়বস্তু
- Rec1: 566F696365204D61696CFFFFFFF06915155555555FF…FF
- Rec2-n: FF…FF
- বিষয়বস্তু
- EF_EXT6 (6FC8), রেকর্ড আকার: 13, রেকর্ড নম্বর: 1
- বিষয়বস্তু: 00FF...FF
- EF_MBI (6FC9), রেকর্ডের আকার: 4, রেকর্ড নম্বর: 1
- বিষয়বস্তু: Rec1: 01010101
- EF_MWIS (6FCA), রেকর্ড আকার: 5, রেকর্ড নম্বর: 1
- বিষয়বস্তু: 0000000000
- বিষয়বস্তু: 00FF...FF
- EF_MBDN (6FC7), রেকর্ডের আকার: 28, রেকর্ড নম্বর: 4
- পরিবর্তন করুন: USIM পরিষেবা টেবিল: পরিষেবাগুলি n°47, n°48 সক্ষম করুন৷
- EF_UST (6F38)
- বিষয়বস্তু:
9EFFBF1DFFFE0083410310010400406E01
- বিষয়বস্তু:
- EF_UST (6F38)
- পরিবর্তন করুন: DF-5GS এবং DF-SAIP ফাইল
- DF-5GS - EF_5GS3GPPLOCI (USIM/5FC0/4F01)
- বিষয়বস্তু:
FFFFFFFFFFFFFFFFFFFFFFFFFF42F618FFFFFE01
- বিষয়বস্তু:
- DF-5GS - EF_5GSN3GPPLOCI (USIM/5FC0/4F02)
- বিষয়বস্তু:
FFFFFFFFFFFFFFFFFFFFFFFFFF42F618FFFFFE01
- বিষয়বস্তু:
- DF-5GS - EF SUCI_Calc_Info (USIM/5FC0/4F07)
- বিষয়বস্তু:
A0020000FF…FF
- বিষয়বস্তু:
- DF-SAIP - EF SUCI_Calc_Info_USIM (USIM/5FD0/4F01)
- বিষয়বস্তু:
A0020000FF…FF
- বিষয়বস্তু:
- DF-5GS - EF_5GS3GPPLOCI (USIM/5FC0/4F01)
- পরিবর্তন করুন: এই পদবী ধারণকারী সংশ্লিষ্ট EF-তে ক্যারিয়ারের নামের স্ট্রিং অ্যান্ড্রয়েড CTS ব্যবহার করুন:
- EF_SPN (USIM/6F46)
- সামগ্রী:
01416E64726F696420435453FF..FF
- সামগ্রী:
- EF_PNN (ইউএসআইএম/6 এফসি 5)
- সামগ্রী:
Rec1 430B83413759FE4E934143EA14FF..FF
- সামগ্রী:
- EF_SPN (USIM/6F46)
পরীক্ষার প্রোফাইল কাঠামোর সাথে মেলে
নিম্নলিখিত জেনেরিক পরীক্ষার প্রোফাইল স্ট্রাকচারগুলির সর্বশেষ সংস্করণটি ডাউনলোড এবং মেলে। এই প্রোফাইলগুলিতে সিটিএস ক্যারিয়ার প্রিভিলেজ বিধি ব্যক্তিগতকৃত বা উপরে তালিকাভুক্ত অন্যান্য পরিবর্তনগুলি থাকবে না।
পরীক্ষা চালান
সুবিধার জন্য, সিটিএস একটি ডিভাইস টোকেন সমর্থন করে যা একই টোকেনের সাথে কনফিগার করা ডিভাইসগুলিতে চালানোর জন্য পরীক্ষাগুলিকে সীমাবদ্ধ করে। ক্যারিয়ার এপিআই সিটিএস পরীক্ষাগুলি ডিভাইস টোকেন sim-card-with-certs
সমর্থন করে। উদাহরণস্বরূপ, নিম্নলিখিত ডিভাইস টোকেন কেবল ডিভাইস এ abcd1234
এ চালানোর জন্য ক্যারিয়ার এপিআই পরীক্ষাগুলিকে সীমাবদ্ধ করে:
cts-tradefed run cts --device-token abcd1234:sim-card-with-certs
কোনও ডিভাইস টোকেন ব্যবহার না করে পরীক্ষা চালানোর সময়, পরীক্ষাটি সমস্ত ডিভাইসে চলে।
FAQ
ইউআইসিসিতে কীভাবে শংসাপত্রগুলি আপডেট করা যায়?
উত্তর: বিদ্যমান কার্ড ওটিএ আপডেট প্রক্রিয়াটি ব্যবহার করুন।
ইউআইসিসি কি অন্যান্য নিয়মের সাথে সহাবস্থান করতে পারে?
উত্তর: একই সহায়তার অধীনে ইউআইসিসিতে অন্যান্য সুরক্ষা বিধি থাকা ঠিক আছে; প্ল্যাটফর্মটি স্বয়ংক্রিয়ভাবে এগুলি ফিল্টার করে।
যখন কোনও অ্যাপ্লিকেশনটির জন্য ইউআইসিসি অপসারণ করা হয় যা তার শংসাপত্রগুলির উপর নির্ভর করে?
উত্তর: অ্যাপটি তার সুবিধাগুলি হারাতে পারে কারণ ইউআইসিসির সাথে সম্পর্কিত নিয়মগুলি ইউআইসিসি অপসারণে ধ্বংস হয়ে যায়।
ইউআইসিসিতে শংসাপত্রের সংখ্যার কোনও সীমা আছে কি?
উত্তর: প্ল্যাটফর্ম শংসাপত্রের সংখ্যা সীমাবদ্ধ করে না; তবে চেকটি লিনিয়ার হওয়ায় অনেকগুলি নিয়ম চেকের জন্য একটি বিলম্ব হতে পারে।
আমরা এই পদ্ধতিতে সমর্থন করতে পারি এমন এপিআই সংখ্যার সীমা আছে কি?
উত্তর: না, তবে আমরা সুযোগটি ক্যারিয়ার সম্পর্কিত এপিআইগুলিতে সীমাবদ্ধ করি।
এই পদ্ধতিটি ব্যবহার করা থেকে কিছু এপিআই নিষিদ্ধ আছে? যদি তা হয় তবে আপনি কীভাবে এগুলি প্রয়োগ করবেন? (এটি হ'ল, কোন এপিআই এই পদ্ধতিতে সমর্থিত তা বৈধ করার জন্য আপনার কি পরীক্ষা রয়েছে?)
উত্তর: অ্যান্ড্রয়েড সামঞ্জস্যতা সংজ্ঞা ডকুমেন্টের (সিডিডি) এপিআই আচরণগত সামঞ্জস্যতা বিভাগটি দেখুন। এপিআইগুলির অনুমতি মডেলটি পরিবর্তন করা হয়নি তা নিশ্চিত করার জন্য আমাদের কাছে কিছু সিটিএস পরীক্ষা রয়েছে।
এই মাল্টি-সিম বৈশিষ্ট্যটির সাথে কীভাবে কাজ করে?
উত্তর: ব্যবহারকারীর দ্বারা নির্দিষ্ট ডিফল্ট সিম ব্যবহৃত হয়।
এটি কোনওভাবেই অন্যান্য এসই অ্যাক্সেস প্রযুক্তির সাথে ইন্টারঅ্যাক্ট বা ওভারল্যাপ করে, উদাহরণস্বরূপ, সন্ধান করে?
উত্তর: উদাহরণ হিসাবে, সিক ইউআইসিসির মতো একই সহায়তা ব্যবহার করে। সুতরাং বিধিগুলি সহাবস্থান করে এবং অনুসন্ধান বা UiccCarrierPrivileges
দ্বারা ফিল্টার করা হয়।
ক্যারিয়ারের সুবিধাগুলি পরীক্ষা করার জন্য কখন ভাল সময়?
উত্তর: সিম স্টেট লোড সম্প্রচারের পরে।
OEMS কি ক্যারিয়ার এপিআইয়ের অংশ অক্ষম করতে পারে?
উত্তর: না। আমরা বিশ্বাস করি যে বর্তমান এপিআইগুলি ন্যূনতম সেট এবং আমরা ভবিষ্যতে সূক্ষ্ম গ্রানুলারিটি নিয়ন্ত্রণের জন্য বিট মাস্কটি ব্যবহার করার পরিকল্পনা করছি।
setOperatorBrandOverride
অপারেটর নাম স্ট্রিংয়ের অন্যান্য সমস্ত রূপকে ওভাররাইড করে? উদাহরণস্বরূপ, এসই 13, ইউআইসিসি এসপিএন, বা নেটওয়ার্ক-ভিত্তিক এনআইটিজেড?
হ্যাঁ, অপারেটর ব্র্যান্ড ওভাররাইডের সর্বোচ্চ অগ্রাধিকার রয়েছে। এটি সেট হয়ে গেলে, এটি অপারেটর নাম স্ট্রিংগুলির অন্যান্য সমস্ত ফর্মকে ওভাররাইড করে।
injectSmsPdu
পদ্ধতি কলটি কী করে?
উত্তর: এই পদ্ধতিটি মেঘে এসএমএস ব্যাকআপ/পুনরুদ্ধারকে সহায়তা করে। injectSmsPdu
কলটি পুনরুদ্ধার ফাংশন সক্ষম করে।
এসএমএস ফিল্টারিংয়ের জন্য, এসএমএস ইউডিএইচ পোর্ট ফিল্টারিংয়ের উপর ভিত্তি করে onFilterSms
কল কি? বা ক্যারিয়ার অ্যাপ্লিকেশনগুলির সমস্ত আগত এসএমএসে অ্যাক্সেস রয়েছে?
উত্তর: ক্যারিয়ারের সমস্ত এসএমএস ডেটাতে অ্যাক্সেস রয়েছে।
32 বাইটকে সমর্থন করার জন্য DeviceAppID-REF-DO
এক্সটেনশনটি বর্তমান জিপি স্পেকের (যা কেবলমাত্র 0 বা 20 বাইটের অনুমতি দেয়) এর সাথে বেমানান বলে মনে হয়, তবে আপনি কেন এই পরিবর্তনটি প্রবর্তন করছেন? সংঘর্ষ এড়ানোর জন্য শা -১ কি যথেষ্ট নয়? আপনি কি ইতিমধ্যে জিপিতে এই পরিবর্তনটি প্রস্তাব করেছেন, কারণ এটি বিদ্যমান এআরএ-এম/এআরএফের সাথে পিছনে বেমানান হতে পারে?
উত্তর: ভবিষ্যত-প্রমাণ সুরক্ষা প্রদানের জন্য, এই এক্সটেনশনটি SHA-1 ছাড়াও DeviceAppID-REF-DO
জন্য SHA-256 প্রবর্তন করে, যা বর্তমানে জিপি এসইসি স্ট্যান্ডার্ডের একমাত্র বিকল্প। আমরা SHA-256 ব্যবহার করার পরামর্শ দিই।
যদি DeviceAppID
0 (খালি) হয় তবে আপনি কি কোনও নির্দিষ্ট নিয়ম দ্বারা আচ্ছাদিত নয় এমন সমস্ত ডিভাইস অ্যাপ্লিকেশনগুলিতে নিয়মটি প্রয়োগ করেন?
উত্তর: ক্যারিয়ার এপিআইগুলির জন্য DeviceAppID-REF-DO
জনবহুল হওয়া দরকার। খালি হওয়া পরীক্ষার উদ্দেশ্যে তৈরি এবং অপারেশনাল মোতায়েনের জন্য প্রস্তাবিত নয়।
আপনার অনুমান অনুসারে, PKG-REF-DO
কেবল নিজেই ব্যবহার করেছেন, DeviceAppID-REF-DO
ছাড়াই, গ্রহণ করা উচিত নয়। তবে এটি এখনও স্পেসিফিকেশনের সারণী 6-4-এ বর্ণিত হয়েছে REF-DO
সংজ্ঞা বাড়িয়ে। এটা কি উদ্দেশ্য? যখন কেবল PKG-REF-DO
REF-DO
ব্যবহৃত হয় তখন কোডটি কীভাবে আচরণ করে?
উত্তর: REF-DO
তে একক মান আইটেম হিসাবে PKG-REF-DO
থাকার বিকল্পটি সর্বশেষ সংস্করণে সরানো হয়েছিল। PKG-REF-DO
কেবলমাত্র DeviceAppID-REF-DO
সাথে সংমিশ্রণে হওয়া উচিত।
আমরা ধরে নিই যে আমরা সমস্ত ক্যারিয়ার-ভিত্তিক অনুমতিগুলিতে অ্যাক্সেস দিতে পারি বা সূক্ষ্ম-দানাযুক্ত নিয়ন্ত্রণ রাখতে পারি। যদি তা হয় তবে বিট মাস্ক এবং প্রকৃত অনুমতিগুলির মধ্যে ম্যাপিংটি কী সংজ্ঞায়িত করে? প্রতি ক্লাসে একটি অনুমতি? পদ্ধতি প্রতি একটি অনুমতি? দীর্ঘমেয়াদে 64৪ টি পৃথক অনুমতি কি যথেষ্ট?
উত্তর: এটি ভবিষ্যতের জন্য সংরক্ষিত, এবং আমরা পরামর্শগুলি স্বাগত জানাই।
আপনি কি আরও বিশেষভাবে অ্যান্ড্রয়েডের জন্য DeviceAppID
আরও সংজ্ঞায়িত করতে পারেন? এটি প্রদত্ত অ্যাপ্লিকেশনটিতে স্বাক্ষর করতে ব্যবহৃত প্রকাশক শংসাপত্রের শা -1 (20 বাইট) হ্যাশ মান, সুতরাং নামটি কি সেই উদ্দেশ্যটি প্রতিফলিত করা উচিত নয়? (নামটি অনেক পাঠকের কাছে বিভ্রান্ত হতে পারে কারণ নিয়মটি সেই একই প্রকাশক শংসাপত্রের সাথে স্বাক্ষরিত সমস্ত অ্যাপ্লিকেশনগুলির জন্য প্রযোজ্য))
উত্তর: DeviceAppID
স্টোরিং শংসাপত্রগুলি বিদ্যমান অনুমান দ্বারা সমর্থিত। আমরা গ্রহণের জন্য বাধা কমিয়ে আনতে স্পেক পরিবর্তনগুলি হ্রাস করার চেষ্টা করেছি। বিশদের জন্য, ইউআইসিসির বিধি দেখুন।
অ্যান্ড্রয়েড 5.1 ইউনিভার্সাল ইন্টিগ্রেটেড সার্কিট কার্ড (ইউআইসিসি) অ্যাপ্লিকেশনগুলির মালিকদের সাথে প্রাসঙ্গিক এপিআইগুলির জন্য বিশেষ সুযোগ -সুবিধা দেওয়ার জন্য একটি ব্যবস্থা চালু করেছে। অ্যান্ড্রয়েড প্ল্যাটফর্মটি একটি ইউআইসিসিতে সঞ্চিত শংসাপত্রগুলি লোড করে এবং এই শংসাপত্রগুলি দ্বারা স্বাক্ষরিত অ্যাপ্লিকেশনগুলিকে মুষ্টিমেয় বিশেষ এপিআইগুলিতে কল করার জন্য অনুমতি দেয়।
অ্যান্ড্রয়েড .0.০ ইউআইসিসি ক্যারিয়ার প্রিভিলেজ বিধিগুলির জন্য অন্যান্য স্টোরেজ উত্সগুলিকে সমর্থন করার জন্য এই বৈশিষ্ট্যটি প্রসারিত করেছে, এপিআইগুলি ব্যবহার করতে পারে এমন ক্যারিয়ারের সংখ্যা নাটকীয়ভাবে বৃদ্ধি করে। একটি এপিআই রেফারেন্সের জন্য, ক্যারিয়ার কনফিগম্যানেজার দেখুন; নির্দেশাবলীর জন্য, ক্যারিয়ার কনফিগারেশন দেখুন।
ক্যারিয়ারগুলির ইউআইসিসির সম্পূর্ণ নিয়ন্ত্রণ রয়েছে, সুতরাং এই প্রক্রিয়াটি ডিভাইসগুলিতে বিশেষ সুযোগ -সুবিধাগুলি ধরে রাখার সময় জেনেরিক অ্যাপ বিতরণ চ্যানেলগুলিতে (যেমন গুগল প্লে) হোস্ট করা মোবাইল নেটওয়ার্ক অপারেটর (এমএনও) থেকে অ্যাপ্লিকেশনগুলি পরিচালনা করার জন্য একটি সুরক্ষিত এবং নমনীয় উপায় সরবরাহ করে সিস্টেম অ্যাপ্লিকেশন হিসাবে প্রতি-ডিভাইস প্ল্যাটফর্ম শংসাপত্র বা প্রিনস্টল সহ অ্যাপ্লিকেশনগুলিতে স্বাক্ষর করতে।
ইউআইসিসি উপর বিধি
ইউআইসিসিতে স্টোরেজ গ্লোবালপ্ল্যাটফর্ম সুরক্ষিত উপাদান অ্যাক্সেস নিয়ন্ত্রণ স্পেসিফিকেশনের সাথে সামঞ্জস্যপূর্ণ। কার্ডে অ্যাপ আইডেন্টিফায়ার (এইড) A00000015141434C00
, এবং স্ট্যান্ডার্ড GET DATA
কমান্ডটি কার্ডে সঞ্চিত নিয়ম আনতে ব্যবহৃত হয়। আপনি কার্ড ওভার-দ্য এয়ার (ওটিএ) আপডেটের মাধ্যমে এই নিয়মগুলি আপডেট করতে পারেন।
ডেটা হায়ারার্কি
ইউআইসিসি বিধিগুলি নিম্নলিখিত ডেটা হায়ারার্কি ব্যবহার করে (বন্ধনীগুলিতে দ্বি-চরিত্রের চিঠি এবং নম্বর সংমিশ্রণটি হ'ল অবজেক্ট ট্যাগ)। প্রতিটি নিয়ম REF-AR-DO
( E2
) এবং REF-DO
এবং AR-DO
এর একটি সংমিশ্রণ নিয়ে গঠিত:
-
REF-DO
(E1
) এDeviceAppID-REF-DO
বাDeviceAppID-REF-DO
এবংPKG-REF-DO
একটি সংক্ষিপ্তকরণ রয়েছে।-
DeviceAppID-REF-DO
(C1
) শংসাপত্রের SHA-1 (20 বাইট) বা SHA-256 (32 বাইট) স্বাক্ষর সংরক্ষণ করে। -
PKG-REF-DO
(CA
) হ'ল ম্যানিফেস্টে সংজ্ঞায়িত সম্পূর্ণ প্যাকেজ নাম স্ট্রিং, এএসসিআইআই এনকোডড, সর্বোচ্চ দৈর্ঘ্য 127 বাইট।
-
-
AR-DO
(E3
)PERM-AR-DO
(DB
) অন্তর্ভুক্ত করার জন্য প্রসারিত করা হয়েছে, যা একটি 8-বাইট বিট মাস্ক যা 64৪ টি পৃথক অনুমতি উপস্থাপন করে।
যদি PKG-REF-DO
উপস্থিত না থাকে তবে শংসাপত্রের দ্বারা স্বাক্ষরিত কোনও অ্যাপ্লিকেশনকে অ্যাক্সেস দেওয়া হয়; অন্যথায় শংসাপত্র এবং প্যাকেজের নাম উভয়ই মেলে।
নিয়ম উদাহরণ
অ্যাপের নামটি com.google.android.apps.myapp
এবং হেক্স স্ট্রিংয়ে SHA-1 শংসাপত্রটি:
AB:CD:92:CB:B1:56:B2:80:FA:4E:14:29:A6:EC:EE:B6:E5:C1:BF:E4
হেক্স স্ট্রিংয়ে ইউআইসিসির নিয়মটি হ'ল:
E243 <= 43 is value length in hex E135 C114 ABCD92CBB156B280FA4E1429A6ECEEB6E5C1BFE4 CA1D 636F6D2E676F6F676C652E616E64726F69642E617070732E6D79617070 E30A DB08 0000000000000001
অ্যাক্সেস নিয়ম ফাইল সমর্থন
অ্যান্ড্রয়েড 7.0 অ্যাক্সেস রুল ফাইল (এআরএফ) থেকে ক্যারিয়ার প্রিভিলেজ বিধিগুলি পড়ার জন্য সমর্থন যুক্ত করে।
অ্যান্ড্রয়েড প্ল্যাটফর্মটি প্রথমে অ্যাক্সেস রুল অ্যাপ্লিকেশন (এআরএ) সহায়তা A00000015141434C00
নির্বাচন করার চেষ্টা করে। যদি এটি ইউআইসিসিতে সহায়তা খুঁজে না পায় তবে এটি পিকেসিএস 15 এইড A000000063504B43532D3135
এ সহায়তা নির্বাচন করে এআরএফ -এ ফিরে আসে। Android then reads the access control rules file (ACRF) at 0x4300
and looks for entries with AID FFFFFFFFFFFF
. বিভিন্ন এইডসযুক্ত এন্ট্রিগুলি উপেক্ষা করা হয়, সুতরাং অন্যান্য ব্যবহারের ক্ষেত্রে নিয়মগুলি সহাবস্থান করতে পারে।
হেক্স স্ট্রিংয়ে এসিআরএফ সামগ্রী উদাহরণ:
30 10 A0 08 04 06 FF FF FF FF FF FF 30 04 04 02 43 10
উদাহরণ অ্যাক্সেস নিয়ন্ত্রণ শর্তাবলী ফাইল (এসিসিএফ) সামগ্রী:
30 16 04 14 61 ED 37 7E 85 D3 86 A8 DF EE 6B 86 4B D8 5B 0B FA A5 AF 81
উপরের উদাহরণে, 0x4310
হ'ল এসিসিএফের ঠিকানা, এতে শংসাপত্র রয়েছে হ্যাশ 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
। এই শংসাপত্র দ্বারা স্বাক্ষরিত অ্যাপ্লিকেশনগুলিকে ক্যারিয়ার সুবিধা দেওয়া হয়।
সক্ষম এপিআই
অ্যান্ড্রয়েড নিম্নলিখিত এপিআইগুলিকে সমর্থন করে।
টেলিফোনি ম্যানেজার
- ক্যারিয়ার অ্যাপটিকে ইউআইসিসিকে একটি চ্যালেঞ্জ/প্রতিক্রিয়া জিজ্ঞাসা করার জন্য পদ্ধতি:
getIccAuthentication
। - কলিং অ্যাপটিকে ক্যারিয়ার সুবিধাগুলি দেওয়া হয়েছে কিনা তা যাচাই করার পদ্ধতি:
hasCarrierPrivileges
। - ব্র্যান্ড এবং নম্বর ওভাররাইড করার পদ্ধতি:
- সরাসরি ইউআইসিসি যোগাযোগের পদ্ধতি:
- গ্লোবাল এ ডিভাইস মোড সেট করার পদ্ধতি:
setPreferredNetworkTypeToGlobal
। - ডিভাইস বা নেটওয়ার্ক পরিচয় পেতে পদ্ধতি:
- আন্তর্জাতিক মোবাইল সরঞ্জাম পরিচয় (আইএমইআই):
getImei
- মোবাইল সরঞ্জাম শনাক্তকারী (এমইআইডি):
getMeid
- নেটওয়ার্ক অ্যাক্সেস আইডেন্টিফায়ার (এনএআই):
getNai
- সিম সিরিয়াল নম্বর:
getSimSerialNumber
- আন্তর্জাতিক মোবাইল সরঞ্জাম পরিচয় (আইএমইআই):
- ক্যারিয়ার কনফিগারেশন পাওয়ার পদ্ধতি:
getCarrierConfig
- ডেটা ট্রান্সমিশনের জন্য নেটওয়ার্ক টাইপ পাওয়ার পদ্ধতি:
getDataNetworkType
- ভয়েস পরিষেবার জন্য নেটওয়ার্ক টাইপ পাওয়ার পদ্ধতি:
getVoiceNetworkType
- ইউআইসিসি সিম (ইউএসআইএম) অ্যাপ্লিকেশন সম্পর্কে তথ্য পাওয়ার পদ্ধতি:
- সিম সিরিয়াল নম্বর:
getSimSerialNumber
- কার্ডের তথ্য:
getUiccCardsInfo
- জিআইডি 1 (গ্রুপ আইডি স্তর 1):
getGroupIdLevel1
- লাইন 1 এর জন্য ফোন নম্বর স্ট্রিং:
getLine1Number
- নিষিদ্ধ পাবলিক ল্যান্ড মোবাইল নেটওয়ার্ক (পিএলএমএন):
getForbiddenPlmns
- সমতুল্য হোম পিএলএমএন:
getEquivalentHomePlmns
- সিম সিরিয়াল নম্বর:
- ভয়েসমেইল নম্বর পেতে বা সেট করার পদ্ধতি:
- বিশেষ ডায়ালার কোড প্রেরণের পদ্ধতি:
sendDialerSpecialCode
- রেডিও মডেমটি পুনরায় সেট করার পদ্ধতি:
rebootModem
- নেটওয়ার্ক নির্বাচন মোডগুলি পেতে বা সেট করার পদ্ধতি:
- একটি নেটওয়ার্ক স্ক্যানের জন্য অনুরোধ করার পদ্ধতি:
requestNetworkScan
- অনুমোদিত/পছন্দসই নেটওয়ার্ক প্রকারগুলি পেতে বা সেট করার পদ্ধতি:
- ব্যবহারকারী সেটিংসে মোবাইল ডেটা বা রোমিং সক্ষম হয়েছে কিনা তা যাচাই করার পদ্ধতিগুলি:
- কারণগুলির সাথে ডেটা সংযোগ যাচাই বা সেট করার পদ্ধতি:
- জরুরী নম্বর তালিকা পেতে পদ্ধতি:
getEmergencyNumberList
- সুবিধাবাদী নেটওয়ার্কগুলি নিয়ন্ত্রণ করার পদ্ধতি:
- সেলুলার সিগন্যাল শক্তি আপডেট অনুরোধ সেট বা সাফ করার পদ্ধতি:
টেলিফোনি কলব্যাক
TelephonyCallback
নিবন্ধিত রাষ্ট্রগুলি পরিবর্তিত হলে কলিং অ্যাপটিকে অবহিত করার জন্য একটি কলব্যাক পদ্ধতির সাথে ইন্টারফেস রয়েছে:
- বার্তা অপেক্ষার সূচক পরিবর্তিত হয়েছে:
onMessageWaitingIndicatorChanged
- কল ফরোয়ার্ডিং সূচক পরিবর্তিত হয়েছে:
onCallForwardingIndicatorChanged
- আইপি মাল্টিমিডিয়া সিস্টেম (আইএমএস) কল সংযোগ বিচ্ছিন্নতার কারণ পরিবর্তিত হয়েছে:
onImsCallDisconnectCauseChanged
- সুনির্দিষ্ট ডেটা সংযোগের অবস্থা পরিবর্তিত হয়েছে:
onPreciseDataConnectionStateChanged
- বর্তমান জরুরী নম্বর তালিকা পরিবর্তন হয়েছে:
onEmergencyNumberListChanged
- সক্রিয় ডেটা সাবস্ক্রিপশন আইডি পরিবর্তিত হয়েছে:
onActiveDataSubscriptionIdChanged
- ক্যারিয়ার নেটওয়ার্ক পরিবর্তন হয়েছে:
onCarrierNetworkChange
- নেটওয়ার্ক রেজিস্ট্রেশন বা একটি অবস্থান/রাউটিং/ট্র্যাকিং এরিয়া আপডেট ব্যর্থ হয়েছে:
onRegistrationFailed
- ব্যারিং তথ্য পরিবর্তন:
onBarringInfoChanged
- বর্তমান শারীরিক চ্যানেল কনফিগারেশন পরিবর্তিত হয়েছে:
onPhysicalChannelConfigChanged
সাবস্ক্রিপশন ম্যানেজার
- বিভিন্ন সাবস্ক্রিপশন তথ্য পেতে পদ্ধতি:
- সক্রিয় সাবস্ক্রিপশন সংখ্যা পেতে পদ্ধতি:
getActiveSubscriptionInfoCount
- সাবস্ক্রিপশন গ্রুপগুলি পরিচালনা করার পদ্ধতি:
- একটি ক্যারিয়ার এবং একটি নির্দিষ্ট গ্রাহকের মধ্যে বিলিং সম্পর্ক পরিকল্পনার বিবরণ পেতে বা সেট করার পদ্ধতি:
- সাময়িকভাবে কোনও ক্যারিয়ার এবং একটি নির্দিষ্ট গ্রাহকের মধ্যে বিলিং সম্পর্কের পরিকল্পনাকে ওভাররাইড করার পদ্ধতিটি আনমেটারড হিসাবে বিবেচিত হবে:
setSubscriptionOverrideUnmetered
- একটি ক্যারিয়ার এবং একটি নির্দিষ্ট গ্রাহকের মধ্যে বিলিং সম্পর্কের পরিকল্পনাটি অস্থায়ীভাবে ওভাররাইড করার পদ্ধতিটি যানজট হিসাবে বিবেচিত হবে:
setSubscriptionOverrideCongested
- প্রদত্ত প্রসঙ্গের সাথে অ্যাপটি তার মেটাডেটা অনুসারে প্রদত্ত সাবস্ক্রিপশন পরিচালনা করার জন্য অনুমোদিত কিনা তা যাচাই করার পদ্ধতি:
canManageSubscription
এসএমএসএমএসএর
- কলারকে নতুন আগত এসএমএস বার্তা তৈরি করতে দেওয়ার পদ্ধতি:
injectSmsPdu
। - এসএমএস সরবরাহকারীর মধ্যে না লিখে একটি পাঠ্য ভিত্তিক এসএমএস বার্তা প্রেরণের পদ্ধতি:
sendTextMessageWithoutPersisting
ক্যারিয়ারকনফিগম্যানেজার
- কনফিগারেশনকে অবহিত করার পদ্ধতিটি পরিবর্তিত হয়েছে:
notifyConfigChangedForSubId
। - ডিফল্ট সাবস্ক্রিপশনটির জন্য ক্যারিয়ার কনফিগারেশন পাওয়ার পদ্ধতি:
getConfig
- নির্দিষ্ট সাবস্ক্রিপশনের জন্য ক্যারিয়ার কনফিগারেশন পাওয়ার পদ্ধতি:
getConfigForSubId
নির্দেশাবলীর জন্য, ক্যারিয়ার কনফিগারেশন দেখুন।
BugreportManager
একটি কানেক্টিভিটি বাগ রিপোর্ট শুরু করার পদ্ধতি, যা বাগ রিপোর্টের একটি বিশেষ সংস্করণ যা সংযোগ সম্পর্কিত সমস্যাগুলি ডিবাগিংয়ের জন্য কেবল তথ্য অন্তর্ভুক্ত করে: startConnectivityBugreport
নেটওয়ার্ক স্ট্যাটস ম্যানেজার
- নেটওয়ার্ক ব্যবহারের সংক্ষিপ্তসারটি জিজ্ঞাসা করার পদ্ধতি:
querySummary
- নেটওয়ার্ক ব্যবহারের ইতিহাস জিজ্ঞাসা করার পদ্ধতি:
queryDetails
- নেটওয়ার্ক ব্যবহার কলব্যাক নিবন্ধন বা নিবন্ধভুক্ত করার পদ্ধতি:
ImsMmTelManager
- আইএমএস এমএমটিএল রেজিস্ট্রেশন কলব্যাক নিবন্ধন বা নিবন্ধভুক্ত করার পদ্ধতি:
ImsRcsManager
- আইএমএস আরসিএস রেজিস্ট্রেশন কলব্যাক নিবন্ধন বা নিবন্ধন করার পদ্ধতি:
- আইএমএস রেজিস্ট্রেশন রাষ্ট্র বা পরিবহণের ধরণ পাওয়ার পদ্ধতি:
প্রভিশন ম্যানেজার
- আইএমএস নিবন্ধন এবং নিবন্ধভুক্ত করার পদ্ধতিগুলি সরবরাহের আপডেটগুলি কলব্যাক বৈশিষ্ট্যযুক্ত:
- আইএমএস এমএমটিইএল বা আরসিএস সক্ষমতার জন্য প্রভিশন স্ট্যাটাসের সাথে সম্পর্কিত পদ্ধতিগুলি:
EuiccManager
প্রদত্ত সাবস্ক্রিপশনটিতে স্যুইচ করার পদ্ধতি: switchToSubscription
ক্যারিয়ারমেসেজিংস সার্ভিস
নতুন এসএমএস এবং এমএমএস পাঠানো বা গ্রহণ করা হলে সিস্টেম থেকে কলগুলি গ্রহণ করে এমন পরিষেবা। এই শ্রেণিটি প্রসারিত করতে, আপনার ম্যানিফেস্ট ফাইলে পরিষেবাটি android.Manifest.permission#BIND_CARRIER_MESSAGING_SERVICE
অনুমতি দিয়ে ঘোষণা করুন এবং #SERVICE_INTERFACE
ইন্টারফেস অ্যাকশন সহ একটি অভিপ্রায় ফিল্টার অন্তর্ভুক্ত করুন। পদ্ধতি অন্তর্ভুক্ত:
- ইনবাউন্ড এসএমএস বার্তাগুলি ফিল্টার করার পদ্ধতি:
onFilterSms
- ডিভাইস থেকে প্রেরিত পাঠ্য এসএমএস বার্তাগুলি বাধা দেওয়ার পদ্ধতি:
onSendTextSms
- ডিভাইস থেকে প্রেরিত বাইনারি এসএমএস বার্তাগুলিকে বাধা দেওয়ার পদ্ধতি:
onSendDataSms
- ডিভাইস থেকে প্রেরিত দীর্ঘ এসএমএস বার্তাগুলি বাধা দেওয়ার পদ্ধতি:
onSendMultipartTextSms
- ডিভাইস থেকে প্রেরিত এমএমএস বার্তাগুলিকে বাধা দেওয়ার পদ্ধতি:
onSendMms
- প্রাপ্ত এমএমএস বার্তাগুলি ডাউনলোড করার পদ্ধতি:
onDownloadMms
ক্যারিয়ার সার্ভিস
পরিষেবা যা সিস্টেমে ক্যারিয়ার-নির্দিষ্ট কার্যকারিতা প্রকাশ করে। এই শ্রেণিটি প্রসারিত করতে, android.Manifest.permission#BIND_CARRIER_SERVICES
অনুমতি সহ অ্যাপ্লিকেশন ম্যানিফেস্ট ফাইলে পরিষেবাটি ঘোষণা করুন এবং CARRIER_SERVICE_INTERFACE
ইন্টারফেস অ্যাকশন সহ একটি অভিপ্রায় ফিল্টার অন্তর্ভুক্ত করুন। যদি পরিষেবাটি দীর্ঘমেয়াদী বাধ্যতামূলক থাকে তবে পরিষেবার true
android.service.carrier.LONG_LIVED_BINDING
সেট করুন।
প্ল্যাটফর্মটি একটি বিশেষ অ্যাপ্লিকেশন স্ট্যান্ডবাই বালতিতে ক্যারিয়ার পরিষেবা প্রক্রিয়াটি চালানোর জন্য বিশেষ পতাকাগুলির সাথে CarrierService
আবদ্ধ করে। এটি অ্যাপ্লিকেশন নিষ্ক্রিয় সীমাবদ্ধতা থেকে ক্যারিয়ার পরিষেবা অ্যাপ্লিকেশনটিকে ছাড় দেয় এবং ডিভাইসের মেমরি কম থাকলে এটি বেঁচে থাকার সম্ভাবনা আরও বেশি করে তোলে। তবে, যদি ক্যারিয়ার পরিষেবা অ্যাপ্লিকেশনটি কোনও কারণে ক্র্যাশ হয়ে যায় তবে অ্যাপ্লিকেশনটি পুনরায় চালু না হওয়া এবং বাইন্ডিংটি পুনঃপ্রতিষ্ঠিত না হওয়া পর্যন্ত এটি উপরের সমস্ত সুবিধাগুলি হারাবে। সুতরাং ক্যারিয়ার পরিষেবা অ্যাপ্লিকেশনটি স্থিতিশীল রাখা সমালোচনা।
CarrierService
পদ্ধতিগুলির মধ্যে রয়েছে:
- ক্যারিয়ার নির্দিষ্ট কনফিগারেশনগুলি ওভাররাইড এবং সেট করতে:
onLoadConfig
- ক্যারিয়ার অ্যাপ্লিকেশন দ্বারা একটি ইচ্ছাকৃত আগত ক্যারিয়ার নেটওয়ার্ক পরিবর্তনের সিস্টেমটি অবহিত করতে:
notifyCarrierNetworkChange
টেলিফোনি সরবরাহকারী
টেলিফোনি ডাটাবেসে পরিবর্তনগুলি (সন্নিবেশ, মুছুন, আপডেট, ক্যোয়ারী) অনুমতি দেওয়ার জন্য সামগ্রী সরবরাহকারী এপিআই। মান ক্ষেত্রগুলি Telephony.Carriers
সংজ্ঞায়িত করা হয়। আরও তথ্যের জন্য, Telephony
ক্লাস রেফারেন্স দেখুন
WifiNetwork সাজেশন
একটি WifiNetworkSuggestion
অবজেক্ট তৈরি করার সময়, সাবস্ক্রিপশন আইডি বা সাবস্ক্রিপশন গ্রুপ সেট করতে নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করুন:
- সাবস্ক্রিপশন আইডি সেট করার পদ্ধতি:
setSubscriptionId
- সাবস্ক্রিপশন গ্রুপ সেট করতে মেটোহড:
setSubscriptionGroup
অ্যান্ড্রয়েড প্ল্যাটফর্ম
একটি সনাক্ত করা ইউআইসিসিতে, প্ল্যাটফর্মটি অভ্যন্তরীণ ইউআইসিসি অবজেক্টগুলি তৈরি করে যা UICC এর অংশ হিসাবে ক্যারিয়ার অধিকারের নিয়মগুলি অন্তর্ভুক্ত করে। UiccCarrierPrivilegeRules.java
নিয়ম লোড করে, তাদের ইউআইসিসি কার্ড থেকে পার্স করে এবং তাদের স্মৃতিতে ক্যাশে করে। যখন কোনও বিশেষাধিকারের চেক প্রয়োজন হয়, তখন UiccCarrierPrivilegeRules
কলার শংসাপত্রটিকে তার নিজস্ব নিয়মের সাথে একের পর এক তুলনা করে। যদি ইউআইসিসি অপসারণ করা হয় তবে বিধিগুলি ইউআইসিসি অবজেক্টের সাথে ধ্বংস করা হয়।
বৈধতা
CtsCarrierApiTestCases.apk
ব্যবহার করে সামঞ্জস্যতা পরীক্ষা স্যুট (সিটিএস) এর মাধ্যমে বাস্তবায়নকে বৈধতা দেওয়ার জন্য, আপনার অবশ্যই সঠিক ইউআইসিসি বিধি বা এআরএফ সমর্থন সহ একটি বিকাশকারী ইউআইসিসি থাকতে হবে। এই বিভাগে বর্ণিত হিসাবে ডান এআরএফ সহ কোনও বিকাশকারী ইউআইসিসি প্রস্তুত করতে আপনার পছন্দের সিম কার্ড বিক্রেতাকে জিজ্ঞাসা করুন এবং পরীক্ষাগুলি চালানোর জন্য সেই ইউআইসিসি ব্যবহার করুন। ইউআইসিসির সিটিএস পরীক্ষাগুলি পাস করার জন্য সক্রিয় সেলুলার পরিষেবা প্রয়োজন হয় না।
ইউআইসিসি প্রস্তুত করুন
অ্যান্ড্রয়েড 11 এবং নিম্নের জন্য, CtsCarrierApiTestCases.apk
aosp-testkey
দ্বারা স্বাক্ষরিত হয়েছে, হ্যাশ মান 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
।
অ্যান্ড্রয়েড 12 থেকে শুরু করে, CtsCarrierApiTestCases.apk
cts-uicc-2021-testkey
, হ্যাশ ভ্যালু CE:7B:2B:47:AE:2B:75:52:C8:F9:2C:C2:91:24:27:98:83:04:1F:B6:23:A5:F1:94:A8:2C:9B:F1:5D:49:2A:A0
।
অ্যান্ড্রয়েড 12-এ সিটিএস ক্যারিয়ার এপিআই পরীক্ষাগুলি চালানোর জন্য, ডিভাইসটিকে তৃতীয় পক্ষের জিএসএমএ টিএসএস 48 টেস্ট প্রোফাইল স্পেসিফিকেশনটির সর্বশেষ সংস্করণে নির্দিষ্ট প্রয়োজনীয়তাগুলি পূরণ করে সিটিএস ক্যারিয়ার সুবিধাগুলি সহ একটি সিম ব্যবহার করতে হবে।
অ্যান্ড্রয়েড 12 এর আগে সংস্করণগুলির জন্য একই সিমটিও ব্যবহার করা যেতে পারে।
সিটিএস সিম প্রোফাইলটি সংশোধন করুন
- যোগ করুন: অ্যাক্সেস রুল অ্যাপ্লিকেশন মাস্টার (এআরএ-এম) বা এআরএফ-এ সিটিএস ক্যারিয়ার সুবিধাগুলি। উভয় স্বাক্ষর অবশ্যই ক্যারিয়ারের অধিকারের বিধিগুলিতে এনকোড করা উচিত:
- হ্যাশ 1 (শ 1):
61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
- হ্যাশ 2 (শা 256):
CE:7B:2B:47:AE:2B:75:52:C8:F9:2C:C2:91:24:27:98:83:04:1F:B6:23:A5:F1:94:A8:2C:9B:F1:5D:49:2A:A0
- হ্যাশ 1 (শ 1):
- তৈরি করুন: এডিএফ ইউএসআইএম প্রাথমিক ফাইলগুলি (ইএফএস) টিএস.48 এ উপস্থিত নেই এবং সিটিএসের জন্য প্রয়োজনীয়:
- EF_MBDN (6FC7), রেকর্ড আকার: 28, রেকর্ড নম্বর: 4
- বিষয়বস্তু
- REC1: 566F696365204D61696CFFFFFFF0691515555555555ff… FF
- Rec2-n: ff… ff
- বিষয়বস্তু
- EF_EXT6 (6FC8), রেকর্ড আকার: 13, রেকর্ড নম্বর: 1
- বিষয়বস্তু: 00 এফ… এফএফ
- EF_MBI (6FC9), রেকর্ড আকার: 4, রেকর্ড নম্বর: 1
- সামগ্রী: rec1: 01010101
- EF_MWIS (6FCA), রেকর্ড আকার: 5, রেকর্ড নম্বর: 1
- সামগ্রী: 0000000000
- বিষয়বস্তু: 00 এফ… এফএফ
- EF_MBDN (6FC7), রেকর্ড আকার: 28, রেকর্ড নম্বর: 4
- সংশোধন: ইউএসআইএম পরিষেবা সারণী: পরিষেবাগুলি এন ° 47, এন ° 48 সক্ষম করুন
- EF_UST (6F38)
- বিষয়বস্তু:
9EFFBF1DFFFE0083410310010400406E01
- বিষয়বস্তু:
- EF_UST (6F38)
- সংশোধন করুন: ডিএফ -5 জিএস এবং ডিএফ-সিপ ফাইল
- ডিএফ -5 জিএস - EF_5GS3GPPLOCI (USIM/5FC0/4F01)
- বিষয়বস্তু:
FFFFFFFFFFFFFFFFFFFFFFFFFF42F618FFFFFE01
- বিষয়বস্তু:
- ডিএফ -5 জিএস - EF_5GSN3GPPLOCI (USIM/5FC0/4F02)
- বিষয়বস্তু:
FFFFFFFFFFFFFFFFFFFFFFFFFF42F618FFFFFE01
- বিষয়বস্তু:
- ডিএফ -5 জিএস - EF SUCI_CALC_INFO (USIM/5FC0/4F07)
- সামগ্রী:
A0020000FF…FF
- সামগ্রী:
- ডিএফ -সিপ - ইএফ SUCI_CALC_INFO_USIM (ইউএসআইএম/5 এফডি 0/4 এফ 01)
- সামগ্রী:
A0020000FF…FF
- সামগ্রী:
- ডিএফ -5 জিএস - EF_5GS3GPPLOCI (USIM/5FC0/4F01)
- সংশোধন করুন: এই পদবিযুক্ত সংশ্লিষ্ট ইএফএসে ক্যারিয়ারের নাম স্ট্রিং অ্যান্ড্রয়েড সিটিএস ব্যবহার করুন:
- EF_SPN (ইউএসআইএম/6F46)
- সামগ্রী:
01416E64726F696420435453FF..FF
- সামগ্রী:
- EF_PNN (ইউএসআইএম/6 এফসি 5)
- সামগ্রী:
Rec1 430B83413759FE4E934143EA14FF..FF
- সামগ্রী:
- EF_SPN (ইউএসআইএম/6F46)
পরীক্ষার প্রোফাইল কাঠামোর সাথে মেলে
নিম্নলিখিত জেনেরিক পরীক্ষার প্রোফাইল স্ট্রাকচারগুলির সর্বশেষ সংস্করণটি ডাউনলোড এবং মেলে। এই প্রোফাইলগুলিতে সিটিএস ক্যারিয়ার প্রিভিলেজ বিধি ব্যক্তিগতকৃত বা উপরে তালিকাভুক্ত অন্যান্য পরিবর্তনগুলি থাকবে না।
পরীক্ষা চালান
সুবিধার জন্য, সিটিএস একটি ডিভাইস টোকেন সমর্থন করে যা একই টোকেনের সাথে কনফিগার করা ডিভাইসগুলিতে চালানোর জন্য পরীক্ষাগুলিকে সীমাবদ্ধ করে। ক্যারিয়ার এপিআই সিটিএস পরীক্ষাগুলি ডিভাইস টোকেন sim-card-with-certs
সমর্থন করে। উদাহরণস্বরূপ, নিম্নলিখিত ডিভাইস টোকেন কেবল ডিভাইস এ abcd1234
এ চালানোর জন্য ক্যারিয়ার এপিআই পরীক্ষাগুলিকে সীমাবদ্ধ করে:
cts-tradefed run cts --device-token abcd1234:sim-card-with-certs
কোনও ডিভাইস টোকেন ব্যবহার না করে পরীক্ষা চালানোর সময়, পরীক্ষাটি সমস্ত ডিভাইসে চলে।
FAQ
ইউআইসিসিতে কীভাবে শংসাপত্রগুলি আপডেট করা যায়?
উত্তর: বিদ্যমান কার্ড ওটিএ আপডেট প্রক্রিয়াটি ব্যবহার করুন।
ইউআইসিসি কি অন্যান্য নিয়মের সাথে সহাবস্থান করতে পারে?
উত্তর: একই সহায়তার অধীনে ইউআইসিসিতে অন্যান্য সুরক্ষা বিধি থাকা ঠিক আছে; প্ল্যাটফর্মটি স্বয়ংক্রিয়ভাবে এগুলি ফিল্টার করে।
যখন কোনও অ্যাপ্লিকেশনটির জন্য ইউআইসিসি অপসারণ করা হয় যা তার শংসাপত্রগুলির উপর নির্ভর করে?
উত্তর: অ্যাপটি তার সুবিধাগুলি হারাতে পারে কারণ ইউআইসিসির সাথে সম্পর্কিত নিয়মগুলি ইউআইসিসি অপসারণে ধ্বংস হয়ে যায়।
ইউআইসিসিতে শংসাপত্রের সংখ্যার কোনও সীমা আছে কি?
উত্তর: প্ল্যাটফর্ম শংসাপত্রের সংখ্যা সীমাবদ্ধ করে না; তবে চেকটি লিনিয়ার হওয়ায় অনেকগুলি নিয়ম চেকের জন্য একটি বিলম্ব হতে পারে।
আমরা এই পদ্ধতিতে সমর্থন করতে পারি এমন এপিআই সংখ্যার সীমা আছে কি?
উত্তর: না, তবে আমরা সুযোগটি ক্যারিয়ার সম্পর্কিত এপিআইগুলিতে সীমাবদ্ধ করি।
এই পদ্ধতিটি ব্যবহার করা থেকে কিছু এপিআই নিষিদ্ধ আছে? যদি তা হয় তবে আপনি কীভাবে এগুলি প্রয়োগ করবেন? (এটি হ'ল, কোন এপিআই এই পদ্ধতিতে সমর্থিত তা বৈধ করার জন্য আপনার কি পরীক্ষা রয়েছে?)
উত্তর: অ্যান্ড্রয়েড সামঞ্জস্যতা সংজ্ঞা ডকুমেন্টের (সিডিডি) এপিআই আচরণগত সামঞ্জস্যতা বিভাগটি দেখুন। এপিআইগুলির অনুমতি মডেলটি পরিবর্তন করা হয়নি তা নিশ্চিত করার জন্য আমাদের কাছে কিছু সিটিএস পরীক্ষা রয়েছে।
এই মাল্টি-সিম বৈশিষ্ট্যটির সাথে কীভাবে কাজ করে?
উত্তর: ব্যবহারকারীর দ্বারা নির্দিষ্ট ডিফল্ট সিম ব্যবহৃত হয়।
এটি কোনওভাবেই অন্যান্য এসই অ্যাক্সেস প্রযুক্তির সাথে ইন্টারঅ্যাক্ট বা ওভারল্যাপ করে, উদাহরণস্বরূপ, সন্ধান করে?
উত্তর: উদাহরণ হিসাবে, সিক ইউআইসিসির মতো একই সহায়তা ব্যবহার করে। সুতরাং বিধিগুলি সহাবস্থান করে এবং অনুসন্ধান বা UiccCarrierPrivileges
দ্বারা ফিল্টার করা হয়।
ক্যারিয়ারের সুবিধাগুলি পরীক্ষা করার জন্য কখন ভাল সময়?
উত্তর: সিম স্টেট লোড সম্প্রচারের পরে।
OEMS কি ক্যারিয়ার এপিআইয়ের অংশ অক্ষম করতে পারে?
উত্তর: না। আমরা বিশ্বাস করি যে বর্তমান এপিআইগুলি ন্যূনতম সেট এবং আমরা ভবিষ্যতে সূক্ষ্ম গ্রানুলারিটি নিয়ন্ত্রণের জন্য বিট মাস্কটি ব্যবহার করার পরিকল্পনা করছি।
setOperatorBrandOverride
অপারেটর নাম স্ট্রিংয়ের অন্যান্য সমস্ত রূপকে ওভাররাইড করে? উদাহরণস্বরূপ, এসই 13, ইউআইসিসি এসপিএন, বা নেটওয়ার্ক-ভিত্তিক এনআইটিজেড?
হ্যাঁ, অপারেটর ব্র্যান্ড ওভাররাইডের সর্বোচ্চ অগ্রাধিকার রয়েছে। এটি সেট হয়ে গেলে, এটি অপারেটর নাম স্ট্রিংগুলির অন্যান্য সমস্ত ফর্মকে ওভাররাইড করে।
injectSmsPdu
পদ্ধতি কলটি কী করে?
উত্তর: এই পদ্ধতিটি মেঘে এসএমএস ব্যাকআপ/পুনরুদ্ধারকে সহায়তা করে। injectSmsPdu
কলটি পুনরুদ্ধার ফাংশন সক্ষম করে।
এসএমএস ফিল্টারিংয়ের জন্য, এসএমএস ইউডিএইচ পোর্ট ফিল্টারিংয়ের উপর ভিত্তি করে onFilterSms
কল কি? বা ক্যারিয়ার অ্যাপ্লিকেশনগুলির সমস্ত আগত এসএমএসে অ্যাক্সেস রয়েছে?
উত্তর: ক্যারিয়ারের সমস্ত এসএমএস ডেটাতে অ্যাক্সেস রয়েছে।
32 বাইটকে সমর্থন করার জন্য DeviceAppID-REF-DO
এক্সটেনশনটি বর্তমান জিপি স্পেকের (যা কেবলমাত্র 0 বা 20 বাইটের অনুমতি দেয়) এর সাথে বেমানান বলে মনে হয়, তবে আপনি কেন এই পরিবর্তনটি প্রবর্তন করছেন? সংঘর্ষ এড়ানোর জন্য শা -১ কি যথেষ্ট নয়? আপনি কি ইতিমধ্যে জিপিতে এই পরিবর্তনটি প্রস্তাব করেছেন, কারণ এটি বিদ্যমান এআরএ-এম/এআরএফের সাথে পিছনে বেমানান হতে পারে?
উত্তর: ভবিষ্যত-প্রমাণ সুরক্ষা প্রদানের জন্য, এই এক্সটেনশনটি SHA-1 ছাড়াও DeviceAppID-REF-DO
জন্য SHA-256 প্রবর্তন করে, যা বর্তমানে জিপি এসইসি স্ট্যান্ডার্ডের একমাত্র বিকল্প। আমরা SHA-256 ব্যবহার করার পরামর্শ দিই।
যদি DeviceAppID
0 (খালি) হয় তবে আপনি কি কোনও নির্দিষ্ট নিয়ম দ্বারা আচ্ছাদিত নয় এমন সমস্ত ডিভাইস অ্যাপ্লিকেশনগুলিতে নিয়মটি প্রয়োগ করেন?
উত্তর: ক্যারিয়ার এপিআইগুলির জন্য DeviceAppID-REF-DO
জনবহুল হওয়া দরকার। খালি হওয়া পরীক্ষার উদ্দেশ্যে তৈরি এবং অপারেশনাল মোতায়েনের জন্য প্রস্তাবিত নয়।
আপনার অনুমান অনুসারে, PKG-REF-DO
কেবল নিজেই ব্যবহার করেছেন, DeviceAppID-REF-DO
ছাড়াই, গ্রহণ করা উচিত নয়। তবে এটি এখনও স্পেসিফিকেশনের সারণী 6-4-এ বর্ণিত হয়েছে REF-DO
সংজ্ঞা বাড়িয়ে। এটা কি উদ্দেশ্য? যখন কেবল PKG-REF-DO
REF-DO
ব্যবহৃত হয় তখন কোডটি কীভাবে আচরণ করে?
উত্তর: REF-DO
তে একক মান আইটেম হিসাবে PKG-REF-DO
থাকার বিকল্পটি সর্বশেষ সংস্করণে সরানো হয়েছিল। PKG-REF-DO
কেবলমাত্র DeviceAppID-REF-DO
সাথে সংমিশ্রণে হওয়া উচিত।
আমরা ধরে নিই যে আমরা সমস্ত ক্যারিয়ার-ভিত্তিক অনুমতিগুলিতে অ্যাক্সেস দিতে পারি বা সূক্ষ্ম-দানাযুক্ত নিয়ন্ত্রণ রাখতে পারি। যদি তা হয় তবে বিট মাস্ক এবং প্রকৃত অনুমতিগুলির মধ্যে ম্যাপিংটি কী সংজ্ঞায়িত করে? প্রতি ক্লাসে একটি অনুমতি? পদ্ধতি প্রতি একটি অনুমতি? দীর্ঘমেয়াদে 64৪ টি পৃথক অনুমতি কি যথেষ্ট?
উত্তর: এটি ভবিষ্যতের জন্য সংরক্ষিত, এবং আমরা পরামর্শগুলি স্বাগত জানাই।
আপনি কি আরও বিশেষভাবে অ্যান্ড্রয়েডের জন্য DeviceAppID
আরও সংজ্ঞায়িত করতে পারেন? এটি প্রদত্ত অ্যাপ্লিকেশনটিতে স্বাক্ষর করতে ব্যবহৃত প্রকাশক শংসাপত্রের শা -1 (20 বাইট) হ্যাশ মান, সুতরাং নামটি কি সেই উদ্দেশ্যটি প্রতিফলিত করা উচিত নয়? (নামটি অনেক পাঠকের কাছে বিভ্রান্ত হতে পারে কারণ নিয়মটি সেই একই প্রকাশক শংসাপত্রের সাথে স্বাক্ষরিত সমস্ত অ্যাপ্লিকেশনগুলির জন্য প্রযোজ্য))
উত্তর: DeviceAppID
স্টোরিং শংসাপত্রগুলি বিদ্যমান অনুমান দ্বারা সমর্থিত। আমরা গ্রহণের জন্য বাধা কমিয়ে আনতে স্পেক পরিবর্তনগুলি হ্রাস করার চেষ্টা করেছি। বিশদের জন্য, ইউআইসিসির বিধি দেখুন।