অ্যান্ড্রয়েড ১২-এ চালু হওয়া কম্প্যানিয়ন ডিভাইস প্রোফাইল এমন একটি ফিচার, যা কম্প্যানিয়ন অ্যাপগুলোকে নির্দিষ্ট ধরনের কম্প্যানিয়ন ডিভাইসের (যেমন, একটি স্মার্টওয়াচ) জন্য কিছু বিশেষ অনুমতির অনুরোধ করার সুযোগ দেয়। কম্প্যানিয়ন ডিভাইস প্রোফাইল ব্যবহার করলে এনরোলমেন্ট প্রক্রিয়া সহজ হয়ে যায়। এর ফলে, অ্যাপগুলোকে আলাদাভাবে একাধিক অনুরোধ পাঠানোর পরিবর্তে, ব্যবহারকারীদের মোবাইল ডিভাইসে একটি নির্দিষ্ট অনুমতির সেট অনুরোধ করার জন্য একটিমাত্র অনুরোধ দেখানো যায়। এর ফলে সেটআপের অভিজ্ঞতা আরও সহজ হয় এবং কম্প্যানিয়ন অ্যাপগুলোর জন্য অপ্ট-ইন রেটও উন্নত হয়।
কম্প্যানিয়ন ডিভাইস প্রোফাইল ব্যবহার করার জন্য, কম্প্যানিয়ন অ্যাপগুলোকে অবশ্যই নিম্নলিখিত শর্তগুলো পূরণ করতে হবে:
- একটি সহযোগী ডিভাইস (যেমন, একটি স্মার্টওয়াচ) পরিচালনা করুন।
- অ্যাপের এমন ফিচার ব্যবহার করুন বা অ্যান্ড্রয়েড এপিআই কল করুন, যার জন্য কম্প্যানিয়ন ডিভাইস প্রোফাইলের জন্য সংজ্ঞায়িত সমস্ত অনুমতির প্রয়োজন হয়।
প্রতিটি কম্প্যানিয়ন ডিভাইস প্রোফাইল একটি অ্যান্ড্রয়েড রোলের সাথে সম্পর্কিত। প্রতিটি প্রোফাইলের অনুমতি এবং সংশ্লিষ্ট অ্যান্ড্রয়েড রোল সম্পর্কে আরও তথ্যের জন্য, থার্ড-পার্টি অ্যাপের কম্প্যানিয়ন ডিভাইস প্রোফাইল দেখুন।
কম্প্যানিয়ন ডিভাইস সম্পর্কে আরও তথ্যের জন্য, কম্প্যানিয়ন ডিভাইস পেয়ারিং দেখুন।
ডিভাইসের আচরণ
এই অংশে কম্প্যানিয়ন ডিভাইস প্রোফাইল ব্যবহার করা হলে ডিভাইসের আচরণ বর্ণনা করা হয়েছে।
যখন কোনো ব্যবহারকারী একটি কম্প্যানিয়ন ডিভাইসের সাথে সংযোগ স্থাপনের জন্য কোনো অ্যাপের অনুরোধ গ্রহণ করেন, তখন CompanionDeviceManager (CDM) সার্ভিসটি কম্প্যানিয়ন অ্যাপটিকে ডিভাইস প্রোফাইল রোল (যেমন, ওয়াচ) প্রদান করে এবং সেই নির্দিষ্ট প্রোফাইল রোলের জন্য সংজ্ঞায়িত সমস্ত অনুমতি মঞ্জুর করে। চিত্র ১-এ COMPANION_DEVICE_WATCH ডিভাইস প্রোফাইলের জন্য একটি অ্যাপের অনুমতি অনুরোধ করার উদাহরণ দেখানো হয়েছে।

