অ্যান্ড্রয়েড 13-এ, অ্যাপ স্ট্রিমিং বৈশিষ্ট্য ফোনগুলিকে তাদের অ্যাপগুলিকে সংযুক্ত ডিভাইসগুলিতে স্ট্রিম করতে দেয় এবং সেই ডিভাইসগুলিকে অ্যাপগুলির সাথে ইন্টারঅ্যাক্ট করতে দেয়। একটি নতুন COMPANION_DEVICE_APP_STREAMING ভূমিকা একটি অ্যাপকে স্থানীয় ডিভাইস থেকে দূরবর্তী ডিভাইসে অ্যাপ্লিকেশানগুলিকে স্ট্রিম করতে সংযুক্ত দূরবর্তী ডিভাইসগুলির জন্য প্রক্সি তৈরি এবং পরিচালনা করতে দেয়৷ COMPANION_DEVICE_APP_STREAMING ভূমিকা ধারণকারী অ্যাপটি একটি ভার্চুয়াল ডিসপ্লে তৈরি করার অনুমতি পেতে পারে, এটিতে একটি অ্যাপ চালু করতে পারে এবং তারপরে অন্য ডিভাইসে লঞ্চ করা অ্যাপের একটি ভিডিও স্ট্রিম করতে পারে। ভূমিকা ধারক অ্যাপটি একটি দূরবর্তী ডিভাইস থেকে প্রাপ্ত ইনপুট এবং মাইক্রোফোন ইভেন্টগুলিকে স্থানীয় ডিভাইসে ইনজেক্ট করতে পারে, যেন সেই ডিভাইসটি একটি পেরিফেরাল হিসাবে সংযুক্ত ছিল।
স্থাপত্য
অ্যান্ড্রয়েড 13 থেকে শুরু করে, নতুন ভার্চুয়াল ডিভাইস ম্যানেজার এবং কম্প্যানিয়ন ডিভাইস ম্যানেজার (CDM) অ্যাপ স্ট্রিমিং এবং দূরবর্তী, সংযুক্ত ডিভাইসগুলির সাথে মিথস্ক্রিয়া সমর্থন করার জন্য মূল বিল্ডিং ব্লক গঠন করে।
ভার্চুয়াল ডিভাইস ম্যানেজার
অ্যাপ স্ট্রিমিং ভার্চুয়াল ডিসপ্লের সুবিধা নিয়ে কাজ করে। ভার্চুয়াল ডিভাইস ম্যানেজার একটি ভার্চুয়াল ডিসপ্লে তৈরি করে যা দৃশ্যমান প্রাথমিক ডিসপ্লে থেকে আলাদা। যখন ব্যবহারকারী একটি অ্যাপ স্ট্রিমিং শুরু করতে সম্মতি দেন, অ্যাপটি ভার্চুয়াল ডিসপ্লে চালু বা স্থানান্তরিত হয়। ভার্চুয়াল ডিসপ্লের বিষয়বস্তু একটি ভিডিও স্ট্রীমে ট্রান্সফার করা হয় কানেক্ট করা ডিভাইসে দেখানোর জন্য।
ভার্চুয়াল ডিভাইস ম্যানেজার এ API গুলি অন্তর্ভুক্ত করে যা VirtualDevice দৃষ্টান্ত তৈরি, নিবন্ধকরণ এবং পরিচালনা সক্ষম করে।
একটি VirtualDevice ইনস্ট্যান্স হল সংযুক্ত ডিভাইস এবং এর ক্ষমতার জন্য একটি প্রক্সি। একটি VirtualDevice ইনস্ট্যান্স একটি সংযুক্ত ডিভাইসকে নিম্নলিখিতগুলি করে একটি ইনকামিং অ্যাপ স্ট্রীম গ্রহণ, প্রদর্শন এবং ইন্টারঅ্যাক্ট করতে সক্ষম করে:
- একটি সংযুক্ত ডিভাইসের ডিসপ্লেতে প্রদর্শিত হওয়ার উদ্দেশ্যে একটি
VirtualDisplayউদাহরণ তৈরি করা। - প্লেব্যাকের জন্য একটি দূরবর্তী অডিও স্ট্রীম, যেমন সংযুক্ত ডিভাইসের মাইক্রোফোন থেকে, স্থানীয় ডিভাইসে ইনজেকশন করা।
- দূরবর্তী ইনপুট ইভেন্টগুলি, যেমন সংযুক্ত ডিভাইসের কীবোর্ড থেকে, প্লেব্যাকের জন্য স্থানীয় ডিভাইসে ইনজেকশন করা।
সঙ্গী ডিভাইস ম্যানেজার
সিডিএম কানেক্টিভিটি অবস্থা পরিচালনা করে এবং অ্যাপ স্ট্রিমিং সক্ষম করার জন্য যে ভূমিকার প্রয়োজনীয়তা পূরণ করতে হবে তা প্রয়োগ করে।
নিম্নলিখিত চিত্রটি অ্যাপ স্ট্রিমিংয়ের সময় স্থানীয় এবং দূরবর্তী ডিভাইসের মধ্যে মিথস্ক্রিয়াকে চিত্রিত করে:

