অ্যান্ড্রয়েড ভূমিকা

রোল হলো সিস্টেমের মধ্যে একটি অনন্য নাম যা নির্দিষ্ট অনুমতি এবং বিশেষাধিকারের সাথে যুক্ত থাকে। অ্যাপগুলো অ্যান্ড্রয়েড এপিআই-এর মাধ্যমে, বিশেষত RoleManager ক্লাসের মেথডগুলো কল করে, নির্দিষ্ট রোল ধারণ করার জন্য অনুরোধ করতে পারে।

উপলব্ধ পদ এবং সেগুলোর যোগ্যতা জানতে নিচের তালিকাটি দেখুন:

ভূমিকা প্রয়োজনীয়তা
ASSISTANT নিম্নলিখিতগুলির মধ্যে অন্তত একটি:
  • অ্যাপটিতে এমন একটি অ্যাক্টিভিটি আছে যা ব্যবহারকারীর অনুরোধ করার সময়কার প্রেক্ষাপটের তথ্যের (যেমন, বর্তমান ফোরগ্রাউন্ড অ্যাপের প্যাকেজ নেম এবং এর প্রাসঙ্গিক তথ্য) উপর ভিত্তি করে সহায়ক কাজগুলো সম্পাদন করে।
  • অ্যাপটিতে android.permission.BIND_VOICE_INTERACTION পারমিশন দ্বারা নিয়ন্ত্রিত একটি সর্বদা-সক্রিয় ভয়েস ইন্টারঅ্যাকশন পরিষেবা রয়েছে, যা ভয়েস রিকগনিশন করতে এবং সক্রিয় ভয়েস ইন্টারঅ্যাকশন সেশন হোস্ট করতে পারে। এছাড়াও, অ্যাপটিতে একটি সুস্পষ্ট ফ্ল্যাগ রয়েছে যা নির্দেশ করে যে পরিষেবাটি অ্যাসিস্ট অ্যাকশন পরিচালনা করতে সক্ষম।
BROWSER সবগুলো:
  • অ্যাপটিতে এমন একটি অ্যাক্টিভিটি রয়েছে যা অ্যাপগুলো ইমপ্লিসিট ইনটেন্ট রিকোয়েস্টের মাধ্যমে চালু করতে পারে এবং এটি একটি http:// অ্যাড্রেসের সাথে সম্পর্কিত ওয়েব পেজ প্রদর্শন করে।
  • অ্যাপটিকে লিঙ্কগুলোর মধ্যে নেভিগেশন পরিচালনা করতে হবে। অর্থাৎ, ব্যবহারকারী যখন কোনো ওয়েব পেজ দেখছেন এবং টেক্সটের মধ্যে থাকা কোনো http:// অ্যাড্রেসে ক্লিক করেন, তখন অ্যাপটিকে ব্যবহারকারীর অতিরিক্ত হস্তক্ষেপ ছাড়াই নির্বাচিত লিঙ্কের সাথে সম্পর্কিত কন্টেন্ট প্রদর্শন করতে সক্ষম হতে হবে।
  • যখন অনুরোধ করা হবে এবং ব্যবহারকারী অনুরোধটি অনুমোদন করবেন, তখন অ্যাপটিকে ওয়েব পেজগুলোতে ডিভাইসের বর্তমান ভূ-অবস্থান সংক্রান্ত তথ্য সরবরাহ করতে সক্ষম হতে হবে।
DIALER সবগুলো:
  • অ্যাপটিতে এমন একটি অ্যাক্টিভিটি রয়েছে যা অ্যাপগুলো ইমপ্লিসিট ইনটেন্ট রিকোয়েস্টের মাধ্যমে চালু করতে পারে, এবং ডিভাইসটি কলে থাকা অবস্থায় এটি ইন-কল ইউজার ইন্টারফেস প্রদান করে।
  • অ্যাপটি ইনকামিং কল ইন্টেন্ট পরিচালনা করতে পারে, ব্যবহারকারীকে কল সম্পর্কিত তথ্য (যেমন, কলারের ফোন নম্বর) দেখাতে পারে এবং ব্যবহারকারীকে কলটি গ্রহণ বা প্রত্যাখ্যান করার সুযোগ দিতে পারে।
  • অ্যাপটি ব্যবহারকারীকে কল শুরু করার এবং তার ডিভাইসে কলের ইতিহাস দেখার সুযোগ দেয়।
SMS সবগুলো:
  • অ্যাপটি এসএমএস অ্যাপের সকল শর্ত পূরণ করে।
  • অ্যাপটিতে এমন একটি অ্যাক্টিভিটি রয়েছে যা অ্যাপগুলো ইমপ্লিসিট ইনটেন্ট রিকোয়েস্টের মাধ্যমে চালু করতে পারে, যার সাহায্যে কোনো ফোন নম্বরে মেসেজ পাঠানো যায়।
  • অ্যাপটিতে android.permission.SEND_RESPOND_VIA_MESSAGE পারমিশন দ্বারা নিয়ন্ত্রিত এবং ইমপ্লিসিট ইন্টেন্টের মাধ্যমে চালু করা যায় এমন একটি সার্ভিস রয়েছে, যা ইনকামিং কলের সময় ব্যবহারকারী মেসেজের মাধ্যমে উত্তর দেওয়ার বিকল্পটি বেছে নিলে ফোন অ্যাপ থেকে আসা মেসেজ পৌঁছে দিতে পারে। অ্যাপটি তার নিজস্ব মেসেজিং সিস্টেমের মাধ্যমেও মেসেজ পাঠাতে পারে।
  • অ্যাপটিতে দুটি ব্রডকাস্ট রিসিভার রয়েছে, যার একটি android.permission.BROADCAST_SMS পারমিশন দ্বারা এবং অন্যটি android.permission.BROADCAST_WAP_PUSH পারমিশন দ্বারা নিয়ন্ত্রিত। এই রিসিভার দুটি যথাক্রমে ডিভাইসে পাঠানো টেক্সট-ভিত্তিক এসএমএস এবং এমএমএস বার্তা শুনতে পারে। এরপর অ্যাপটি সেই বার্তাগুলো এসএমএস প্রোভাইডারের কাছে লিখে রাখা এবং ব্যবহারকারীদের অবহিত করার দায়িত্বে থাকে।
EMERGENCY সবগুলো:
  • অ্যাপটি একটি সিস্টেম অ্যাপ
  • অ্যাপটিতে একটি অ্যাক্টিভিটি রয়েছে যা ব্যবহারকারীর জরুরি তথ্য প্রদর্শন করে। যে কেউ 'ইমার্জেন্সি ডায়ালার' অ্যাক্টিভিটির 'ইমার্জেন্সি' বাটনের মাধ্যমে এই স্ক্রিনে যেতে পারেন।
HOME অ্যাপটিতে এমন একটি অ্যাক্টিভিটি আছে যা ব্যবহারকারী হোম বাটন চাপলে হোম স্ক্রিন চালু করতে পারে। হোম স্ক্রিনে অ্যাপ আইকন ও উইজেট দেখানো উচিত এবং বাটন বা জেসচারের (যেমন, সব অ্যাপ দেখার জন্য উপরে সোয়াইপ করা) মাধ্যমে নেভিগেশনের সুবিধা থাকা উচিত।
CALL_REDIRECTION অ্যাপটিতে android.permission.BIND_CALL_REDIRECTION_SERVICE পারমিশন দ্বারা নিয়ন্ত্রিত একটি সার্ভিস রয়েছে, যেটিতে টেলিকম ফ্রেমওয়ার্ক বাইন্ড করতে পারে। সার্ভিসটি টেলিকম ফ্রেমওয়ার্ক থেকে আউটগোয়িং ফোন নম্বর গ্রহণ করে এবং নিম্নলিখিত কাজগুলোর মধ্যে একটি সম্পাদন করে:
  • কলটি যেমন আছে তেমনই করার অনুমতি দিন।
  • বহির্গামী নম্বরটি একটি প্রক্সি নম্বরের মাধ্যমে রাউট করার জন্য পরিবর্তন করুন।
  • কলটি বাতিল করুন।
