অ্যাপের অনুমতিগুলি নিম্নলিখিতগুলিতে অ্যাক্সেস সুরক্ষিত করে ব্যবহারকারীর গোপনীয়তা সমর্থন করতে সহায়তা করে:
- সীমাবদ্ধ ডেটা , যেমন সিস্টেমের অবস্থা এবং ব্যবহারকারীদের যোগাযোগের তথ্য
- সীমাবদ্ধ ক্রিয়া , যেমন একটি জোড়া ডিভাইসের সাথে সংযোগ করা এবং অডিও রেকর্ড করা
এই পৃষ্ঠাটি Android অনুমতিগুলি কীভাবে কাজ করে তার একটি ওভারভিউ প্রদান করে, অনুমতিগুলি ব্যবহার করার জন্য একটি উচ্চ-স্তরের ওয়ার্কফ্লো সহ, বিভিন্ন ধরণের অনুমতির বিবরণ এবং আপনার অ্যাপে অনুমতিগুলি ব্যবহার করার জন্য কিছু সেরা অনুশীলন। অন্যান্য পৃষ্ঠাগুলি ব্যাখ্যা করে যে কীভাবে অনুমতির জন্য আপনার অ্যাপের অনুরোধগুলিকে ছোট করতে হয় , অনুমতিগুলি ঘোষণা করতে হয় , রানটাইম অনুমতিগুলির অনুরোধ করতে হয় এবং অন্যান্য অ্যাপগুলি কীভাবে আপনার অ্যাপের উপাদানগুলির সাথে ইন্টারঅ্যাক্ট করতে পারে তা সীমাবদ্ধ করে ৷
অ্যান্ড্রয়েড অ্যাপের অনুমতিগুলির একটি সম্পূর্ণ তালিকা দেখতে, অনুমতি API রেফারেন্স পৃষ্ঠাতে যান।
অনুমতি কর্মপ্রবাহ প্রদর্শন করে এমন কিছু নমুনা অ্যাপ দেখতে, GitHub-এ Android অনুমতির নমুনা সংগ্রহস্থলে যান।
অনুমতি ব্যবহারের জন্য কর্মপ্রবাহ
যদি আপনার অ্যাপ এমন কার্যকারিতা অফার করে যার জন্য সীমাবদ্ধ ডেটা বা সীমাবদ্ধ ক্রিয়াগুলিতে অ্যাক্সেসের প্রয়োজন হতে পারে, তাহলে আপনি তথ্য পেতে পারেন বা অনুমতি ঘোষণা করার প্রয়োজন ছাড়াই ক্রিয়া সম্পাদন করতে পারেন কিনা তা নির্ধারণ করুন৷ আপনি আপনার অ্যাপে অনেকগুলি ব্যবহারের ক্ষেত্রে পূরণ করতে পারেন, যেমন ফটো তোলা, মিডিয়া প্লেব্যাক বিরাম দেওয়া এবং প্রাসঙ্গিক বিজ্ঞাপনগুলি প্রদর্শন করা, কোনো অনুমতি ঘোষণা করার প্রয়োজন ছাড়াই৷
আপনি যদি সিদ্ধান্ত নেন যে আপনার অ্যাপটিকে অবশ্যই সীমাবদ্ধ ডেটা অ্যাক্সেস করতে হবে বা ব্যবহারের ক্ষেত্রে সীমাবদ্ধ ক্রিয়া সম্পাদন করতে হবে, উপযুক্ত অনুমতি ঘোষণা করুন। কিছু অনুমতি, যা ইন্সটল-টাইম পারমিশন নামে পরিচিত, আপনার অ্যাপ ইন্সটল হলে স্বয়ংক্রিয়ভাবে দেওয়া হয়। রানটাইম অনুমতি নামে পরিচিত অন্যান্য অনুমতিগুলির জন্য আপনার অ্যাপকে আরও এক ধাপ এগিয়ে রানটাইমে অনুমতির অনুরোধ করতে হবে।
চিত্র 1 অ্যাপের অনুমতিগুলি ব্যবহার করার জন্য কর্মপ্রবাহকে চিত্রিত করে:
অনুমতির ধরন
Android অনুমতিগুলিকে বিভিন্ন প্রকারে শ্রেণীবদ্ধ করে, যার মধ্যে ইনস্টল-টাইম অনুমতি, রানটাইম অনুমতি এবং বিশেষ অনুমতি রয়েছে৷ প্রতিটি অনুমতির ধরন নির্দেশ করে সীমাবদ্ধ ডেটার সুযোগ যা আপনার অ্যাপ্লিকেশান অ্যাক্সেস করতে পারে এবং আপনার অ্যাপ্লিকেশান যে সীমাবদ্ধ ক্রিয়াগুলি সম্পাদন করতে পারে, যখন সিস্টেম আপনার অ্যাপটিকে সেই অনুমতি দেয়। প্রতিটি অনুমতির জন্য সুরক্ষা স্তর তার প্রকারের উপর ভিত্তি করে এবং অনুমতি API রেফারেন্স পৃষ্ঠায় দেখানো হয়।
ইনস্টল-টাইম অনুমতি
ইনস্টল-টাইম অনুমতিগুলি আপনার অ্যাপকে সীমাবদ্ধ ডেটাতে সীমিত অ্যাক্সেস দেয় বা আপনার অ্যাপকে সীমাবদ্ধ ক্রিয়া সম্পাদন করতে দেয় যা ন্যূনতমভাবে সিস্টেম বা অন্যান্য অ্যাপকে প্রভাবিত করে। আপনি যখন আপনার অ্যাপে ইনস্টল-টাইম অনুমতি ঘোষণা করেন, তখন একটি অ্যাপ স্টোর ব্যবহারকারীর কাছে একটি ইনস্টল-টাইম অনুমতি নোটিশ উপস্থাপন করে যখন তারা একটি অ্যাপের বিশদ পৃষ্ঠা দেখে, যেমন চিত্র 2-এ দেখানো হয়েছে। ব্যবহারকারী যখন ইনস্টল করে তখন সিস্টেম স্বয়ংক্রিয়ভাবে আপনার অ্যাপটিকে অনুমতি দেয়। আপনার অ্যাপ।
অ্যান্ড্রয়েডে সাধারণ অনুমতি এবং স্বাক্ষর অনুমতি সহ ইনস্টল-টাইম অনুমতিগুলির বিভিন্ন উপ-প্রকার অন্তর্ভুক্ত রয়েছে৷
সাধারণ অনুমতি
এই অনুমতিগুলি ডেটা এবং অ্যাকশনগুলিতে অ্যাক্সেসের অনুমতি দেয় যা আপনার অ্যাপের স্যান্ডবক্সের বাইরে প্রসারিত কিন্তু ব্যবহারকারীর গোপনীয়তা এবং অন্যান্য অ্যাপের অপারেশনে খুব কম ঝুঁকি উপস্থাপন করে।
সিস্টেম স্বাভাবিক অনুমতিতে normal
সুরক্ষা স্তর নির্ধারণ করে।
স্বাক্ষর অনুমতি
সিস্টেমটি একটি অ্যাপকে শুধুমাত্র তখনই একটি স্বাক্ষরের অনুমতি দেয় যখন অ্যাপটি অ্যাপের মতো একই শংসাপত্র বা OS দ্বারা স্বাক্ষরিত হয় যা অনুমতিটি সংজ্ঞায়িত করে।
অটোফিল বা ভিপিএন পরিষেবার মতো সুবিধাপ্রাপ্ত পরিষেবাগুলি প্রয়োগ করে এমন অ্যাপ্লিকেশনগুলিও স্বাক্ষর অনুমতিগুলি ব্যবহার করে৷ এই অ্যাপ্লিকেশানগুলির পরিষেবা-বাঁধাই স্বাক্ষর অনুমতির প্রয়োজন যাতে শুধুমাত্র সিস্টেম পরিষেবাগুলির সাথে আবদ্ধ হতে পারে৷
সিস্টেম স্বাক্ষরের অনুমতিতে signature
সুরক্ষা স্তর নির্ধারণ করে।
রানটাইম অনুমতি
রানটাইম অনুমতি, যা বিপজ্জনক অনুমতি হিসাবেও পরিচিত, আপনার অ্যাপকে সীমাবদ্ধ ডেটাতে অতিরিক্ত অ্যাক্সেস দেয় বা আপনার অ্যাপকে সীমাবদ্ধ ক্রিয়া সম্পাদন করতে দেয় যা সিস্টেম এবং অন্যান্য অ্যাপগুলিকে উল্লেখযোগ্যভাবে প্রভাবিত করে। তাই, সীমাবদ্ধ ডেটা অ্যাক্সেস করতে বা সীমাবদ্ধ ক্রিয়া সম্পাদন করার আগে আপনাকে আপনার অ্যাপে রানটাইম অনুমতির অনুরোধ করতে হবে। অনুমান করবেন না যে এই অনুমতিগুলি আগে মঞ্জুর করা হয়েছে—এগুলি পরীক্ষা করুন এবং প্রয়োজনে প্রতিটি অ্যাক্সেসের আগে তাদের অনুরোধ করুন।
যখন আপনার অ্যাপ রানটাইম অনুমতির অনুরোধ করে, তখন সিস্টেমটি একটি রানটাইম অনুমতি প্রম্পট উপস্থাপন করে, যেমনটি চিত্র 3-এ দেখানো হয়েছে।
অনেক রানটাইম অনুমতি ব্যক্তিগত ব্যবহারকারীর ডেটা অ্যাক্সেস করে, একটি বিশেষ ধরনের সীমাবদ্ধ ডেটা যাতে সম্ভাব্য সংবেদনশীল তথ্য অন্তর্ভুক্ত থাকে। ব্যক্তিগত ব্যবহারকারী ডেটার উদাহরণগুলির মধ্যে রয়েছে অবস্থান এবং যোগাযোগের তথ্য।
মাইক্রোফোন এবং ক্যামেরা বিশেষ করে সংবেদনশীল তথ্যে অ্যাক্সেস প্রদান করে। অতএব, সিস্টেমটি আপনাকে ব্যাখ্যা করতে সাহায্য করে যে কেন আপনার অ্যাপ এই তথ্য অ্যাক্সেস করে ৷
সিস্টেম রানটাইম অনুমতিতে dangerous
সুরক্ষা স্তর নির্ধারণ করে।
বিশেষ অনুমতি
বিশেষ অনুমতি নির্দিষ্ট অ্যাপ অপারেশনের সাথে মিলে যায়। শুধুমাত্র প্ল্যাটফর্ম এবং OEM বিশেষ অনুমতি সংজ্ঞায়িত করতে পারে। অতিরিক্তভাবে, প্ল্যাটফর্ম এবং OEM গুলি সাধারণত বিশেষ অনুমতিগুলিকে সংজ্ঞায়িত করে যখন তারা বিশেষ করে শক্তিশালী ক্রিয়াগুলিতে অ্যাক্সেস রক্ষা করতে চায়, যেমন অন্যান্য অ্যাপের উপর আঁকা।
সিস্টেম সেটিংসে বিশেষ অ্যাপ অ্যাক্সেস পৃষ্ঠায় ব্যবহারকারী-টগলযোগ্য ক্রিয়াকলাপগুলির একটি সেট রয়েছে। এই অপারেশনগুলির মধ্যে অনেকগুলি বিশেষ অনুমতি হিসাবে প্রয়োগ করা হয়।
কীভাবে বিশেষ অনুমতির অনুরোধ করতে হয় সে সম্পর্কে আরও জানুন।
সিস্টেমটি বিশেষ অনুমতিগুলিতে appop
সুরক্ষা স্তর নির্ধারণ করে।
অনুমতি গ্রুপ
অনুমতি অনুমতি গ্রুপের অন্তর্গত হতে পারে. অনুমতি গোষ্ঠীগুলি যৌক্তিকভাবে সম্পর্কিত অনুমতিগুলির একটি সেট নিয়ে গঠিত। উদাহরণস্বরূপ, এসএমএস বার্তা পাঠানো এবং গ্রহণ করার অনুমতি একই গ্রুপের হতে পারে, কারণ তারা উভয়ই এসএমএসের সাথে অ্যাপ্লিকেশনটির মিথস্ক্রিয়া সম্পর্কিত।
অনুমতি গোষ্ঠীগুলি সিস্টেমকে সিস্টেম ডায়ালগের সংখ্যা কমাতে সাহায্য করে যা ব্যবহারকারীর কাছে উপস্থাপিত হয় যখন একটি অ্যাপ ঘনিষ্ঠভাবে সম্পর্কিত অনুমতিগুলির অনুরোধ করে। যখন একজন ব্যবহারকারীকে একটি অ্যাপ্লিকেশনের জন্য অনুমতি দেওয়ার জন্য একটি প্রম্পট উপস্থাপন করা হয়, তখন একই গ্রুপের অনুমতিগুলি একই ইন্টারফেসে উপস্থাপন করা হয়। যাইহোক, অনুমতিগুলি নোটিশ ছাড়াই গোষ্ঠীগুলিকে পরিবর্তন করতে পারে, তাই অনুমান করবেন না যে একটি নির্দিষ্ট অনুমতি অন্য কোনো অনুমতির সাথে গোষ্ঠীভুক্ত করা হয়েছে৷
সর্বোত্তম অনুশীলন
অ্যাপের অনুমতিগুলি সিস্টেমের নিরাপত্তা বৈশিষ্ট্যগুলির উপর ভিত্তি করে তৈরি করে এবং ব্যবহারকারীর গোপনীয়তা সম্পর্কিত নিম্নলিখিত লক্ষ্যগুলিকে সমর্থন করতে অ্যান্ড্রয়েডকে সহায়তা করে:
- নিয়ন্ত্রণ: ব্যবহারকারীরা অ্যাপের সাথে শেয়ার করা ডেটার উপর নিয়ন্ত্রণ রাখে।
- স্বচ্ছতা: ব্যবহারকারী বুঝতে পারে কোন অ্যাপ কোন ডেটা ব্যবহার করে এবং কেন অ্যাপটি এই ডেটা অ্যাক্সেস করে।
- ডেটা মিনিমাইজেশন: একটি অ্যাপ শুধুমাত্র সেই ডেটা অ্যাক্সেস করে এবং ব্যবহার করে যা ব্যবহারকারীর আহ্বান করা একটি নির্দিষ্ট কাজ বা কাজের জন্য প্রয়োজনীয়।
এই বিভাগটি আপনার অ্যাপে কার্যকরভাবে অনুমতিগুলি ব্যবহার করার জন্য মূল সেরা অনুশীলনের একটি সেট উপস্থাপন করে। আপনি কীভাবে Android-এ অনুমতি নিয়ে কাজ করতে পারেন সে সম্পর্কে আরও বিশদ বিবরণের জন্য, অ্যাপের অনুমতির সর্বোত্তম অনুশীলন পৃষ্ঠাতে যান।
ন্যূনতম সংখ্যক অনুমতির জন্য অনুরোধ করুন
যখন ব্যবহারকারী আপনার অ্যাপে একটি নির্দিষ্ট ক্রিয়াকলাপের অনুরোধ করেন, তখন আপনার অ্যাপটিকে শুধুমাত্র সেই অনুমতিগুলিই অনুরোধ করা উচিত যা এটি সেই ক্রিয়াটি সম্পূর্ণ করার জন্য প্রয়োজন৷ আপনি কীভাবে অনুমতিগুলি ব্যবহার করছেন তার উপর নির্ভর করে, সংবেদনশীল তথ্যের অ্যাক্সেসের উপর নির্ভর না করে আপনার অ্যাপের ব্যবহারের ক্ষেত্রে একটি বিকল্প উপায় থাকতে পারে।
নির্দিষ্ট কর্মের সাথে রানটাইম অনুমতি সংযুক্ত করুন
আপনার অ্যাপের ব্যবহারের ক্ষেত্রে যতটা সম্ভব দেরীতে অনুমতির জন্য অনুরোধ করুন। উদাহরণস্বরূপ, যদি আপনার অ্যাপ ব্যবহারকারীদের অন্যদের কাছে অডিও বার্তা পাঠাতে দেয়, ব্যবহারকারী মেসেজিং স্ক্রিনে নেভিগেট না হওয়া পর্যন্ত অপেক্ষা করুন এবং অডিও বার্তা পাঠান বোতাম টিপে না। ব্যবহারকারী বোতাম টিপানোর পরে, আপনার অ্যাপ মাইক্রোফোনে অ্যাক্সেসের অনুরোধ করতে পারে।
আপনার অ্যাপের নির্ভরতা বিবেচনা করুন
আপনি যখন একটি লাইব্রেরি অন্তর্ভুক্ত করেন, তখন আপনি এর অনুমতির প্রয়োজনীয়তাও উত্তরাধিকার সূত্রে পান। প্রতিটি নির্ভরতার জন্য প্রয়োজনীয় অনুমতিগুলি এবং সেই অনুমতিগুলি কীসের জন্য ব্যবহার করা হয় সে সম্পর্কে সচেতন হন৷
স্বচ্ছ হও
আপনি যখন অনুমতির অনুরোধ করেন, তখন আপনি কী অ্যাক্সেস করছেন, কেন এবং অনুমতি প্রত্যাখ্যান করা হলে কী কী কার্যকারিতা প্রভাবিত হয় সে সম্পর্কে পরিষ্কার থাকুন, যাতে ব্যবহারকারীরা সচেতন সিদ্ধান্ত নিতে পারে।
সিস্টেম অ্যাক্সেস সুস্পষ্ট করুন
আপনি যখন ক্যামেরা বা মাইক্রোফোনের মতো সংবেদনশীল ডেটা বা হার্ডওয়্যার অ্যাক্সেস করেন, যদি সিস্টেম ইতিমধ্যে এই সূচকগুলি প্রদান না করে তবে আপনার অ্যাপে একটি অবিচ্ছিন্ন ইঙ্গিত প্রদান করুন৷ এই অনুস্মারক ব্যবহারকারীদের বুঝতে সাহায্য করে যে আপনার অ্যাপ কখন সীমাবদ্ধ ডেটা অ্যাক্সেস করে বা সীমাবদ্ধ ক্রিয়া সম্পাদন করে।
সিস্টেম উপাদানে অনুমতি
অনুমতি শুধুমাত্র সিস্টেম কার্যকারিতা অনুরোধ করার জন্য নয়। আপনার অ্যাপের সিস্টেম উপাদানগুলি সীমাবদ্ধ করতে পারে অন্য কোন অ্যাপগুলি আপনার অ্যাপের সাথে ইন্টারঅ্যাক্ট করতে পারে, যেমন অন্যান্য অ্যাপের সাথে ইন্টারঅ্যাকশন সীমিত করতে হবে সে সম্পর্কে পৃষ্ঠায় বর্ণনা করা হয়েছে।