Wear OS-এ অনুমতির জন্য অনুরোধ করুন

কীওয়ার্ড: পরিধান, অনুমতি, সংগ্রহ_গাইডল্যান্ডিংওয়্যার ছবির_পথ: images/training/wear/multiple_permissions.png

Wear OS-এ অনুমতি চাওয়ার প্রক্রিয়াটি মোবাইল অ্যাপে অনুমতি চাওয়ার মতোই, তবে এর কয়েকটি অতিরিক্ত ব্যবহার রয়েছে। এই ডকুমেন্টটি ধরে নিচ্ছে যে আপনি অ্যান্ড্রয়েড পারমিশন কীভাবে কাজ করে তা বোঝেন। যদি না বোঝেন, তবে অ্যান্ড্রয়েডে পারমিশন কীভাবে কাজ করে তা দেখে নিন।

মোবাইল অ্যাপের মতোই, Wear অ্যাপের নির্দিষ্ট কিছু কার্যকারিতা ব্যবহারের জন্য ব্যবহারকারীকে অনুমতি দিতে হয়। আপনার Wear অ্যাপগুলোতে কোনো অনুমতি না চেয়েই অর্থপূর্ণ কার্যকারিতা প্রদান করুন

অনুমতির পরিস্থিতি

Wear OS-এ বিপজ্জনক অনুমতি অনুরোধ করার সময় আপনি বেশ কয়েকটি পরিস্থিতির সম্মুখীন হতে পারেন:

  • Wear অ্যাপটি পরিধানযোগ্য ডিভাইসে চলমান একটি অ্যাপের জন্য অনুমতি চায়।

  • Wear অ্যাপটি ফোনে চলমান একটি অ্যাপের জন্য অনুমতি চায়।

  • ফোন অ্যাপটি পরিধানযোগ্য ডিভাইসে চলমান একটি অ্যাপের জন্য অনুমতি চায়।

  • ফোন অ্যাপটি একাধিক অনুমতি চায়, যেগুলো শুধুমাত্র পরিধানযোগ্য ডিভাইসটি সংযুক্ত থাকলেই ব্যবহার করা যাবে।

একটি কার্যকরী অ্যাপে এই সমস্ত সিনারিও দেখতে, গিটহাবে থাকা ExerciseSampleCompose স্যাম্পলটি পর্যালোচনা করুন।

নিম্নলিখিত বিভাগগুলিতে এই পরিস্থিতিগুলির প্রত্যেকটি ব্যাখ্যা করা হয়েছে। অনুমতি অনুরোধ করার বিষয়ে আরও বিস্তারিত তথ্যের জন্য, 'অনুমতি-অনুরোধের ধরণ' বিভাগটি দেখুন।

Wear অ্যাপ পরিধানযোগ্য ডিভাইসের অনুমতি চায়।

যখন Wear অ্যাপটি পরিধানযোগ্য ডিভাইসে চলমান কোনো অ্যাপের জন্য অনুমতি চায়, তখন সিস্টেমটি ব্যবহারকারীর কাছে সেই অনুমতি চাওয়ার জন্য একটি ডায়ালগ প্রদর্শন করে। আপনার অ্যাপে, কেবল তখনই অনুমতি চান যখন ব্যবহারকারীর কাছে এটা স্পষ্ট থাকে যে কোনো নির্দিষ্ট কাজ করার জন্য কেন সেই অনুমতি প্রয়োজন।

আপনার ব্যবহারকারীদের সর্বোত্তম অভিজ্ঞতা নিশ্চিত করতে অনুমতির নীতিগুলি পর্যালোচনা করুন, এবং shouldShowRequestPermissionRationale() চেক করতে ও প্রয়োজন অনুযায়ী অতিরিক্ত তথ্য প্রদান করতে মনে রাখবেন।

যদি কোনো অ্যাপ বা ওয়াচ ফেসের একই সময়ে একাধিক অনুমতির প্রয়োজন হয়, তাহলে অনুমতির অনুরোধগুলো একের পর এক প্রদর্শিত হয়।

একের পর এক একাধিক অনুমতির স্ক্রিন।
চিত্র ১. ক্রমানুসারে প্রদর্শিত অনুমতি স্ক্রিনসমূহ।

Wear অ্যাপটি ফোনের অনুমতি চায়।