CALL_SCREENING অ্যাপটিতে android.permission.BIND_SCREENING_SERVICE পারমিশন দ্বারা নিয়ন্ত্রিত একটি সার্ভিস রয়েছে, যা দুটি কাজ সম্পাদন করে:
  • কল ব্লক ও স্ক্রিনিং: এই পরিষেবাটি বেছে নিতে পারে যে কোন কলগুলো ফোনের ডায়ালার অ্যাপে পাঠানো হবে (এবং ডিএনডি বা ভলিউম চালু থাকলে রিংও হতে পারে), এবং কোনগুলো নীরবে ভয়েসমেইলে পাঠানো হবে।
  • কল শনাক্তকরণ: পরিষেবাটি একটি ইউজার ইন্টারফেসের মাধ্যমে কোনো কল শনাক্ত করতে এবং সে সম্পর্কিত তথ্য প্রদর্শন করতে পারে।
SUPERVISION সবগুলো:
  • অ্যাপটি একটি সিস্টেম অ্যাপ অথবা আগে থেকে ইনস্টল করা পরিষেবা।
  • শুধুমাত্র OEM-রাই অ্যাপটিকে এই ভূমিকাটি প্রদান করতে পারে।
  • অ্যাপটির একমাত্র উদ্দেশ্য হলো ব্যবহারকারীর পিতা-মাতা বা আইনসম্মত অভিভাবককে ডিভাইসটি পরিচালনা করার ক্ষমতা দেওয়া।
  • অ্যাপটিতে ডিভাইসে এমন একটি UI কম্পোনেন্ট থাকতে হবে, যা ব্যবহার করে অনুমোদিত ব্যবহারকারী সুপারভিশন রোলটি বন্ধ করতে পারবেন।
SYSTEM_GALLERY সবগুলো:
  • অ্যাপটি একটি সিস্টেম অ্যাপ
  • শুধুমাত্র OEM-রাই অ্যাপটিকে এই ভূমিকাটি প্রদান করতে পারে।
  • অ্যাপটি ব্যবহারকারীদের তাদের ভিডিও এবং ছবি সংরক্ষণ, সাজানো ও প্রদর্শন করার জন্য একটি ইউজার ইন্টারফেস প্রদান করে।
SYSTEM_AUTOMOTIVE_CLUSTER সবগুলো:
  • অ্যাপটি অটোমোটিভ-এর একটি সিস্টেম অ্যাপ
  • শুধুমাত্র OEM-রাই অ্যাপটিকে এই ভূমিকাটি প্রদান করতে পারে।
  • এই অ্যাপটি ব্যবহারকারীদের গাড়ির ক্লাস্টার ডিসপ্লে (যা সাধারণত স্টিয়ারিং হুইলের পাশে থাকে) ব্যবহার করে ফোন কলের উত্তর দেওয়া এবং কন্টাক্ট লিস্ট ও কল লগ অ্যাক্সেস করার সুবিধা প্রদান করে।
COMPANION_DEVICE_WATCH অ্যাপটি একটি ওয়াচ ডিভাইসের সাথে যুক্ত হতে এবং সেটিকে পরিচালনা করার জন্য অনুরোধ করতে পারে ( CompanionDeviceManager ক্লাস দ্বারা প্রদত্ত API ব্যবহার করে)। যখন অ্যাপটির দেওয়া UI-এর মাধ্যমে ওয়াচ এবং অ্যাপটি সংযুক্ত থাকে, তখন ব্যবহারকারীরা অ্যাপ থেকেই তাদের ওয়াচটি পরিচালনা করতে পারেন, যার মধ্যে রয়েছে কন্ট্যাক্ট ও ক্যালেন্ডার সিঙ্ক করা এবং নোটিফিকেশন ও ফোন কল ম্যানেজ করা।
SYSTEM_AUTOMOTIVE_PROJECTION সবগুলো:
  • অ্যাপটি একটি সিস্টেম অ্যাপ
  • শুধুমাত্র OEM-রাই অ্যাপটিকে এই ভূমিকাটি প্রদান করতে পারে।
  • এই অ্যাপটি গাড়ির ভেতরের ডিসপ্লেতে ফোনের স্ক্রিন প্রজেক্ট করতে সক্ষম করে। এটি চালকদের গাড়ির টাচ, স্টিয়ারিং হুইল কন্ট্রোল এবং ভয়েস কমান্ডের মতো ইনপুট মেকানিজম ব্যবহার করে অ্যান্ড্রয়েড ফোনের মিউজিক, নেভিগেশন, ফোন কল এবং সার্চ-সহ বিভিন্ন অ্যাপ অ্যাক্সেস ও নিয়ন্ত্রণ করতে দেয়।
SYSTEM_SHELL সবগুলো:
  • অ্যাপটি একটি সিস্টেম অ্যাপ , যেটিকে Process.SHELL_UID UID বরাদ্দ করা হয়েছে।
  • শুধুমাত্র OEM-রাই অ্যাপটিকে এই ভূমিকাটি প্রদান করতে পারে।
  • অ্যাপটি একটি কমান্ড-লাইন স্তরের ইন্টারফেস প্রদান করে, যার মাধ্যমে ব্যবহারকারীরা অ্যান্ড্রয়েড ওএস-এর সাথে ইন্টারঅ্যাক্ট করতে পারেন। উদাহরণস্বরূপ, কোনো ফোল্ডারের বিষয়বস্তু প্রদর্শন করা বা অ্যাপ চালু করা। শেল কমান্ডগুলো অ্যাপ দ্বারা প্রোগ্রাম্যাটিকভাবে (প্রয়োজনীয় অনুমতি দেওয়া থাকলে) অথবা এডিবি টুল থেকে চালানো যেতে পারে।
SYSTEM_CONTACTS সবগুলো:
  • অ্যাপটি একটি সিস্টেম অ্যাপ
  • শুধুমাত্র OEM-রাই অ্যাপটিকে এই ভূমিকাটি প্রদান করতে পারে।
  • অ্যাপটি ব্যবহারকারীদের তাদের পরিচিতিগুলি পরিচালনা করার জন্য একটি ইউজার ইন্টারফেস (UI) প্রদান করে (যেমন, পরিচিতি দেখা, শেয়ার করা, যোগ করা, মুছে ফেলা বা অনুসন্ধান করা)। ব্যবহারকারী যখন অ্যাপ থেকে তাদের পরিচিতিগুলি আপডেট করেন, তখন অ্যাপটি কন্টাক্টস প্রোভাইডারকেও আপডেট করে। ব্যবহারকারীরা অ্যাপ থেকে তাদের পরিচিতিদের কল, ইমেল বা টেক্সট মেসেজও পাঠাতে পারেন।
SYSTEM_SPEECH_RECOGNIZER সবগুলো:
  • অ্যাপটি একটি সিস্টেম অ্যাপ
  • শুধুমাত্র OEM-রাই অ্যাপটিকে এই ভূমিকাটি প্রদান করতে পারে।
  • অ্যাপটি এমন একটি পরিষেবা প্রদান করে যা কথ্য ভাষা শনাক্ত করতে পারে।
  • যখন অ্যাপটি স্পিচ রিকগনিশনের জন্য অন্য কোনো অ্যাপ থেকে লাইভ মাইক্রোফোন স্ট্রিম গ্রহণ করে, তখন এটি সঠিকভাবে মাইক্রোফোন ব্যবহারের বিষয়টি কলিং অ্যাপের সাথে যুক্ত করে এবং সেই অনুযায়ী অ্যাপের কার্যক্রমের পরিসংখ্যান আপডেট করে।
