অ্যান্ড্রয়েড 10 থেকে শুরু করে, পরিচিতি-সম্পর্কিত ডেটা, পরিচিতি প্রদানকারী উপাদান দ্বারা পরিচালিত হয় (একটি ডিভাইসের পরিচিতি অ্যাপে দেখা যায় ডেটার উৎস), Android 9 এবং তার চেয়ে কম সময়ে ভিন্নভাবে অ্যাক্সেস করা হয়।
অ্যান্ড্রয়েড 10-এর আগে, অ্যাপগুলি ডেটা অ্যাক্সেস করতে এবং এটি একটি ডিভাইস এবং অনলাইন পরিষেবার মধ্যে স্থানান্তর করতে পরিচিতি প্রদানকারীকে ব্যবহার করত। পরিচিতি প্রদানকারী ব্যবহার করে এমন সমস্ত Android 10 ডিভাইসে ব্যবহারকারীর গোপনীয়তা বৃদ্ধি নিশ্চিত করতে Android 10 বৈশিষ্ট্যগুলি ডেটা অ্যাক্সেসযোগ্যতার বিষয়ে পরিবর্তন করে। একের জন্য, অন্তর্নিহিত ডাটাবেসে যোগাযোগের সম্বন্ধীয় ডেটা থাকে না। তাই অ্যাপস এটি থেকে লিখতে বা পড়তে পারে না। পরিবর্তন নিম্নলিখিত অন্তর্ভুক্ত:
- পরিচিতি প্রদানকারী পরিচিতি-সম্বন্ধ-সম্পর্কিত ডেটা রেকর্ড করে না, যেমন একজন ব্যবহারকারীর সাথে কতবার যোগাযোগ করা হয়েছিল, যোগাযোগের শেষ সময়, অ্যাপ ব্যবহার করা হয়েছে, যোগাযোগ করা ব্যক্তি বা কোনো সম্পর্কিত ঐতিহাসিক ডেটা।
- পরিচিতি প্রদানকারী স্বয়ংসম্পূর্ণ API-এর
MultiAutoCompleteTextView
ক্লাসটি ইন্টারঅ্যাকশন কাউন্টার দ্বারা প্রশ্নের ফলাফলগুলিকে সাজায় না৷ - অ্যান্ড্রয়েড ফ্রেমওয়ার্ক অন্তর্নিহিত পরিচিতি র্যাঙ্কিং প্রদান করে না। (তবে, ব্যবহারকারী-নিয়ন্ত্রিত, স্পষ্ট পরিচিতির র্যাঙ্কিং (যেমন তারকাচিহ্নিত পরিচিতি) রয়ে গেছে)।
এই পরিবর্তনগুলি বাস্তবায়ন করতে, নিম্নলিখিতগুলির মধ্যে একটি করুন:
- সর্বশেষ পরিচিতি প্রদানকারী ব্যবহার করুন.
- আপনার সংস্করণ আপডেট করুন (যদি আপনি একটি কাঁটাযুক্ত সংস্করণ ব্যবহার করেন)।
এছাড়াও, অবহেলিত পরিচিতি প্রদানকারী বৈশিষ্ট্যের উপর নির্ভর করে এমন যেকোনো অ্যাপ আপডেট করুন। অপ্রচলিত ফাংশনগুলির সমাধানের জন্য ডিজাইন করা API সংস্করণগুলি অনুমোদিত নয়৷
Android 9 এবং তার নিচের সংস্করণের জন্য, পরিচিতি প্রদানকারীর থেকে যোগাযোগ-ইন্টার্যাকশন ডেটা সরানো হয়নি। পরিবর্তে, অ্যান্ড্রয়েড 10-এর সমতুল্য অনুকরণ করতে যোগাযোগ-ইন্টার্যাকশন ডেটা পর্যায়ক্রমে (দিনে প্রায় একবার) সাফ করা হয়। পরিচিতি প্রদানকারী এই তথ্য সংরক্ষণ করে, তবে শুধুমাত্র অস্থায়ীভাবে।
এপিআই পরিবর্তন
এই পরিবর্তনগুলি API-গুলিতে একটি বড় প্রভাব ফেলবে বলে আশা করা হচ্ছে। উদাহরণস্বরূপ, স্বয়ংসম্পূর্ণ র্যাঙ্কিংও তেমনভাবে কাজ করবে না। API আচরণের সম্ভাব্য প্রভাবগুলির মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে:
- পরিচিতি প্রদানকারী
ContactsContract.Contacts
টেবিলের কলামে পরিচিতির জন্য ব্যবহারকারীর পছন্দ বা তার সাথে মিথস্ক্রিয়া সংরক্ষণ করবে না। - স্বয়ংসম্পূর্ণ API ইন্টারঅ্যাকশন কাউন্টার দ্বারা ফলাফল বাছাই করবে না।
-
TIMES_CONTACTED
/TIMES_USED
এবংLAST_TIME_CONTACTED
/LAST_TIME_USED
কলাম আপডেট করা হবে না৷ - অ্যান্ড্রয়েড 10 এ আপগ্রেড করার পরে এগুলি পরিষ্কার (প্রভাবিত কলামগুলির উপর নির্ভর করে
null
বা 0 তে সেট)। - স্বয়ংসম্পূর্ণ ক্যোয়ারী এপিআই-এ র্যাঙ্কিং বর্ণানুক্রমিকভাবে সাজানো ফলাফল প্রদান করে, কখনোই অ্যাফিনিটি তথ্য দ্বারা নয়।
- ঘন ঘন পরিচিতির জন্য API কল (উদাহরণস্বরূপ,
CONTENT_FREQUENT_URI
ফিল্টার স্ট্রিং ব্যবহার করে) কোনো ফলাফল দেয় না।
সাধারনত, যদি কোন অবচয়িত পরিচিতি প্রদানকারী API উপাদান কাউন্টার ব্যবহার করে, সেই কাউন্টারে (যখন Android 10 ব্যবহার করা হয়) 0 থাকে এবং জিজ্ঞাসা করা হলে 0 ফেরত দেয়। প্রভাবিত API থেকে আপডেট অনুরোধ উপেক্ষা করা হয়. উদাহরণ স্বরূপ, ContactsContract.DataUsageFeedback
ক্লাসটি বাতিল করা হয়েছে, তাই এই ক্লাসে কল আপডেট এবং মুছে ফেলা উপেক্ষা করা হয়েছে৷
যে ক্ষেত্রগুলি API-কে প্রভাবিত করে৷
এই ক্ষেত্রগুলি Android 10 এ পরিবর্তিত হয়েছে:
-
ContactsContract.ContactOptionsColumns#TIMES_CONTACTED
-
ContactsContract.ContractOptionsColumns.LAST_TIME_CONTACTED
-
ContactsContract.DataUsageStatColumns#TIMES_USED
-
ContactsContract.DataUsageStatColumns#LAST_TIME_USED
-
ContactsContract#CONTENT_STREQUENT_FILTER_URI
-
ContactsContract.Contacts#CONTENT_STREQUENT_URI
-
ContactsContract.Contacts#CONTENT_FREQUENT_URI
-
ContactsContract.Contacts#ENTERPRISE_CONTENT_FILTER_URI
-
ContactsContract.Contacts#CONTENT_FILTER_URI
Android 10-এর প্রভাবিত ক্ষেত্রগুলি বিভিন্ন API-এ উপস্থিত থাকতে পারে, যেমনটি নীচের সারণীতে নির্দেশ করা হয়েছে। অপ্রচলিত API ক্ষেত্র তালিকা হিসাবে আচরণ প্রদান করে। যেহেতু এই অপসারিত ক্ষেত্রগুলির মধ্যে একটি আপনার বেশ কয়েকটি API-এ ব্যবহার করা হতে পারে, আপনার ব্যবহারের ক্ষেত্রে যাচাই করুন৷
ক্লাস | API ক্ষেত্র | 10 রিটার্ন |
---|---|---|
ContactsContract.Contacts ContactsContract.RawContacts ContactsContract.Data ContactsContract.Entity | ContactOptionsColumns TIMES_CONTACTED LAST_TIME_CONTACTED | এই কলামগুলিতে সর্বদা 0 থাকে, সেগুলি যেভাবে ব্যবহার করা হোক না কেন। তাদের সংশোধন করার প্রচেষ্টা উপেক্ষা করা হয়. |
Contacts | markAsContacted() | কোন অপারেশন নেই। |
ContactsContract.DataUsageFeedback | | কোন অপারেশন নেই। |
ContactsContract.Contacts | প্রবল ( তারকাচিহ্নিত + ঘন ঘন)CONTENT_STREQUENT_FILTER_URI CONTENT_STREQUENT_URI CONTENT_FREQUENT_URI | শুধুমাত্র তারা চিহ্নিত পরিচিতি ফেরত দেয়। কোন ঘন ঘন পরিচিতি ফিরে. |
ContactsContract.CommonDataKinds.Email ContactsContract.CommonDataKinds.Phone ContactsContract.CommonDataKinds.Callable | ফিল্টার (স্বয়ংসম্পূর্ণও বলা হয়) APIs | ফলাফল আনুগত্য দ্বারা বাছাই করা হয় না. এগুলি তারকাচিহ্নিত এবং নাম অনুসারে বাছাই করা হয়। |
বিকল্প
অপ্রচলিত API ক্ষেত্রের কোন বিকল্প নেই। এই বিধিনিষেধগুলি এড়াতে ডিজাইন করা ওয়ার্কআরাউন্ডগুলি, নতুন API বা নতুন ক্ষেত্রগুলির আকারে, অনুমোদিত নয়৷
বাস্তবায়ন
এই পরিবর্তনগুলি বাস্তবায়ন করার জন্য আপনাকে কিছু করতে হবে না। তারা Android OS প্ল্যাটফর্মে ব্যবহারকারীর গোপনীয়তা বাড়ানোর উদ্যোগের অংশ। যাইহোক, যদি আপনার অ্যাপ্লিকেশানগুলি অবহেলিত বৈশিষ্ট্যগুলির উপর নির্ভর করে, আপনি কোনও পরিবর্তনের জন্য ক্ষতিপূরণ দিতে আপনার অ্যাপগুলিকে আপডেট করতে চাইতে পারেন৷ অতিরিক্তভাবে, আপনি যদি পরিচিতি প্রদানকারীর একটি কাঁটাযুক্ত সংস্করণ ব্যবহার করেন তবে আপনাকে অবশ্যই আপনার পরিচিতি প্রদানকারী আপডেট করতে হবে।
কাস্টমাইজেশন নেই
কাস্টমাইজ করবেন না বা পরিচিতি সম্বন্ধীয় তথ্য পরিবর্তনের আশেপাশে কাজ করবেন না। এগুলি ফ্রেমওয়ার্কের মধ্যে তৈরি করা হয়েছে এবং কোনও পরিবর্তন করলে তা আপনাকে সম্মতির বাইরে নিয়ে যায়। কখনোই ডিফল্ট সেটিংস পরিবর্তন করবেন না বা ব্যাকডোর বিকল্প প্রদান করবেন না।