যখন Wear অ্যাপ ফোনের কোনো অনুমতি চায়—উদাহরণস্বরূপ, কোনো পরিধানযোগ্য অ্যাপ তার মোবাইল সংস্করণে থাকা ছবি বা অন্যান্য সংবেদনশীল ডেটা অ্যাক্সেস করতে চায়—তখন Wear অ্যাপটিকে অবশ্যই ব্যবহারকারীকে অনুমতিটি গ্রহণ করার জন্য ফোনে পাঠাতে হবে। সেখানে, ফোন অ্যাপটি একটি অ্যাক্টিভিটি ব্যবহার করে ব্যবহারকারীকে অতিরিক্ত তথ্য সরবরাহ করতে পারে। অ্যাক্টিভিটিটিতে দুটি বাটন অন্তর্ভুক্ত করুন: একটি অনুমতি দেওয়ার জন্য এবং অন্যটি তা প্রত্যাখ্যান করার জন্য।

Wear অ্যাপটি অনুমতি দেওয়ার জন্য ব্যবহারকারীকে ফোনে পাঠায়।
চিত্র ২. অনুমতি প্রদানের জন্য ব্যবহারকারীকে ফোনে পাঠান।

ফোন অ্যাপ পরিধানযোগ্য ডিভাইসের অনুমতি চায়।

যদি ব্যবহারকারী কোনো ফোন অ্যাপে থাকেন এবং অ্যাপটির কোনো ওয়্যারেবল পারমিশনের প্রয়োজন হয়—উদাহরণস্বরূপ, ফোন সংযোগ বিচ্ছিন্ন হয়ে গেলে গান প্রি-লোড করার জন্য—তাহলে ফোন অ্যাপটি পারমিশনটি গ্রহণ করার জন্য ব্যবহারকারীকে ওয়্যারেবল ডিভাইসে পাঠিয়ে দেয়। অ্যাপটির ওয়্যারেবল সংস্করণটি সিস্টেম পারমিশন ডায়ালগটি চালু করার জন্য requestPermissions() মেথডটি ব্যবহার করে।

ফোন অ্যাপটি অনুমতি দেওয়ার জন্য ব্যবহারকারীকে পরিধানযোগ্য ডিভাইসটিতে পাঠায়।
চিত্র ৩. অনুমতি প্রদানের জন্য ব্যবহারকারীকে পরিধানযোগ্য ডিভাইসটিতে পাঠান।

ফোন অ্যাপ একই সাথে একাধিক অনুমতি চায়।

চিত্র ৪। একটি অনুমতি ডায়ালগ বক্স যা একটি সহযোগী ডিভাইস প্রোফাইল ব্যবহার করে একই অনুরোধে একাধিক অনুমতি চায়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার পরবর্তী সংস্করণের পার্টনার অ্যাপগুলো কোনো ঘড়ির সাথে সংযোগ করার সময় কম্প্যানিয়ন ডিভাইস প্রোফাইল ব্যবহার করতে পারে। প্রোফাইল ব্যবহার করলে এনরোলমেন্ট প্রক্রিয়াটি সহজ হয়ে যায়, কারণ এর মাধ্যমে ডিভাইস-টাইপ-নির্দিষ্ট কিছু অনুমতি প্রদানের কাজটি একটি ধাপেই সম্পন্ন হয়।

ডিভাইসটি সংযুক্ত হওয়ার পর কম্প্যানিয়ন অ্যাপটিকে বান্ডেল করা অনুমতিগুলো দেওয়া হয় এবং ডিভাইসটি সংযুক্ত থাকা পর্যন্তই তা স্থায়ী থাকে। অ্যাপটি ডিলিট করলে বা সংযোগটি সরিয়ে দিলে অনুমতিগুলোও মুছে যায়। বিস্তারিত জানতে AssociationRequest.Builder.setDeviceProfile() দেখুন।

অনুমতি-অনুরোধের ধরণ

ব্যবহারকারীদের কাছ থেকে অনুমতি চাওয়ার বিভিন্ন পদ্ধতি রয়েছে। অগ্রাধিকারের ক্রমানুসারে, সেগুলো হলো:

  • যখন কোনো নির্দিষ্ট কার্যকারিতার জন্য অনুমতিটি সুস্পষ্টভাবে প্রয়োজনীয়, কিন্তু পুরো অ্যাপটি চালানোর জন্য তা অপরিহার্য নয়, তখন প্রাসঙ্গিকতার সাথে অনুমতি চান।

  • যখন অনুমতি চাওয়ার কারণ সুস্পষ্ট নয় এবং পুরো অ্যাপটি চালানোর জন্য অনুমতিটি প্রয়োজনীয় নয়, তখন প্রাসঙ্গিকতার সাথে বিষয়টি ব্যাখ্যা করুন।