SYSTEM_WIFI_COEX_MANAGER সবগুলো:
  • অ্যাপটি একটি সিস্টেম অ্যাপ
  • শুধুমাত্র OEM-রাই অ্যাপটিকে এই ভূমিকাটি প্রদান করতে পারে।
  • অ্যাপটিতে এমন একটি পরিষেবা রয়েছে যা সেলুলার ইন্টারফারেন্সের কারণে ডিভাইসটির এড়িয়ে চলার জন্য ওয়াই-ফাই চ্যানেলগুলোর একটি তালিকা গতিশীলভাবে সেট করে।
SYSTEM_WELLBEING সবগুলো:
  • অ্যাপটি একটি সিস্টেম অ্যাপ
  • শুধুমাত্র OEM-রাই অ্যাপটিকে এই ভূমিকাটি প্রদান করতে পারে।
  • অ্যাপটিতে ব্যবহারকারীদের মনোযোগের বিচ্যুতি কমানোর সুবিধা থাকা উচিত এবং তারা কীভাবে তাদের ডিভাইস ব্যবহার করে সে সম্পর্কে পরিসংখ্যান দেওয়া উচিত (উদাহরণস্বরূপ, প্রতি সপ্তাহে তাদের স্ক্রিন টাইম)।
SYSTEM_TELEVISION_NOTIFICATION_HANDLER সবগুলো:
  • অ্যাপটি একটি সিস্টেম অ্যাপ
  • শুধুমাত্র OEM-রাই অ্যাপটিকে এই ভূমিকাটি প্রদান করতে পারে।
  • অ্যাপটিকে অবশ্যই টিভি ডিভাইসে ব্যবহারকারীদের হেডস-আপ নোটিফিকেশন দেখাতে হবে। এছাড়াও, যখন (SystemUI থেকে) android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL ইন্টেন্টটি পাঠানো হয়, তখন অ্যাপটিকে অবশ্যই বর্তমান সক্রিয় নোটিফিকেশনগুলোও দেখাতে হবে।
SYSTEM_COMPANION_DEVICE_PROVIDER সবগুলো:
  • অ্যাপটি একটি সিস্টেম অ্যাপ
  • শুধুমাত্র OEM-রাই অ্যাপটিকে এই ভূমিকাটি প্রদান করতে পারে।
  • অ্যাপটিকে অবশ্যই তার আশেপাশে থাকা পেরিফেরাল ডিভাইসগুলো শনাক্ত করতে সক্ষম হতে হবে। এটির একটি ইউজার ইন্টারফেস (UI) থাকতে হবে, যেখানে ব্যবহারকারী নিশ্চিত করতে পারবেন যে একটি নির্দিষ্ট পেরিফেরাল ডিভাইস কোনো একটি অ্যাপের সাথে যুক্ত এবং সেই অ্যাপ দ্বারা পরিচালিত হবে। ব্যবহারকারী নিশ্চিত করলে, পরিচালনাকারী অ্যাপটি সংশ্লিষ্ট অ্যাপটিকে পেরিফেরাল ডিভাইসটি অ্যাক্সেস করার অনুমতি দেয় (যেমন, এর নাম, অ্যাড্রেস, ক্লাস এবং বন্ডিং স্টেট) এবং এটি বন্ডিং প্রক্রিয়া শুরু করতে পারে।
SYSTEM_DOCUMENT_MANAGER সবগুলো:
  • অ্যাপটি একটি সিস্টেম অ্যাপ
  • শুধুমাত্র OEM-রাই অ্যাপটিকে এই ভূমিকাটি প্রদান করতে পারে।
  • অ্যাপটিতে এমন একটি অ্যাক্টিভিটি রয়েছে, যার মাধ্যমে ব্যবহারকারীরা ডিভাইসে বিদ্যমান ডকুমেন্টগুলো দেখতে এবং নতুন ডকুমেন্ট তৈরি করতে পারেন।
  • অ্যাপটিকে অবশ্যই অ্যান্ড্রয়েড সিডিডি-র ২.২.৩. সফটওয়্যার বিভাগের [3.2.3.1/H-0-1] শিরোনামের অধীনে বর্ণিত সমস্ত প্রয়োজনীয়তা পূরণ করতে হবে।
SYSTEM_ACTIVITY_RECOGNIZER সবগুলো:
  • অ্যাপটি একটি সিস্টেম অ্যাপ
  • অ্যাপটিতে android.permission.ACTIVITY_RECOGNITION দ্বারা নিয়ন্ত্রিত একটি সার্ভিস রয়েছে, যা বিভিন্ন কার্যকলাপ (যেমন, দৌড়ানো বা সাইকেল চালানো) শনাক্ত করতে পারে।
SYSTEM_UI সবগুলো:
  • অ্যাপটি একটি সিস্টেম অ্যাপ
  • শুধুমাত্র OEM-রাই অ্যাপটিকে এই ভূমিকাটি প্রদান করতে পারে।
  • অ্যাপটিতে ব্যবহারকারীদের ফোনের সাথে ইন্টারঅ্যাক্ট করার জন্য একটি ইন্টারফেস রয়েছে। যেমন, ফোনের মূল স্ক্রিন, নেভিগেশন, রিসেন্ট অ্যাপস, কুইক সেটিংস, নোটিফিকেশন বার, লকস্ক্রিন, ভলিউম কন্ট্রোল।
SYSTEM_TELEVISION_REMOTE_SERVICE সবগুলো:
  • অ্যাপটি অ্যান্ড্রয়েড টিভির একটি সিস্টেম অ্যাপ
  • শুধুমাত্র OEM-রাই অ্যাপটিকে এই ভূমিকাটি প্রদান করতে পারে।
  • অ্যাপটিতে এমন একটি পরিষেবা রয়েছে যা টিভি রিমোট কন্ট্রোলের HID ডিভাইসের সাথে যোগাযোগ করতে পারে (উদাহরণস্বরূপ, BLE-এর মাধ্যমে), ইভেন্ট যুক্ত করতে পারে (উদাহরণস্বরূপ, বোতামে ক্লিক), এবং প্ল্যাটফর্মে অন্যান্য ডেটা পাঠাতে পারে (উদাহরণস্বরূপ, রিমোটে থাকা মাইক্রোফোন থেকে অডিও স্ট্রিম)।
