অবস্থান, মাইক্রোফোন এবং ক্যামেরা সম্পর্কিত অনুমতিগুলি আপনার অ্যাপকে ব্যবহারকারীদের সম্পর্কে বিশেষভাবে সংবেদনশীল তথ্যে অ্যাক্সেস দেয়। প্ল্যাটফর্মটিতে এই পৃষ্ঠায় বর্ণিত বেশ কয়েকটি প্রক্রিয়া রয়েছে, যা ব্যবহারকারীদের অবগত থাকতে এবং কোন অ্যাপগুলি অবস্থান, মাইক্রোফোন এবং ক্যামেরা অ্যাক্সেস করতে পারে তা নিয়ন্ত্রণ করতে সহায়তা করে।
এই গোপনীয়তা-সংরক্ষণকারী সিস্টেম বৈশিষ্ট্যগুলি আপনার অ্যাপ কীভাবে অবস্থান, মাইক্রোফোন এবং ক্যামেরা সম্পর্কিত অনুমতিগুলি পরিচালনা করে তা প্রভাবিত করবে না, যতক্ষণ না আপনি গোপনীয়তার সর্বোত্তম অনুশীলনগুলি অনুসরণ করেন ।
বিশেষ করে, আপনার অ্যাপে নিম্নলিখিতগুলি নিশ্চিত করুন:
- ব্যবহারকারী আপনার অ্যাপে
CAMERAঅনুমতি না দেওয়া পর্যন্ত ডিভাইসের ক্যামেরা অ্যাক্সেস করার জন্য অপেক্ষা করুন। - ব্যবহারকারী আপনার অ্যাপে
RECORD_AUDIOঅনুমতি না দেওয়া পর্যন্ত ডিভাইসের মাইক্রোফোন অ্যাক্সেস করার জন্য অপেক্ষা করুন। - আপনার অ্যাপের এমন কোনও বৈশিষ্ট্যের সাথে ব্যবহারকারী ইন্টারঅ্যাক্ট না করা পর্যন্ত অপেক্ষা করুন যার জন্য অবস্থানের প্রয়োজন হয়, তারপর আপনি
ACCESS_COARSE_LOCATIONঅনুমতি বাACCESS_FINE_LOCATIONঅনুমতির জন্য অনুরোধ করুন, যেমনটি অবস্থানের অনুমতির জন্য অনুরোধ করার নির্দেশিকায় বর্ণিত হয়েছে। -
ACCESS_BACKGROUND_LOCATIONঅনুমতির জন্য অনুরোধ করার আগে ব্যবহারকারী আপনার অ্যাপটিকেACCESS_COARSE_LOCATIONঅনুমতি অথবাACCESS_FINE_LOCATIONঅনুমতি না দেওয়া পর্যন্ত অপেক্ষা করুন।
গোপনীয়তা ড্যাশবোর্ড
অ্যান্ড্রয়েড ১২ বা তার পরবর্তী ভার্সন চালিত সমর্থিত ডিভাইসগুলিতে, সিস্টেম সেটিংসে একটি গোপনীয়তা ড্যাশবোর্ড স্ক্রিন প্রদর্শিত হয়। এই স্ক্রিনে, ব্যবহারকারীরা পৃথক স্ক্রিন অ্যাক্সেস করতে পারেন যা দেখায় যে অ্যাপগুলি কখন অবস্থান, ক্যামেরা এবং মাইক্রোফোনের তথ্য অ্যাক্সেস করে। প্রতিটি স্ক্রিন একটি টাইমলাইন দেখায় যে কখন বিভিন্ন অ্যাপ একটি নির্দিষ্ট ধরণের ডেটা অ্যাক্সেস করেছে। চিত্র ১ অবস্থান তথ্যের জন্য ডেটা অ্যাক্সেস টাইমলাইন দেখায়।
ডেটা অ্যাক্সেসের যুক্তি দেখান
আপনার অ্যাপটি ব্যবহারকারীদের কেন অবস্থান, ক্যামেরা বা মাইক্রোফোনের তথ্য অ্যাক্সেস করে তা বুঝতে সাহায্য করার জন্য একটি যুক্তি প্রদান করতে পারে। এই যুক্তিটি নতুন গোপনীয়তা ড্যাশবোর্ড স্ক্রিনে, আপনার অ্যাপের অনুমতি স্ক্রিনে, অথবা উভয় ক্ষেত্রেই প্রদর্শিত হতে পারে।
আপনার অ্যাপ কেন অবস্থান, ক্যামেরা এবং মাইক্রোফোনের তথ্য অ্যাক্সেস করে তা ব্যাখ্যা করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:
এমন একটি অ্যাক্টিভিটি যোগ করুন যা শুরু করার পরে, আপনার অ্যাপ কেন একটি নির্দিষ্ট ধরণের ডেটা অ্যাক্সেস অ্যাকশন সম্পাদন করে তার কিছু যুক্তি প্রদান করে। এই অ্যাক্টিভিটির মধ্যে,
android:permissionঅ্যাট্রিবিউটটিSTART_VIEW_PERMISSION_USAGEএ সেট করুন।যদি আপনার অ্যাপটি Android 12 বা তার পরবর্তী ভার্সনের জন্য তৈরি হয়, তাহলে আপনাকে
android:exportedঅ্যাট্রিবিউটের জন্য স্পষ্টভাবে একটি মান নির্ধারণ করতে হবে।নতুন যোগ করা কার্যকলাপে নিম্নলিখিত ইন্টেন্ট ফিল্টার যোগ করুন:
<!-- android:exported required if you target Android 12. --> <activity android:name=".DataAccessRationaleActivity" android:permission="android.permission.START_VIEW_PERMISSION_USAGE" android:exported="true"> <!-- VIEW_PERMISSION_USAGE shows a selectable information icon on your app permission's page in system settings. VIEW_PERMISSION_USAGE_FOR_PERIOD shows a selectable information icon on the Privacy Dashboard screen. --> <intent-filter> <action android:name="android.intent.action.VIEW_PERMISSION_USAGE" /> <action android:name="android.intent.action.VIEW_PERMISSION_USAGE_FOR_PERIOD" /> <category android:name="android.intent.category.DEFAULT" /> ... </intent-filter> </activity>
আপনার ডেটা অ্যাক্সেসের যুক্তিগত কার্যকলাপ কী দেখাবে তা ঠিক করুন। উদাহরণস্বরূপ, আপনি আপনার অ্যাপের ওয়েবসাইট বা সহায়তা কেন্দ্রের একটি নিবন্ধ দেখাতে পারেন। আপনার অ্যাপ কী ধরণের ডেটা অ্যাক্সেস করে এবং কখন অ্যাক্সেস করা হয়েছে সে সম্পর্কে আরও বিস্তারিত ব্যাখ্যা প্রদান করতে, অনুমতি ব্যবহারের উদ্দেশ্য প্রয়োগ করার সময় সিস্টেমে যে অতিরিক্ত সুবিধাগুলি অন্তর্ভুক্ত থাকে তা পরিচালনা করুন:
- যদি সিস্টেমটি
ACTION_VIEW_PERMISSION_USAGEব্যবহার করে, তাহলে আপনার অ্যাপEXTRA_PERMISSION_GROUP_NAMEএর জন্য একটি মান পুনরুদ্ধার করতে পারে। - যদি সিস্টেমটি
ACTION_VIEW_PERMISSION_USAGE_FOR_PERIODব্যবহার করে, তাহলে আপনার অ্যাপEXTRA_PERMISSION_GROUP_NAME,EXTRA_ATTRIBUTION_TAGS,EXTRA_START_TIME, এবংEXTRA_END_TIMEএর মান পুনরুদ্ধার করতে পারবে।
- যদি সিস্টেমটি
আপনি কোন ইন্টেন্ট ফিল্টার যোগ করবেন তার উপর নির্ভর করে, ব্যবহারকারীরা নির্দিষ্ট স্ক্রিনে আপনার অ্যাপের নামের পাশে একটি তথ্য আইকন দেখতে পাবেন:
- যদি আপনি
VIEW_PERMISSION_USAGEঅ্যাকশন ধারণকারী ইন্টেন্ট ফিল্টারটি যোগ করেন, তাহলে ব্যবহারকারীরা সিস্টেম সেটিংসে আপনার অ্যাপের অনুমতি পৃষ্ঠায় আইকনটি দেখতে পাবেন। আপনি এই অ্যাকশনটি সমস্ত রানটাইম অনুমতিতে প্রয়োগ করতে পারেন। - যদি আপনি
VIEW_PERMISSION_USAGE_FOR_PERIODঅ্যাকশন ধারণকারী ইন্টেন্ট ফিল্টারটি যোগ করেন, তাহলে ব্যবহারকারীরা যখনই আপনার অ্যাপটি গোপনীয়তা ড্যাশবোর্ড স্ক্রিনে প্রদর্শিত হবে তখনই আপনার অ্যাপের নামের পাশে আইকনটি দেখতে পাবেন।
যখন ব্যবহারকারীরা সেই আইকনটি নির্বাচন করেন, তখন আপনার অ্যাপের যুক্তিসঙ্গত কার্যকলাপ শুরু হয়।
সূচক
অ্যান্ড্রয়েড ১২ বা তার পরবর্তী ভার্সন চালিত ডিভাইসগুলিতে, যখন কোনও অ্যাপ মাইক্রোফোন বা ক্যামেরা অ্যাক্সেস করে, তখন স্ট্যাটাস বারে একটি আইকন প্রদর্শিত হয়। যদি অ্যাপটি ইমারসিভ মোডে থাকে, তাহলে আইকনটি স্ক্রিনের উপরের ডানদিকে প্রদর্শিত হয়। ব্যবহারকারীরা দ্রুত সেটিংস খুলতে পারেন এবং কোন অ্যাপগুলি বর্তমানে মাইক্রোফোন বা ক্যামেরা ব্যবহার করছে তা দেখতে আইকনটি নির্বাচন করতে পারেন। চিত্র ২ একটি উদাহরণ স্ক্রিনশট দেখায় যাতে আইকনগুলি রয়েছে।
সূচকগুলির স্ক্রিন অবস্থান সনাক্ত করুন
যদি আপনার অ্যাপটি ইমারসিভ মোড বা পূর্ণ-স্ক্রিন UI সমর্থন করে, তাহলে সূচকগুলি মুহূর্তের জন্য আপনার অ্যাপের UI-কে ওভারল্যাপ করতে পারে। এই সূচকগুলির সাথে আপনার UI-কে খাপ খাইয়ে নিতে সাহায্য করার জন্য, সিস্টেমটি getPrivacyIndicatorBounds() পদ্ধতিটি প্রবর্তন করে, যা নিম্নলিখিত কোড স্নিপেটটি প্রদর্শন করে। এই API ব্যবহার করে, আপনি সেই সীমানাগুলি সনাক্ত করতে পারেন যেখানে সূচকগুলি প্রদর্শিত হতে পারে। তারপরে আপনি আপনার স্ক্রিনের UI ভিন্নভাবে সাজানোর সিদ্ধান্ত নিতে পারেন।
কোটলিন
view.setOnApplyWindowInsetsListener { view, windowInsets -> val indicatorBounds = windowInsets.getPrivacyIndicatorBounds() // change your UI to avoid overlapping windowInsets }
টগল করে
অ্যান্ড্রয়েড ১২ বা তার পরবর্তী ভার্সন চালিত সমর্থিত ডিভাইসগুলিতে , ব্যবহারকারীরা একটি একক টগল বিকল্প টিপে ডিভাইসের সমস্ত অ্যাপের জন্য ক্যামেরা এবং মাইক্রোফোন অ্যাক্সেস সক্ষম এবং অক্ষম করতে পারেন। ব্যবহারকারীরা চিত্র ৩-এ দেখানো কুইক সেটিংস থেকে অথবা সিস্টেম সেটিংসের গোপনীয়তা স্ক্রিন থেকে টগলযোগ্য বিকল্পগুলি অ্যাক্সেস করতে পারেন।
ক্যামেরা এবং মাইক্রোফোন টগল ডিভাইসের সমস্ত অ্যাপকে প্রভাবিত করে:
- যখন ব্যবহারকারী ক্যামেরা অ্যাক্সেস বন্ধ করে দেন, তখন আপনার অ্যাপটি একটি ফাঁকা ক্যামেরা ফিড পায়।
যখন ব্যবহারকারী মাইক্রোফোন অ্যাক্সেস বন্ধ করে দেয়, তখন আপনার অ্যাপটি নীরব অডিও গ্রহণ করে। অতিরিক্তভাবে, আপনি
HIGH_SAMPLING_RATE_SENSORSঅনুমতি ঘোষণা করুন না কেন, মোশন সেন্সরগুলি রেট-লিমিটেড ।
যখন ব্যবহারকারী ক্যামেরা বা মাইক্রোফোনের অ্যাক্সেস বন্ধ করে দেন, তারপর এমন একটি অ্যাপ চালু করেন যার ক্যামেরা বা মাইক্রোফোনের তথ্য অ্যাক্সেসের প্রয়োজন হয়, তখন সিস্টেমটি ব্যবহারকারীকে মনে করিয়ে দেয় যে ডিভাইস-ব্যাপী টগল বন্ধ আছে।
ডিভাইস সাপোর্ট চেক করুন
কোনও ডিভাইস মাইক্রোফোন এবং ক্যামেরা টগল সমর্থন করে কিনা তা পরীক্ষা করতে, নিম্নলিখিত কোড স্নিপেটে প্রদর্শিত লজিকটি যোগ করুন:
কোটলিন
val sensorPrivacyManager = applicationContext .getSystemService(SensorPrivacyManager::class.java) as SensorPrivacyManager val supportsMicrophoneToggle = sensorPrivacyManager .supportsSensorToggle(Sensors.MICROPHONE) val supportsCameraToggle = sensorPrivacyManager .supportsSensorToggle(Sensors.CAMERA)
জাভা
SensorPrivacyManager sensorPrivacyManager = getApplicationContext() .getSystemService(SensorPrivacyManager.class); boolean supportsMicrophoneToggle = sensorPrivacyManager .supportsSensorToggle(Sensors.MICROPHONE); boolean supportsCameraToggle = sensorPrivacyManager .supportsSensorToggle(Sensors.CAMERA);