এই ধরণগুলো পরবর্তী বিভাগগুলোতে ব্যাখ্যা করা হয়েছে।

প্রাসঙ্গিকভাবে জিজ্ঞাসা করুন

যখন ব্যবহারকারীর কাছে এটা স্পষ্ট থাকে যে কোনো নির্দিষ্ট কাজ করার জন্য কেন অনুমতির প্রয়োজন, তখনই অনুমতির জন্য অনুরোধ করুন। ব্যবহারকারীরা যখন বুঝতে পারেন যে তারা যে ফিচারটি ব্যবহার করতে চান তার সাথে অনুমতিটির সংযোগ কী, তখন তাদের অনুমতি দেওয়ার সম্ভাবনা বেশি থাকে।

উদাহরণস্বরূপ, কাছাকাছি আকর্ষণীয় স্থানগুলো দেখানোর জন্য একটি অ্যাপের ব্যবহারকারীর অবস্থানের প্রয়োজন হতে পারে। যখন ব্যবহারকারী কাছাকাছি স্থান খোঁজার জন্য ট্যাপ করেন, তখন অ্যাপটি তাৎক্ষণিকভাবে অবস্থানের অনুমতি চাইতে পারে, কারণ কাছাকাছি স্থান খোঁজা এবং অবস্থানের অনুমতির প্রয়োজনীয়তার মধ্যে একটি সুস্পষ্ট সম্পর্ক রয়েছে। এই সম্পর্কের সুস্পষ্টতার কারণে অ্যাপটির জন্য অতিরিক্ত শিক্ষামূলক স্ক্রিন প্রদর্শন করা অপ্রয়োজনীয় হয়ে পড়ে।

যখন সুস্পষ্টভাবে প্রয়োজন হয়, অ্যাপটি অনুমতি চায়।
চিত্র ৫। প্রাসঙ্গিকভাবে অনুমতি চাওয়া।

প্রাসঙ্গিক শিক্ষা দিন

চিত্র ৬-এ প্রাসঙ্গিক শিক্ষার একটি উদাহরণ দেখানো হয়েছে। টাইমার শুরু করার জন্য অ্যাপটির কোনো অনুমতির প্রয়োজন হয় না, কিন্তু একটি ইনলাইন শিক্ষামূলক সংকেত দেখায় যে অ্যাক্টিভিটির একটি অংশ—অবস্থান শনাক্তকরণ—লক করা আছে। যখন ব্যবহারকারী সংকেতটিতে ট্যাপ করেন, তখন একটি অনুমতি-অনুরোধ স্ক্রিন প্রদর্শিত হয়, যা ব্যবহারকারীকে অবস্থান শনাক্তকরণ আনলক করার সুযোগ দেয়।

আপনার অ্যাপ আরও তথ্য প্রদান করবে কিনা, সেই সিদ্ধান্ত নিতে shouldShowRequestPermissionRationale() মেথডটি ব্যবহার করুন। অতিরিক্ত বিবরণের জন্য, “অ্যাপের অনুমতি অনুরোধ করুন” দেখুন। বিকল্পভাবে, আপনি GitHub-এ থাকা স্পিকার স্যাম্পল অ্যাপ্লিকেশনটি কীভাবে তথ্য প্রদর্শন করে তা খতিয়ে দেখতে পারেন।

যখন অনুমতির প্রয়োজন দেখা দেয়, তখন অ্যাপটি ব্যাখ্যা করে যে অনুমতিটি কেন দরকার।
চিত্র ৬। প্রাসঙ্গিকতার সাথে শিক্ষা প্রদান করুন।

প্রত্যাখ্যান সামলান

যদি ব্যবহারকারী এমন কোনো অনুরোধ করা অনুমতি প্রত্যাখ্যান করেন যা উদ্দিষ্ট কার্যকলাপের জন্য অপরিহার্য নয়, তবে তাকে সেই কার্যকলাপ চালিয়ে যেতে বাধা দেবেন না। যদি অনুমতি প্রত্যাখ্যানের কারণে কার্যকলাপের নির্দিষ্ট কিছু অংশ নিষ্ক্রিয় হয়ে যায়, তবে দৃশ্যমান ও কার্যকর প্রতিক্রিয়া জানান।