SYSTEM_UI_INTELLIGENCE সবগুলো:
  • এটি একটি পূর্ব-ইনস্টল করা পরিষেবা যা ফ্রেমওয়ার্ক এপিআই (পাবলিক বা সিস্টেম এপিআই)-এর মাধ্যমে সিস্টেম ইউআই বৈশিষ্ট্যগুলির জন্য ডিভাইসে একটি বুদ্ধিমান প্রসেসর সরবরাহ করে (উদাহরণস্বরূপ, ব্যবহারকারীদের জন্য পরবর্তী অ্যাপগুলি অনুমান করা এবং দেখানো)।
  • সার্ভিসটিকে অবশ্যই অ্যান্ড্রয়েড সিডিডি-র ৯.৮.৬ কন্টেন্ট ক্যাপচার সেকশনে বর্ণিত সকল আবশ্যকতা পূরণ করতে হবে।
  • সার্ভিসটির android.permission.INTERNET পারমিশন থাকতে পারে না। এর পরিবর্তে, এটিকে অবশ্যই একটি ওপেন সোর্স প্রজেক্টের সুনির্দিষ্ট API-এর মাধ্যমে ইন্টারনেট অ্যাক্সেস করতে হবে।
  • নিম্নলিখিত সিস্টেম অ্যাপগুলি ছাড়া, পরিষেবাটি অন্য কোনো অ্যাপের সাথে যুক্ত হতে পারে না: ব্লুটুথ, কন্টাক্টস, মিডিয়া, টেলিফোনি, সিস্টেমইউআই, এবং ইন্টারনেট এপিআই প্রদানকারী কম্পোনেন্টসমূহ। প্রতিটি অনুমোদিত বাইন্ডিং অবশ্যই সিস্টেম কনফিগের <allow-association> কনফিগারেশনের মাধ্যমে সুস্পষ্টভাবে সেট আপ করতে হবে।
  • ব্যবহারকারীর সরাসরি কোনো পদক্ষেপ না থাকলে (উদাহরণস্বরূপ, প্রতিবার ডেটা শেয়ার করার সময় ব্যবহারকারীকে স্পষ্টভাবে কোনো বোতাম চাপতে না হলে) পরিষেবাটি অ্যাপগুলির সাথে ডেটা শেয়ার করতে পারে না।
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE সবগুলো:
  • SYSTEM_UI_INTELLIGENCE এর শর্তাবলীর অনুরূপ, তবে এক্ষেত্রে আগে থেকে ইনস্টল করা পরিষেবাটি পারিপার্শ্বিক অডিওর জন্য ডিভাইসে একটি ইন্টেলিজেন্ট প্রসেসর সরবরাহ করে (উদাহরণস্বরূপ, ডিভাইসের কাছাকাছি বাজতে থাকা গান শনাক্ত করা)।
SYSTEM_AUDIO_INTELLIGENCE সবগুলো:
  • SYSTEM_UI_INTELLIGENCE এর শর্তাবলীর অনুরূপ, তবে এক্ষেত্রে আগে থেকে ইনস্টল করা পরিষেবাটি অডিওর জন্য ডিভাইসে একটি ইন্টেলিজেন্ট প্রসেসর সরবরাহ করে (যেমন, ভিডিও, পডকাস্ট, ফোন কল, ভিডিও কল এবং অডিও মেসেজে ক্যাপশন যোগ করা)।
SYSTEM_NOTIFICATION_INTELLIGENCE সবগুলো:
  • SYSTEM_UI_INTELLIGENCE এর শর্তাবলীর অনুরূপ, তবে এক্ষেত্রে আগে থেকে ইনস্টল করা পরিষেবাটি নোটিফিকেশনের জন্য ডিভাইসে একটি ইন্টেলিজেন্ট প্রসেসর সরবরাহ করে (উদাহরণস্বরূপ, মেসেজ নোটিফিকেশনের জন্য উত্তর এবং করণীয় কাজের পরামর্শ দেওয়া)।
SYSTEM_TEXT_INTELLIGENCE সবগুলো:
  • SYSTEM_UI_INTELLIGENCE এর শর্তাবলীর অনুরূপ, তবে এক্ষেত্রে আগে থেকে ইনস্টল করা পরিষেবাটি টেক্সটের জন্য ডিভাইসেই একটি ইন্টেলিজেন্ট প্রসেসর সরবরাহ করে (উদাহরণস্বরূপ, লাইভ অনুবাদ বা অটোফিল)।
SYSTEM_VISUAL_INTELLIGENCE সবগুলো:
  • SYSTEM_UI_INTELLIGENCE এর শর্তাবলীর অনুরূপ, তবে এক্ষেত্রে আগে থেকে ইনস্টল করা পরিষেবাটি ভিজ্যুয়াল ফিচারগুলোর জন্য ডিভাইসে একটি ইন্টেলিজেন্ট প্রসেসর সরবরাহ করে, যা ক্যামেরা ডেটা বিশ্লেষণ করে। উদাহরণস্বরূপ, ব্যবহারকারী যখন ফোনের দিকে তাকিয়ে থাকেন তখন স্ক্রিনটি চালু রাখা অথবা ডিভাইসের সামনের ক্যামেরা থেকে ব্যবহারকারীর মুখের অবস্থানের উপর ভিত্তি করে আদর্শ স্ক্রিন ওরিয়েন্টেশন নির্ধারণ করা।