চিত্র 1. অ্যাপ স্ট্রিমিংয়ের সময় স্থানীয় এবং দূরবর্তী ডিভাইসগুলির মধ্যে মিথস্ক্রিয়া
সহচর অ্যাপ স্ট্রিমিং ভূমিকার বাস্তবায়ন
OEMগুলি তাদের ডিভাইসে একটি সমৃদ্ধ এবং নিরাপদ ক্রস-ডিভাইস অভিজ্ঞতা সক্ষম করতে COMPANION_DEVICE_APP_STREAMING ভূমিকা সহ একটি অ্যাপ বাস্তবায়ন করতে পারে৷
অ্যাপ স্ট্রিমিং সক্ষম করার জন্য একটি ভার্চুয়াল ডিভাইস তৈরি করতে, একটি অ্যাপকে অবশ্যই COMPANION_DEVICE_APP_STREAMING ভূমিকার ভূমিকা ধারক হতে হবে। ভূমিকা মঞ্জুর করা হলে, অ্যাপটি CREATE_VIRTUAL_DEVICE অনুমতি পায়, যা অ্যাপটিকে একটি ভার্চুয়াল ডিভাইস তৈরি করতে সক্ষম করে। ভূমিকা হোল্ডাররা একটি VirtualDevice ইনস্ট্যান্স তৈরি করে অ্যাপ স্ট্রিমিং বাস্তবায়ন করবে বলে আশা করা হচ্ছে যা একটি সংযুক্ত ডিভাইসের জন্য প্রক্সি হিসেবে কাজ করে। VirtualDevice ক্লাস এমন পদ্ধতিগুলি সরবরাহ করে যা ভার্চুয়াল ডিসপ্লের একটি সংমিশ্রিত পৃষ্ঠের নিষ্কাশন সক্ষম করে, অন্য ডিভাইসে স্ট্রিমিংয়ের জন্য উপযুক্ত। VirtualDevice ক্লাস স্থানীয় ডিভাইসে একটি দূরবর্তী ডিভাইসে ঘটতে থাকা ইনপুট ইভেন্টগুলিকে ইনজেক্ট করার জন্য API সরবরাহ করে, একটি স্থানীয় ডিভাইসে চলমান একটি অ্যাপকে এমনভাবে দেখাতে সক্ষম করে যেন এটি একটি দূরবর্তী ডিভাইসে স্থানীয়ভাবে চলছে।
সহচর অ্যাপ স্ট্রিমিং ভূমিকা বাস্তবায়ন করতে এই পদক্ষেপগুলি অনুসরণ করুন:
ম্যানিফেস্টে
REQUEST_COMPANION_PROFILE_APP_STREAMINGঅনুমতির অনুরোধ করে এমন একটি অ্যাপ তৈরি করুন৷অ্যাপ স্ট্রিমিং করার জন্য অ্যাপটিকে অনুমতি দেওয়ার জন্য ব্যবহারকারীকে অনুরোধ করুন।
একটি
COMPANION_DEVICE_APP_STREAMINGভূমিকার অনুরোধ করার জন্য একটি CDMAssociationRequestউদাহরণ তৈরি করুন৷ ভূমিকাটি দেওয়া হলে অ্যাপটিCREATE_VIRTUAL_DEVICEঅনুমতি পায়৷একটি
VirtualDeviceইনস্ট্যান্স তৈরি করতেVirtualDeviceManager#create()কল করুন।VirtualDeviceউদাহরণ সহ, অ্যাপটি ভার্চুয়াল ডিসপ্লে এবং ভার্চুয়াল ইনপুট তৈরি এবং পরিচালনা করতে পারে।ভার্চুয়াল ডিসপ্লেতে বিজ্ঞপ্তির মুলতুবি অভিপ্রায় চালু করুন এবং সেই প্রদর্শনের একটি ভিডিও ক্যাপচার তৈরি করুন।
সংযুক্ত ডিভাইসের সাথে একটি সংযোগ তৈরি করুন এবং ভার্চুয়াল ডিসপ্লেটি সংযুক্ত ডিভাইসে স্ট্রিম করুন৷
VirtualDeviceAPI-এর মাধ্যমে স্থানীয় ডিভাইসে সংযুক্ত ডিভাইস থেকে ইনপুট ইভেন্টগুলিকে ইনজেক্ট করুন।ব্যবহারকারী যখন রিমোট ডিভাইসে স্ট্রিমিং অ্যাপটি বন্ধ করে দেন, স্ট্রিমটি শেষ করুন এবং
VirtualDeviceউদাহরণটি ছিঁড়ে ফেলুন। এই মুহুর্তে, পূর্ববর্তী স্ট্রিমিং অ্যাপটি স্থানীয় ডিভাইসে পটভূমিতে চলে এবং সংযোগটি বন্ধ হয়ে যায়।প্রয়োজনে, অ্যাপ স্ট্রিমিং পুনরায় চালু করতে সংযুক্ত ডিভাইস থেকে আরও সংকেত অপেক্ষা করুন।
অ্যাপটি দূরবর্তী ডিভাইসের সাথে সংযোগ করার জন্য, CDM-তে সংযোগের অবস্থার প্রতিবেদন করার জন্য এবং CDD- তে বর্ণিত নিরাপত্তা প্রয়োজনীয়তাগুলি প্রয়োগ করার জন্য দায়ী।
COMPANION_DEVICE_APP_STREAMING ভূমিকা ধারকের প্রয়োজনীয়তা
CDM COMPANION_DEVICE_APP_STREAMING ভূমিকা মঞ্জুর করে যখন ব্যবহারকারী একটি ডিভাইসের সাথে একটি অ্যাপ স্ট্রিমিং অ্যাপ সংযুক্ত করে। এই ভূমিকাটি একটি ডিভাইস প্রোফাইলের সাথে যুক্ত তাই এই প্রোফাইলের সাথে মেলে প্লে স্টোরে কোন অ্যাপগুলি যোগ করা যেতে পারে তার উপর কিছু নিয়ন্ত্রণ রয়েছে৷ COMPANION_DEVICE_APP_STREAMING ভূমিকার প্রয়োজনীয়তার একটি তালিকার জন্য Android ভূমিকাগুলি দেখুন৷ আরও তথ্যের জন্য আপনার যোগাযোগের Google পয়েন্টের সাথে যোগাযোগ করুন।
COMPANION_DEVICE_APP_STREAMING ভূমিকা ধারক ক্ষমতা
অ্যাপ স্ট্রিমিং সম্পাদন করতে, COMPANION_DEVICE_APP_STREAMING ভূমিকা অনুমান করে যে ভূমিকা ধারক অ্যাপের নিম্নলিখিত ক্ষমতা এবং আচরণ রয়েছে:
- অন্যান্য ডিভাইসের সাথে সংযোগ তৈরি এবং পরিচালনা করুন।
- নিম্নোক্তভাবে আনলক করা ডিসপ্লে সহ বিশ্বস্ত ভার্চুয়াল ডিসপ্লে তৈরি এবং পরিচালনা করুন:
- ভার্চুয়াল ডিসপ্লেতে কার্যক্রম শুরু করুন।
- স্থানীয় ডিভাইসে একটি সংযুক্ত ডিভাইসে একটি স্ট্রিম করা অ্যাপে ঘটে যাওয়া ইভেন্টগুলিকে ইনজেক্ট করুন, যেমন ফোনে একই স্থানাঙ্কে ট্যাবলেটে একটি টাচ ইভেন্ট চালানো।
- স্ট্রিম করা অ্যাপ থেকে অডিও ডেটা ক্যাপচার করুন।
- একটি স্ট্রিম করা অ্যাপ যখন মাইক্রোফোন ব্যবহার করছে তখন স্থানীয় ডিভাইসের মাইক্রোফোন স্ট্রীমকে একটি সংযুক্ত ডিভাইসের মাইক্রোফোন স্ট্রিম দিয়ে প্রতিস্থাপন করুন।
- একটি স্ট্রিম করা অ্যাপ ক্যামেরা ব্যবহার করার সময় স্থানীয় ডিভাইসের ক্যামেরা স্ট্রীমকে একটি সংযুক্ত ডিভাইসের ক্যামেরা স্ট্রিম দিয়ে প্রতিস্থাপন করুন।
- স্থানীয় ডিভাইস থেকে সংযুক্ত ডিভাইসে বিজ্ঞপ্তিগুলি পরিচালনা এবং স্ট্রিম করুন এবং বিজ্ঞপ্তিগুলিতে পদক্ষেপ নিন৷
- স্থানীয় ডিভাইস থেকে মেটাডেটা স্ট্রিম করুন, যেমন স্থানীয় ডিভাইসে উপলব্ধ অ্যাপের তালিকা, সংযুক্ত ডিভাইসে।
- ডিভাইস যাচাইয়ের জন্য অনুরোধ করুন।