চিত্র ১. ঘড়ি ডিভাইস প্রোফাইলের জন্য অনুমতি চাওয়ার ডায়ালগ বক্স।
যখন কোনো ব্যবহারকারী সেটিংস-এ প্যাকেজ ডেটা মুছে ফেলেন বা কম্প্যানিয়ন অ্যাপ থেকে সমস্ত ডিভাইস সরিয়ে দেন, তখন অ্যাপটি ফোরগ্রাউন্ডে চালু না থাকা অবস্থায় বা কোনো ফোরগ্রাউন্ড সার্ভিস চালু না থাকা অবস্থায় CDM প্রোফাইলটি বাতিল করে দেয়। প্রোফাইল বাতিল করার ফলে সেই প্রোফাইলের জন্য নির্ধারিত সমস্ত অনুমতিও বাতিল হয়ে যায়।
কোনো ব্যবহারকারী একটি নির্দিষ্ট ডিভাইস প্রোফাইলের জন্য অ্যাপের অনুমতির অনুরোধ গ্রহণ করার পর, তিনি প্রদত্ত পৃথক অনুমতিগুলো প্রত্যাহার করতে পারেন। যখন কোনো ব্যবহারকারী অনুমতি প্রত্যাহার করেন, তখন অ্যাপটি সহযোগী ডিভাইসের সাথে সংযুক্ত থাকে, কিন্তু কিছু নির্দিষ্ট বৈশিষ্ট্য অনুপলব্ধ হয়ে যেতে পারে। যদি অ্যাপটির কাজ করার জন্য অনুমতিটির প্রয়োজন হয়, তবে অ্যাপটিকে অবশ্যই একটি সাধারণ অনুমতি অনুরোধের মাধ্যমে অনুমতিটি চাইতে হবে।
তৃতীয় পক্ষের অ্যাপের জন্য সহযোগী ডিভাইস প্রোফাইল
প্রোফাইল দেখুন
অ্যান্ড্রয়েড ১২-এ ওয়াচ প্রোফাইল চালু করা হয়েছে।
নিম্নলিখিত সারণিতে COMPANION_DEVICE_WATCH ডিভাইস প্রোফাইলের জন্য নির্ধারিত অনুমতিসমূহ এবং সেগুলি ব্যবহারের জন্য প্রয়োজনীয় শর্তাবলী বর্ণনা করা হয়েছে।
| অনুমতি | সহযোগী অ্যাপ এবং ডিভাইসের প্রয়োজনীয়তা |
|---|---|
বিজ্ঞপ্তিPOST_NOTIFICATIONS (added in Android 15) |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
চশমার প্রোফাইল
অ্যান্ড্রয়েড ১৪-এ গ্লাসেস প্রোফাইল চালু করা হয়েছে।
নিম্নলিখিত সারণিতে COMPANION_DEVICE_GLASSES ডিভাইস প্রোফাইলের জন্য নির্ধারিত অনুমতিসমূহ এবং সেগুলি ব্যবহারের জন্য প্রয়োজনীয় শর্তাবলী বর্ণনা করা হয়েছে।
| অনুমতি | সহযোগী অ্যাপ এবং ডিভাইসের প্রয়োজনীয়তা |
|---|---|
বিজ্ঞপ্তিPOST_NOTIFICATIONS |
|
Phone |
|
SMS |
|
Contacts |
|
Microphone |
|
Nearby devices |
|
Managing ongoing calls |
|
বাস্তবায়ন
যেসব থার্ড-পার্টি ডেভেলপার DEVICE_PROFILE_WATCH প্রোফাইল অনুরোধকারী একটি কম্প্যানিয়ন অ্যাপ তৈরি করছেন, তারা নিম্নলিখিত কাজগুলো করুন:
setDeviceProfileমেথডটি কল করুন।AssociationRequestতৈরি করার সময় একটি প্রোফাইল পাস করুন (উদাহরণস্বরূপ,DEVICE_PROFILE_WATCH)।
ডিভাইস নির্মাতারা ব্যবহারকারীর সম্মতি ডায়ালগ প্রদর্শন করা এড়িয়ে যাবে।
যেসব ডিভাইস প্রস্তুতকারক কোনো নির্দিষ্ট ডিভাইসের জন্য কম্প্যানিয়ন অ্যাপ তৈরি করেন, তাদের অ্যাপটিকে সার্টিফাই করার জন্য নিম্নলিখিত প্রয়োজনীয় অ্যান্ড্রয়েড সিস্টেম কনফিগারেশনগুলো ব্যবহার করতে হবে, যা অ্যাপটিকে ব্যবহারকারীদের জন্য সম্মতির ডায়ালগ প্রদর্শন করা এড়িয়ে যাওয়ার সুযোগ দেয়।
নিম্নলিখিত কমান্ড ব্যবহার করে সার্টিফিকেটটি পুনরুদ্ধার করুন:
keytool -printcert -jarfile PATH/TO/APKকনফিগারেশন ফাইলে নিচের নমুনা ইনপুটে দেখানো অনুযায়ী প্যাকেজের নাম এবং সার্টিফিকেট প্রতিস্থাপন করুন:
<!-- A list of packages managing companion device(s) by the same manufacturers as the main device. It will not create the association without prompting if the association has been called multiple times in a short period. Note that config_companionDeviceManagerPackage and config_companionDeviceCerts are parallel arrays. --> <string-array name="config_companionDevicePackages" translatable="false"> <item>YOUR_COMPANION_APP_PACKAGE_NAME</item> </string-array> <!-- A list of SHA256 Certificates managing companion device(s) by the same manufacturers as the main device. It will fall back to showing a prompt if the association has been called multiple times in a short period. Note that config_companionDeviceCerts and config_companionDeviceManagerPackage are parallel arrays. Example: "1A:2B:3C:4D" --> <string-array name="config_companionDeviceCerts" translatable="false"> <item>YOUR_COMPANION_APP_CERTIFICATE</item> </string-array>একটিমাত্র কম্প্যানিয়ন ডিভাইসের সাথে অ্যাসোসিয়েশন অনুরোধ করার জন্য
AssociationRequestব্যবহার করুন।
বৈধতা
কম্প্যানিয়ন ডিভাইস প্রোফাইল ফিচারের আচরণ পরীক্ষা করার জন্য, cts/tests/tests/companion/ ফোল্ডারে থাকা CTS টেস্টগুলো ব্যবহার করুন।