COMPANION_DEVICE_APP_STREAMING সবগুলো:
  • অ্যাপটি একটি সিস্টেম অ্যাপ
  • শুধুমাত্র OEM-রাই অ্যাপটিকে এই ভূমিকাটি প্রদান করতে পারে।
  • অনুমোদিত ব্যবহারের ক্ষেত্রসমূহ:
    • মোবাইল ফোন বা ট্যাবলেটের মতো অ্যান্ড্রয়েড-চালিত ডিভাইস থেকে ডেস্কটপ বা ল্যাপটপ কম্পিউটারে এমন অ্যাপের স্ট্রিমিং, কাস্টিং বা মিররিং করা, যেগুলো স্ট্রিমিং, কাস্টিং বা মিররিং-এর সুবিধা দেয়।
  • ডিভাইস A থেকে ডিভাইস B-তে প্রাথমিক সংযোগ স্থাপন করার সময়:
    • পেয়ারিং অবশ্যই সোর্স ডিভাইস (A)-তে প্রদর্শিত একটি ওয়ান-টাইম কোডের মাধ্যমে অনুমোদিত হতে হবে, যা সংযুক্ত ডিভাইস (B)-তে প্রবেশ করাতে হবে। বিকল্পভাবে, যদি উভয় ডিভাইসের অ্যান্ড্রয়েড অ্যাকাউন্ট ম্যানেজারে অন্তত একটি মিলে যাওয়া অ্যাকাউন্ট থাকে, তবে ব্যবহারকারী সংযুক্ত ডিভাইস (B)-তে অ্যাকাউন্টের পাসওয়ার্ড প্রবেশ করিয়ে পেয়ারিং নিশ্চিত করতে পারেন।
    • পেয়ারিং করার সময় ডিভাইস দুটিকে একে অপরের কাছাকাছি থাকতে হবে।
  • স্ট্রিমিং করার সময় উভয় ডিভাইসকে একে অপরের কাছাকাছি থাকতে হবে।
  • অ্যাপটি সংযুক্ত ডিভাইসগুলোর সাথে যোগাযোগ চ্যানেল তৈরি ও পরিচালনা করতে পারে, যাতে ডিভাইসগুলো ডেটা আদান-প্রদান করতে পারে। এই যোগাযোগ চ্যানেলগুলো স্থাপন করার জন্য অ্যাপ এবং সংযুক্ত ডিভাইসগুলোকে অবশ্যই একে অপরকে সফলভাবে প্রমাণীকরণ করতে হবে (উদাহরণস্বরূপ, শেয়ার্ড কী সম্পর্কে তাদের জ্ঞান প্রমাণ করার মাধ্যমে)। যোগাযোগ চ্যানেলগুলোতে অবশ্যই এন্ড-টু-এন্ড এনক্রিপশন সুরক্ষা থাকতে হবে।
  • অ্যাপটি উৎস ডিভাইস (A) থেকে সংযুক্ত ডিভাইস (B)-তে নোটিফিকেশন পাঠাতে পারে, যাতে ব্যবহারকারী সংযুক্ত ডিভাইস (B)-তে নোটিফিকেশনগুলোর উপর ব্যবস্থা নিতে পারেন।
  • সংযুক্ত ডিভাইস (B)-তে অ্যাপ স্ট্রিমিংয়ের জন্য প্রয়োজনীয় মেটাডেটা স্ট্রিম করতে সক্ষম হওয়া, যেমন উৎস ডিভাইস (A)-তে উপলব্ধ অ্যাপের তালিকা।
  • ব্যবহারকারী সুস্পষ্ট সম্মতির মাধ্যমে (সোর্স ডিভাইস (A) বা কানেক্টেড ডিভাইস (B)-তে) তার পছন্দ জানানোর পর, সোর্স ডিভাইস (A) থেকে কানেক্টেড ডিভাইস (B)-তে অ্যাপ স্ট্রিম করা যাবে।
  • সংযুক্ত ডিভাইস (B)-তে একটি স্ট্রিম করা অ্যাপে ঘটা ইভেন্টগুলিকে উৎস ডিভাইস (A)-তে পুনরায় প্লে (ইনজেক্ট) করতে সক্ষম হওয়া। উদাহরণস্বরূপ, উৎস ডিভাইস (A)-এর মতো একই স্থানাঙ্কে সংযুক্ত ডিভাইস (B)-তে একটি টাচ ইভেন্ট পুনরায় প্লে করা, অথবা উৎস ডিভাইস (A)-এর মতো একই ইনপুট সেম্যান্টিকস সহ সংযুক্ত ডিভাইস (B)-তে ঘটা একটি ইনপুট ইভেন্ট পুনরায় প্লে করা।
  • যখন কোনো স্ট্রিম করা অ্যাপ মাইক্রোফোন ব্যবহার করছে, তখন অ্যাপটি উৎস ডিভাইসের মাইক্রোফোন স্ট্রিমকে সংযুক্ত ডিভাইসের মাইক্রোফোন স্ট্রিম দিয়ে প্রতিস্থাপন করতে পারে।
  • অ্যাপটি উৎস ডিভাইস (A) থেকে অডিও গ্রহণ করে এবং সংযুক্ত ডিভাইস (B)-তে তা স্ট্রিম করে।
  • সংযুক্ত ডিভাইস (B) থেকে সেটিংস অ্যাপ এবং অ্যাপ স্টোরে প্রবেশাধিকার ব্লক করার পরামর্শ দেওয়া হচ্ছে।
  • অ্যান্ড্রয়েড ১৬ থেকে , সংযুক্ত ডিভাইসে (B) সুরক্ষিত উইন্ডো এবং সারফেসের মতো সংবেদনশীল বিষয়বস্তুর স্ক্রিনশট নেওয়া এবং স্ক্রিন রিডিং অবশ্যই প্রতিরোধ করতে হবে।
  • সংযুক্ত ডিভাইসটির OS বিল্ডের অখণ্ডতা অবশ্যই যাচাই করতে হবে (উদাহরণস্বরূপ, VerifiedBootState এর মতো ডিভাইস অ্যাটেস্টেশন ব্যবহার করে)।
  • শুধুমাত্র সেইসব অ্যাপ স্ট্রিম করুন যেগুলোর উভয় ডিভাইসের অন-ডিভাইস অ্যাকাউন্ট রেজিস্ট্রিতে (উদাহরণস্বরূপ, অ্যান্ড্রয়েডের AccountManager ক্লাস) কেবল একটিই মিল থাকা অ্যাকাউন্ট রয়েছে। যদি এমনটা না হয়, তবে সোর্স ডিভাইস (A)-তে দেখানো একটি ওয়ান-টাইম কোড দিয়ে স্ট্রিমিং অবশ্যই অনুমোদন করতে হবে এবং সংযুক্ত ডিভাইস (B)-তে সেই কোডটি প্রবেশ করাতে হবে। মনে রাখবেন যে, যেসব ডিভাইস অ্যান্ড্রয়েড মাল্টি-ইউজারের মতো একই নির্ভরযোগ্য ডেটা আইসোলেশন সহ মাল্টি-ইউজার (মাল্টি-অ্যাকাউন্ট নয়) সমর্থন করে, সেসব ক্ষেত্রে একজন ব্যবহারকারীকে একটি ডিভাইস হিসেবে গণ্য করা হয়।
  • যদি সংযুক্ত ডিভাইস (B)-তে থাকা অ্যাকাউন্টের প্রমাণীকরণের মেয়াদ শেষ হয়ে যায় বা তা বাতিল করা হয়, তাহলে অবশ্যই অবিলম্বে স্ট্রিমিং বন্ধ করতে হবে এবং সংযুক্ত ডিভাইস (B) থেকে সংযোগ বিচ্ছিন্ন করতে হবে।
  • যে সংযুক্ত ডিভাইস (B)-তে ডিসপ্লে কন্টেন্ট দেখা যাচ্ছে, সেটির আইডল টাইমআউট শেষ হলে অবশ্যই স্ট্রিমিং বন্ধ করতে হবে এবং সংযুক্ত ডিভাইস (B) থেকে সংযোগ বিচ্ছিন্ন করতে হবে। ওয়েক-লক (WakeLock)-এর মতো ক্ষেত্রে, যা অ্যান্ড্রয়েড ডিভাইসের স্ক্রিন চালু রাখে, সংযুক্ত ডিভাইসটির স্ক্রিন চালু রাখা যেতে পারে। একটি আইডল টাইমআউট অবশ্যই থাকতে হবে। যদি সংযুক্ত ডিভাইস (B)-তে নিজে থেকে কোনো আইডল টাইমআউট না থাকে, তবে সর্বোচ্চ ৫ মিনিটের একটি আইডল টাইমআউট অবশ্যই ব্যবহার করতে হবে।
  • যদি উৎস ডিভাইস (A) লকস্ক্রিন নলেজ ফ্যাক্টর (LSKF) ব্যবহার করে, তাহলে স্ক্রিন লক থাকা অবস্থায় অ্যাপটি সংযুক্ত ডিভাইস (B)-তে অ্যাপ স্ট্রিম করতে পারবে না, যদি না সংযুক্ত ডিভাইস (B)-টিতে লক স্ক্রিন থাকে এবং সেটি আনলক করা থাকে।
  • যদি উৎস ডিভাইস (A) কোনো অ্যাডমিন দ্বারা পরিচালিত হয়, তাহলে অ্যাপটিকে অবশ্যই কাছাকাছি ডিভাইসগুলিতে স্ট্রিমিং চালু বা বন্ধ করার বিষয়ে অ্যাডমিনের সেট করা নীতিগুলি মেনে চলতে হবে (উদাহরণস্বরূপ, অ্যান্ড্রয়েডের DevicePolicyManager সেটিংস ব্যবহার করে)।
  • অবশ্যই নিশ্চিত করতে হবে যে ব্যবহারকারীর দৃষ্টিকোণ থেকে রিমোট ডিসপ্লে এবং রিমোট ইনপুট ইভেন্টের সমস্ত উৎস একই লজিক্যাল ডিভাইসের (উদাহরণস্বরূপ, একটি রিমোট ডিসপ্লে এবং একটি সংযুক্ত কীবোর্ড) অন্তর্গত এবং সেই অনুযায়ী ইভেন্টগুলো রাউট করা হয়।
  • ব্যবহারকারীকে অবশ্যই উৎস ডিভাইস (A) থেকে স্ট্রিমিং বন্ধ করার সুযোগ দিতে হবে, উদাহরণস্বরূপ, একটি স্থায়ী নোটিফিকেশনের বাটন ব্যবহার করে। যদি উৎস ডিভাইস (A)-তে স্ক্রিন লক সেট করা থাকে, তবে এই আচরণটি লকস্ক্রিন দ্বারা নিয়ন্ত্রিত হবে। উৎস ডিভাইস (A)-তে এই স্থায়ী সুবিধাটি অবশ্যই প্রদর্শন করতে হবে, যা সর্বদা দৃশ্যমান এবং স্ক্রিনের উপরের অংশে (above the fold) থাকবে।
  • যখন অন্য কোনো ডিভাইসে স্ট্রিমিং হচ্ছে, তখন উৎস ডিভাইসে (A) অবশ্যই একটি অ্যাফোর্ডেন্স দেখাতে হবে, যেমন স্ট্যাটাস বারে একটি আইকন বা একটি স্থায়ী নোটিফিকেশন।