চিত্র ৭-এ একটি লক আইকনের ব্যবহার দেখানো হয়েছে, যা নির্দেশ করে যে ব্যবহারকারী কোনো ফিচার ব্যবহারের অনুমতি না দেওয়ায় সেটি লক করা আছে।

যখন ব্যবহারকারী অনুমতি প্রত্যাখ্যান করেন, তখন সংশ্লিষ্ট ফিচারটির পাশে একটি তালা আইকন দেখানো হয়।
চিত্র ৭। লক আইকন, যা নির্দেশ করে যে অনুমতি না পাওয়ার কারণে কোনো একটি ফিচার লক করা আছে।

যখন পূর্বে নাকচ করা কোনো পরিধানযোগ্য ডিভাইসের অনুমতির ডায়ালগ বক্স দ্বিতীয়বার আসে, তখন তাতে 'অস্বীকার করুন, আর দেখাবেন না' (Deny, don't show again ) নামে একটি বিকল্প থাকে। যদি ব্যবহারকারী এই বিকল্পটি বেছে নেন, তাহলে ভবিষ্যতে এই অনুমতিটি দেওয়ার একমাত্র উপায় হলো পরিধানযোগ্য ডিভাইসটির সেটিংস অ্যাপে প্রবেশ করা।

সিস্টেমটি অনুমতি চাওয়া বন্ধ করার প্রস্তাব দেয়।
চিত্র ৮। ব্যবহারকারী সেটিংস-এর মাধ্যমে এমন একটি অনুমতি অনুরোধ অ্যাক্সেস করতে পারেন যা পূর্বে দুইবার প্রত্যাখ্যান করা হয়েছে।

অনুমতি প্রত্যাখ্যান হলে কীভাবে তা সামাল দিতে হয় , সে সম্পর্কে আরও জানুন।

পরিষেবার জন্য অনুমতি

শুধুমাত্র একটি অ্যাক্টিভিটিই requestPermissions() ` মেথডটি কল করতে পারে, তাই যদি ব্যবহারকারী কোনো সার্ভিস ব্যবহার করে আপনার অ্যাপের সাথে ইন্টারঅ্যাক্ট করেন—উদাহরণস্বরূপ, একটি ওয়াচ ফেসের মাধ্যমে—তবে পারমিশন চাওয়ার আগে সার্ভিসটিকে অবশ্যই একটি অ্যাক্টিভিটি খুলতে হবে। এই অ্যাক্টিভিটিতে, পারমিশনটি কেন প্রয়োজন সে সম্পর্কে অতিরিক্ত ব্যাখ্যা প্রদান করুন।

সাধারণত, ওয়াচ ফেসের জন্য অনুমতি চাইবেন না। এর পরিবর্তে, একটি কমপ্লিকেশন যুক্ত করুন এবং ব্যবহারকারীকে সেই কমপ্লিকেশনের মাধ্যমে কোন ডেটা প্রদর্শন করা হবে তা বেছে নিতে দিন।

সেটিংস

একজন ব্যবহারকারী যেকোনো সময় সেটিংস থেকে একটি Wear অ্যাপের অনুমতি পরিবর্তন করতে পারেন। যখন ব্যবহারকারী এমন কিছু করার চেষ্টা করেন যার জন্য অনুমতির প্রয়োজন, তখন অ্যাপটির সেই কাজটি করার অনুমতি আছে কিনা তা দেখতে প্রথমে checkSelfPermission() মেথডটি কল করুন।

ব্যবহারকারী পূর্বে অনুমতি দিয়ে থাকলেও এই যাচাইটি করুন, কারণ তিনি পরবর্তীতে তা প্রত্যাহার করে নিতে পারেন।

ব্যবহারকারী সেটিংস অ্যাপের মাধ্যমে অনুমতি পরিবর্তন করতে পারেন।
চিত্র ৯। ব্যবহারকারী সেটিংস অ্যাপ ব্যবহার করে অনুমতি পরিবর্তন করতে পারেন।
{% হুবহু %} {% endverbatim %} {% হুবহু %} {% endverbatim %}