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