DEVICE_POLICY_MANAGEMENT সবগুলো:
  • শুধুমাত্র OEM-রাই অ্যাপকে এই রোলটি প্রদান করতে পারে। অ্যাপগুলো এই রোলের জন্য অনুরোধ করতে পারে না, কারণ ডিভাইসটি পাঠানোর সময় OEM দ্বারা নির্ধারিত প্যাকেজ নামের জন্য এটি স্বয়ংক্রিয়ভাবে প্রদান করার কথা।
  • অ্যাপটিকে অবশ্যই একটি পরিচালিত প্রোফাইল (প্রোফাইল মালিক) অথবা একটি পরিচালিত ডিভাইস (ডিভাইস মালিক) প্রোভিশন করতে সক্ষম হতে হবে, যার মধ্যে প্রয়োজনে ডিভাইস/প্রোফাইল মালিক হওয়ার জন্য উপযুক্ত ডিভাইস পলিসি ক্লায়েন্ট ডাউনলোড ও ইনস্টল করাও অন্তর্ভুক্ত।
  • অ্যাপটি ঐচ্ছিকভাবে ডিভাইস পলিসি ম্যানেজমেন্টের জন্য ব্যবহৃত স্ট্রিং, ড্রয়েবলের মতো রিসোর্সসমূহকে ডাইনামিকভাবে আপডেট করতে পারে।
  • অ্যাপটি আগে থেকে ইনস্টল করা সিস্টেম অ্যাপ হতে পারে, অথবা প্রোভিশনিংয়ের আগে ডাউনলোড ও ইনস্টল করা যেতে পারে।
  • প্রোফাইল মালিকের প্রোভিশনিংয়ের ক্ষেত্রে, যখন কোনো নির্দিষ্ট অ্যান্ড্রয়েড ব্যবহারকারীর উপর রোল হোল্ডার অ্যাপটি ইনস্টল করা হয়, তখন সেই ব্যবহারকারীর জন্য প্রযোজ্য সমস্ত প্রোফাইলেও এটি ইনস্টল করতে হবে।
SYSTEM_APP_PROTECTION_SERVICE সবগুলো:
  • অ্যাপটি একটি সিস্টেম অ্যাপ
  • অ্যাপটির একমাত্র উদ্দেশ্য হলো সম্ভাব্য ক্ষতিকারক অ্যাপ (যেমন ট্রোজান, ফিশিং এবং স্পাইওয়্যার অ্যাপ, যা ব্যবহারকারী, ব্যবহারকারীর ডেটা বা ডিভাইসকে ঝুঁকির মধ্যে ফেলতে পারে) অথবা মোবাইলের অবাঞ্ছিত সফটওয়্যার শনাক্ত করা।
  • অ্যাপটিকে অবশ্যই অ্যান্ড্রয়েড সিডিডি-র ৯.৮.৬ অনুচ্ছেদের ‘ওএস-লেভেল এবং অ্যাম্বিয়েন্ট ডেটা’ অংশে বর্ণিত সমস্ত প্রয়োজনীয়তা পূরণ করতে হবে।
  • অ্যাপটিকে অবশ্যই android.permission.INTERNET নামক সাধারণ পারমিশনটি ঘোষণা করা যাবে না। এর পরিবর্তে, এটিকে একটি ওপেন সোর্স প্রজেক্টের সু-সংজ্ঞায়িত API-এর মাধ্যমে ইন্টারনেট অ্যাক্সেস করতে হবে।
  • অ্যাপটি নিম্নলিখিত সিস্টেম অ্যাপগুলি ব্যতীত অন্য কোনো অ্যাপের সাথে বাইন্ড করতে পারবে না: পারমিশন কন্ট্রোলার, এবং টেলিফোনি ও ইন্টারনেট এপিআই প্রদানকারী কম্পোনেন্টসমূহ। প্রতিটি অনুমোদিত বাইন্ডিং অবশ্যই সিস্টেম কনফিগের <allow-association> কনফিগারেশনের মাধ্যমে সুস্পষ্টভাবে সেট আপ করতে হবে।
  • সরাসরি ব্যবহারকারীর কোনো পদক্ষেপ (যেমন, প্রতিবার ডেটা শেয়ার করার সময় ব্যবহারকারী স্পষ্টভাবে কোনো বাটন চাপলে) ছাড়া অ্যাপটি অন্য কোনো অ্যাপের সাথে ডেটা শেয়ার করতে পারবে না।
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER সবগুলো:
  • অ্যাপটি একটি সিস্টেম অ্যাপ
  • শুধুমাত্র OEM-রাই অ্যাপটিকে এই ভূমিকাটি প্রদান করতে পারে।
  • অ্যাপটিকে অবশ্যই ব্যবহারকারীর iOS বা Android ফোন থেকে Android Auto ডিভাইসে ক্যালেন্ডারের ডেটা স্থানান্তর করতে হবে। Android Auto ডিভাইসটিকে অবশ্যই এই ক্যালেন্ডারের ডেটা ক্যালেন্ডার প্রোভাইডারে সংরক্ষণ করতে হবে।
  • অ্যাপটিতে ফোনে এমন একটি UI কম্পোনেন্ট থাকতে হবে, যা ব্যবহার করে ব্যবহারকারী ক্যালেন্ডার সিঙ্ক চালু করতে এবং সিঙ্ক করার জন্য ক্যালেন্ডারগুলো নির্বাচন করতে পারবেন। অ্যাপটিতে ফোনে এমন একটি UI কম্পোনেন্ট থাকতে হবে, যা ব্যবহার করে ব্যবহারকারী ক্যালেন্ডার সিঙ্ক বন্ধ করতে পারবেন।
  • অ্যাপটি ইন্টারনেট সংযোগ ছাড়াই কাজ করবে। উদাহরণস্বরূপ, সরাসরি তারযুক্ত বা তারবিহীন সংযোগ ব্যবহার করে।
AUTOMOTIVE_NAVIGATION সবগুলো:
  • অ্যাপটিতে এমন একটি অ্যাক্টিভিটি রয়েছে যা অ্যাপগুলো ইমপ্লিসিট ইনটেন্ট রিকোয়েস্টের মাধ্যমে চালু করতে পারে এবং এটি ব্যবহারকারীর বর্তমান অবস্থান ও চারপাশের পরিবেশ দেখায়।
  • অ্যাপটিতে এমন একটি অ্যাক্টিভিটি রয়েছে যা অ্যাপগুলো ইমপ্লিসিট ইনটেন্ট রিকোয়েস্টের মাধ্যমে চালু করতে পারে, যার সাহায্যে ব্যবহারকারী একটি নির্দিষ্ট ভৌগোলিক অবস্থানে নেভিগেট করতে পারেন।
  • অ্যাপটিতে একটি অ্যাক্টিভিটি আছে যা নেভিগেশন ফোকাস ধরে রাখলে ইন্সট্রুমেন্ট ক্লাস্টারে চালু হয়। অ্যাক্টিভিটিটিকে অবশ্যই ব্যবহারকারীর বর্তমান অবস্থান ও চারপাশের পরিবেশ দেখাতে হবে এবং তাকে একটি নির্দিষ্ট ভৌগোলিক অবস্থানে নেভিগেট করার সুযোগ দিতে হবে।
COMPANION_DEVICE_COMPUTER সবগুলো:
  • অ্যাপটি একটি সিস্টেম অ্যাপ
  • শুধুমাত্র OEM-রাই অ্যাপটিকে এই ভূমিকাটি প্রদান করতে পারে।
  • ব্যবহারকারীদের সংযুক্ত কম্পিউটারে ফোন থেকে নোটিফিকেশন মিরর করতে এবং ফটো ও মিডিয়া অ্যাক্সেস করার সুবিধা দিন।
SYSTEM_SETTINGS_INTELLIGENCE নিম্নলিখিতগুলির মধ্যে অন্তত একটি:
  • অ্যাপটি একটি সিস্টেম অ্যাপ
  • শুধুমাত্র OEM-রাই অ্যাপটিকে এই ভূমিকাটি প্রদান করতে পারে।
  • এতে এমন একটি পরিষেবা রয়েছে যা সেটিংস অ্যাপের জন্য সাজেশন এবং সার্চের মতো ইন্টেলিজেন্স ফিচার প্রদান করে।
NOTES সবগুলো:
  • অ্যাপটিতে একটি অ্যাক্টিভিটি রয়েছে যা অ্যাপগুলো ইমপ্লিসিট ইনটেন্ট রিকোয়েস্টের মাধ্যমে চালু করতে পারে। এই অ্যাক্টিভিটিটি ব্যবহারকারীকে স্ক্রিন লক বা আনলক থাকা নির্বিশেষে একটি নোট তৈরি করার সুযোগ দেয়।
  • অ্যাপটিতে অবশ্যই একটি অ্যাক্টিভিটি থাকতে হবে, যেটিতে android.intent.action.CREATE_NOTE এর জন্য android.intent.category.DEFAULT ক্যাটাগরির একটি ইন্টেন্ট ফিল্টার থাকবে। এর জন্য অ্যাপটিকে অবশ্যই android.intent.extra.USE_STYLUS_MODE ইন্টেন্ট এক্সট্রাটিও যথাযথভাবে হ্যান্ডেল করতে হবে।
  • অ্যাপটিতে অবশ্যই showWhenLocked এবং turnScreenOn উভয় ম্যানিফেস্ট অ্যাট্রিবিউটের মান true সেট করা থাকতে হবে।
COMPANION_DEVICE_GLASSES অ্যাপটি একটি গ্লাস ডিভাইসের সাথে যুক্ত হতে এবং সেটিকে পরিচালনা করার জন্য অনুরোধ করতে পারে ( CompanionDeviceManager ক্লাস দ্বারা প্রদত্ত API ব্যবহার করে)। যখন গ্লাস ডিভাইস এবং অ্যাপটি CDM দ্বারা প্রদত্ত UI ব্যবহার করে সংযুক্ত হয়, তখন ব্যবহারকারীরা তাদের গ্লাস ডিভাইসটিকে কন্ট্যাক্ট অ্যাক্সেস এবং নোটিফিকেশন ও ফোন কল পরিচালনার অনুমতি দিয়ে তা পরিচালনা করতে পারেন।
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING সবগুলো:
  • অ্যাপটি একটি সিস্টেম অ্যাপ
  • শুধুমাত্র OEM-রাই অ্যাপটিকে এই ভূমিকাটি প্রদান করতে পারে।
  • অনুমোদিত ব্যবহারের ক্ষেত্রসমূহ:
    • মোবাইল ফোন বা ট্যাবলেটের মতো অ্যান্ড্রয়েড-চালিত ডিভাইস থেকে যানবাহনে অ্যাপ স্ট্রিমিং।
    • মোবাইল ফোন বা ট্যাবলেটের মতো অ্যান্ড্রয়েড-চালিত ডিভাইস থেকে একটি এক্সআর ডিভাইসে অ্যাপ স্ট্রিমিং।
  • ডিভাইস A থেকে ডিভাইস B-তে প্রাথমিক সংযোগ স্থাপন করার সময়:
    • পেয়ারিং অবশ্যই সোর্স ডিভাইস (A)-তে প্রদর্শিত একটি ওয়ান-টাইম কোডের মাধ্যমে অনুমোদিত হতে হবে, যা সংযুক্ত ডিভাইস (B)-তে প্রবেশ করাতে হবে। বিকল্পভাবে, যদি উভয় ডিভাইসের অ্যান্ড্রয়েড অ্যাকাউন্ট ম্যানেজারে অন্তত একটি মিলে যাওয়া অ্যাকাউন্ট থাকে, তবে ব্যবহারকারী সংযুক্ত ডিভাইস (B)-তে অ্যাকাউন্টের পাসওয়ার্ড প্রবেশ করিয়ে পেয়ারিং নিশ্চিত করতে পারেন।
    • পেয়ারিং করার সময় ডিভাইস দুটিকে একে অপরের কাছাকাছি থাকতে হবে।
  • স্ট্রিমিং করার সময় উভয় ডিভাইসকে একে অপরের কাছাকাছি থাকতে হবে।
  • অ্যাপটি সংযুক্ত ডিভাইসগুলোর সাথে যোগাযোগ চ্যানেল তৈরি ও পরিচালনা করতে পারে, যাতে ডিভাইসগুলো ডেটা আদান-প্রদান করতে পারে। এই যোগাযোগ চ্যানেলগুলো স্থাপন করার জন্য অ্যাপ এবং সংযুক্ত ডিভাইসগুলোকে অবশ্যই একে অপরকে সফলভাবে প্রমাণীকরণ করতে হবে (উদাহরণস্বরূপ, শেয়ার্ড কী সম্পর্কে তাদের জ্ঞান প্রমাণ করার মাধ্যমে)। যোগাযোগ চ্যানেলগুলোতে অবশ্যই এন্ড-টু-এন্ড এনক্রিপশন সুরক্ষা থাকতে হবে।
  • অ্যাপটি উৎস ডিভাইস (A) থেকে সংযুক্ত ডিভাইস (B)-তে নোটিফিকেশন পাঠাতে পারে, যাতে ব্যবহারকারী সংযুক্ত ডিভাইস (B)-তে নোটিফিকেশনগুলোর উপর ব্যবস্থা নিতে পারেন।
  • সংযুক্ত ডিভাইস (B)-তে অ্যাপ স্ট্রিমিংয়ের জন্য প্রয়োজনীয় মেটাডেটা স্ট্রিম করতে সক্ষম হওয়া, যেমন উৎস ডিভাইস (A)-তে উপলব্ধ অ্যাপের তালিকা।
  • ব্যবহারকারী সুস্পষ্ট সম্মতির মাধ্যমে (সোর্স ডিভাইস (A) বা কানেক্টেড ডিভাইস (B)-তে) তার পছন্দ জানানোর পর, সোর্স ডিভাইস (A) থেকে কানেক্টেড ডিভাইস (B)-তে অ্যাপ স্ট্রিম করা যাবে।
  • সংযুক্ত ডিভাইস (B)-তে একটি স্ট্রিম করা অ্যাপে ঘটা ইভেন্টগুলিকে উৎস ডিভাইস (A)-তে পুনরায় প্লে (ইনজেক্ট) করতে সক্ষম হওয়া। উদাহরণস্বরূপ, উৎস ডিভাইস (A)-এর মতো একই স্থানাঙ্কে সংযুক্ত ডিভাইস (B)-তে একটি টাচ ইভেন্ট পুনরায় প্লে করা, অথবা উৎস ডিভাইস (A)-এর মতো একই ইনপুট সেম্যান্টিকস সহ সংযুক্ত ডিভাইস (B)-তে ঘটা একটি ইনপুট ইভেন্ট পুনরায় প্লে করা।
  • যখন কোনো স্ট্রিম করা অ্যাপ মাইক্রোফোন ব্যবহার করছে, তখন অ্যাপটি উৎস ডিভাইসের মাইক্রোফোন স্ট্রিমকে সংযুক্ত ডিভাইসের মাইক্রোফোন স্ট্রিম দিয়ে প্রতিস্থাপন করতে পারে।
  • অ্যাপটি উৎস ডিভাইস (A) থেকে অডিও গ্রহণ করে এবং সংযুক্ত ডিভাইস (B)-তে তা স্ট্রিম করে।
  • সংযুক্ত ডিভাইস (B) থেকে সেটিংস অ্যাপ এবং অ্যাপ স্টোরে প্রবেশাধিকার ব্লক করার পরামর্শ দেওয়া হচ্ছে।
  • অ্যান্ড্রয়েড 25Q2 থেকে শুরু করে, সংযুক্ত ডিভাইসে (B) সুরক্ষিত উইন্ডো এবং সারফেসের মতো সংবেদনশীল বিষয়বস্তুর স্ক্রিনশট নেওয়া এবং স্ক্রিন পড়া অবশ্যই প্রতিরোধ করতে হবে।
  • সংযুক্ত ডিভাইসটির OS বিল্ডের অখণ্ডতা অবশ্যই যাচাই করতে হবে (উদাহরণস্বরূপ, VerifiedBootState এর মতো ডিভাইস অ্যাটেস্টেশন ব্যবহার করে)।
  • শুধুমাত্র সেইসব অ্যাপ স্ট্রিম করুন যেগুলোর উভয় ডিভাইসের অন-ডিভাইস অ্যাকাউন্ট রেজিস্ট্রিতে (উদাহরণস্বরূপ, অ্যান্ড্রয়েডের AccountManager ক্লাস) কেবল একটিই মিল থাকা অ্যাকাউন্ট রয়েছে। যদি এমনটা না হয়, তবে সোর্স ডিভাইস (A)-তে দেখানো একটি ওয়ান-টাইম কোড দিয়ে স্ট্রিমিং অবশ্যই অনুমোদন করতে হবে এবং সংযুক্ত ডিভাইস (B)-তে সেই কোডটি প্রবেশ করাতে হবে। মনে রাখবেন যে, যেসব ডিভাইস অ্যান্ড্রয়েড মাল্টি-ইউজারের মতো একই নির্ভরযোগ্য ডেটা আইসোলেশন সহ মাল্টি-ইউজার (মাল্টি-অ্যাকাউন্ট নয়) সমর্থন করে, সেসব ক্ষেত্রে একজন ব্যবহারকারীকে একটি ডিভাইস হিসেবে গণ্য করা হয়।
  • যদি সংযুক্ত ডিভাইস (B)-তে থাকা অ্যাকাউন্টের প্রমাণীকরণের মেয়াদ শেষ হয়ে যায় বা তা বাতিল করা হয়, তাহলে অবশ্যই অবিলম্বে স্ট্রিমিং বন্ধ করতে হবে এবং সংযুক্ত ডিভাইস (B) থেকে সংযোগ বিচ্ছিন্ন করতে হবে।
  • যে সংযুক্ত ডিভাইস (B)-তে ডিসপ্লে কন্টেন্ট দেখা যাচ্ছে, সেটির আইডল টাইমআউট শেষ হলে অবশ্যই স্ট্রিমিং বন্ধ করতে হবে এবং সংযুক্ত ডিভাইস (B) থেকে সংযোগ বিচ্ছিন্ন করতে হবে। ওয়েক-লক (WakeLock)-এর মতো ক্ষেত্রে, যা অ্যান্ড্রয়েড ডিভাইসের স্ক্রিন চালু রাখে, সংযুক্ত ডিভাইসটির স্ক্রিন চালু রাখা যেতে পারে। একটি আইডল টাইমআউট অবশ্যই থাকতে হবে। যদি সংযুক্ত ডিভাইস (B)-তে নিজে থেকে কোনো আইডল টাইমআউট না থাকে, তবে সর্বোচ্চ ৫ মিনিটের একটি আইডল টাইমআউট অবশ্যই ব্যবহার করতে হবে।
  • যদি উৎস ডিভাইস (A) লকস্ক্রিন নলেজ ফ্যাক্টর (LSKF) ব্যবহার করে, তাহলে স্ক্রিন লক থাকা অবস্থায় অ্যাপটি সংযুক্ত ডিভাইস (B)-তে অ্যাপ স্ট্রিম করতে পারবে না, যদি না সংযুক্ত ডিভাইস (B)-টিতে লক স্ক্রিন থাকে এবং সেটি আনলক করা থাকে।
  • যদি উৎস ডিভাইস (A) কোনো অ্যাডমিন দ্বারা পরিচালিত হয়, তাহলে অ্যাপটিকে অবশ্যই কাছাকাছি ডিভাইসগুলিতে স্ট্রিমিং চালু বা বন্ধ করার বিষয়ে অ্যাডমিনের সেট করা নীতিগুলি মেনে চলতে হবে (উদাহরণস্বরূপ, অ্যান্ড্রয়েডের DevicePolicyManager সেটিংস ব্যবহার করে)।
  • অবশ্যই নিশ্চিত করতে হবে যে ব্যবহারকারীর দৃষ্টিকোণ থেকে রিমোট ডিসপ্লে এবং রিমোট ইনপুট ইভেন্টের সমস্ত উৎস একই লজিক্যাল ডিভাইসের (উদাহরণস্বরূপ, একটি রিমোট ডিসপ্লে এবং একটি সংযুক্ত কীবোর্ড) অন্তর্গত এবং সেই অনুযায়ী ইভেন্টগুলো রাউট করা হয়।
  • ব্যবহারকারীকে অবশ্যই উৎস ডিভাইস (A) থেকে স্ট্রিমিং বন্ধ করার সুযোগ দিতে হবে, উদাহরণস্বরূপ, একটি স্থায়ী নোটিফিকেশনের বাটন ব্যবহার করে। যদি উৎস ডিভাইস (A)-তে স্ক্রিন লক সেট করা থাকে, তবে এই আচরণটি লকস্ক্রিন দ্বারা নিয়ন্ত্রিত হবে। উৎস ডিভাইস (A)-তে এই স্থায়ী সুবিধাটি অবশ্যই প্রদর্শন করতে হবে, যা সর্বদা দৃশ্যমান এবং স্ক্রিনের উপরের অংশে (above the fold) থাকবে।
  • যখন অন্য কোনো ডিভাইসে স্ট্রিমিং হচ্ছে, তখন উৎস ডিভাইসে (A) অবশ্যই একটি অ্যাফোর্ডেন্স দেখাতে হবে, যেমন স্ট্যাটাস বারে একটি আইকন বা একটি স্থায়ী নোটিফিকেশন।
WALLET এর মধ্যে একটি:
  • অ্যাপটিতে একটি NFC APDU পরিষেবা রয়েছে যা PAYMENT ক্যাটাগরিতে স্থিরভাবে অন্তত একটি AID রেজিস্টার করে।
  • অ্যাপটি QuickAccessWalletService এর একটি ইনস্ট্যান্স বাস্তবায়ন করে।

১। নৈকট্য বলতে বোঝায় ডিভাইস দুটি একে অপরের ব্লুটুথ বা ওয়াই-ফাই সীমার মধ্যে থাকা, অথবা একই লোকাল নেটওয়ার্ক ব্যবহার করা।