অ্যান্ড্রয়েড একটি সমৃদ্ধ ব্যবহারকারীর অভিজ্ঞতা প্রদান করে যা হাই-ডেফিনেশন টেলিভিশনের মতো বড় স্ক্রিনের ডিভাইসে চলমান অ্যাপগুলির জন্য অপ্টিমাইজ করা হয়েছে। আপনি অ্যান্ড্রয়েড টিভির জন্য এটি তৈরি করে আপনার অ্যাপের দর্শক সংখ্যা বাড়াতে পারেন। এই ডকুমেন্টটি কীভাবে এটি কার্যকরভাবে করবেন তার নির্দেশিকা প্রদান করে।
টিভি অ্যাপ তৈরি করুন
টিভি অ্যাপগুলি ফোন এবং ট্যাবলেটের মতো একই কাঠামো ব্যবহার করে। এই পদ্ধতির অর্থ হল আপনি অ্যান্ড্রয়েডের জন্য অ্যাপ তৈরি সম্পর্কে ইতিমধ্যে যা জানেন তার উপর ভিত্তি করে নতুন টিভি অ্যাপ তৈরি করতে পারেন, অথবা আপনার বিদ্যমান অ্যাপগুলিকে টিভি ডিভাইসেও চালানোর জন্য প্রসারিত করতে পারেন।
তবে, টিভির জন্য ব্যবহারকারীর ইন্টারঅ্যাকশন মডেল ফোন এবং ট্যাবলেট ডিভাইস থেকে যথেষ্ট আলাদা। টিভি ডিভাইসে আপনার অ্যাপটি সফল করার জন্য, আপনাকে এমন নতুন লেআউট ডিজাইন করতে হবে যা 10 ফুট দূর থেকে স্পষ্টভাবে বোঝা যাবে এবং এমন নেভিগেশন প্রদান করতে হবে যা কেবল একটি দিকনির্দেশক প্যাড এবং একটি নির্বাচন বোতাম দিয়ে কাজ করে।
টিভি হার্ডওয়্যার কন্ট্রোলার কীভাবে পরিচালনা করবেন, টিভি লেআউট তৈরি করবেন এবং টিভি নেভিগেশন তৈরি করবেন, এই ধরণের বিবেচ্য বিষয়গুলি সম্পর্কে আরও তথ্যের জন্য , বিল্ড টিভি অ্যাপস দেখুন।
Media3 ExoPlayer ব্যবহার করুন
Jetpack Media3 একটি প্লেয়ার ইন্টারফেস প্রদান করে যা মৌলিক বৈশিষ্ট্যগুলিকে সংজ্ঞায়িত করে যেমন প্লে করার ক্ষমতা, বিরতি, অনুসন্ধান এবং ট্র্যাক তথ্য প্রদর্শনের ক্ষমতা। ExoPlayer হল Media3-তে এই ইন্টারফেসের ডিফল্ট বাস্তবায়ন।
অ্যান্ড্রয়েডের মিডিয়াপ্লেয়ার এপিআই-এর তুলনায়, এটি অতিরিক্ত সুবিধা যোগ করে যেমন একাধিক স্ট্রিমিং প্রোটোকলের জন্য সমর্থন, ডিফল্ট অডিও এবং ভিডিও রেন্ডারার এবং মিডিয়া বাফারিং পরিচালনা করে এমন উপাদান।
আপনি ExoPlayer কাস্টমাইজ এবং এক্সটেন্ড করতে পারেন, এবং এটি Play Store অ্যাপ্লিকেশন আপডেটের মাধ্যমে আপডেট করা যেতে পারে। আরও তথ্যের জন্য, Media3 ExoPlayer দেখুন।
Media3 MediaSession ব্যবহার করুন
মিডিয়া সেশনগুলি সিস্টেমকে আপনার অ্যাপের অডিও বা ভিডিও প্লেয়ারের সাথে ইন্টারঅ্যাক্ট করার জন্য একটি সর্বজনীন উপায় প্রদান করে। Media3 কে পূর্ববর্তী মিডিয়া API থেকে আলাদা করার একটি প্রধান বৈশিষ্ট্য হল যে উপাদানগুলির মধ্যে সংযোগকারীর আর প্রয়োজন নেই।
নতুন MediaSession ক্লাসটি প্লেয়ার ইন্টারফেস বাস্তবায়নকারী যেকোনো ক্লাস গ্রহণ করে। ExoPlayer এবং MediaController উভয় ক্লাসই সেই ইন্টারফেস বাস্তবায়ন করে। এটি উপাদানগুলির মধ্যে অনেক সহজ মিথস্ক্রিয়াকে সহজতর করে। আরও তথ্যের জন্য, প্লেয়ার ইন্টারফেস দেখুন।
মিডিয়া প্লেব্যাক অ্যাপ তৈরি সম্পর্কে আরও তথ্যের জন্য, ExoPlayer ব্যবহার করে একটি মৌলিক মিডিয়া প্লেয়ার তৈরি করুন দেখুন।
আপনার মিডিয়া অ্যাপের শেষ ব্যবহারকারীদের জন্য সর্বোত্তম অভিজ্ঞতা তৈরি করতে, আপনাকে MediaSession বাস্তবায়ন করতে হবে। এটি করার জন্য, একটি Player চালু করুন এবং এটি MediaSession.Builder এ সরবরাহ করুন এভাবে:
কোটলিন
val player = ExoPlayer.Builder(context).build() val mediaSession = MediaSession.Builder(context, player).build()
জাভা
ExoPlayer player = new ExoPlayer.Builder(context).build(); MediaSession mediaSession = new MediaSession.Builder(context, player).build();
স্বয়ংক্রিয় অবস্থা পরিচালনা
Media3 লাইব্রেরি প্লেয়ারের অবস্থা ব্যবহার করে স্বয়ংক্রিয়ভাবে মিডিয়া সেশন আপডেট করে। ফলে, আপনাকে প্লেয়ার থেকে সেশনে ম্যাপিং ম্যানুয়ালি পরিচালনা করতে হবে না। এটি নিশ্চিত করতে সাহায্য করে যে আপনার ব্যবহারকারীরা সর্বদা প্লেয়িং মিডিয়ার হালনাগাদ তথ্য দেখতে পান, যার মধ্যে Now Playing কার্ডও অন্তর্ভুক্ত।
প্লেব্যাক নিয়ন্ত্রণ এবং বিজ্ঞাপন দিন
Media3-তে, ডিফল্ট প্লেয়ার হল ExoPlayer ক্লাস, যা Player ইন্টারফেস প্রয়োগ করে। মিডিয়া সেশনকে প্লেয়ারের সাথে সংযুক্ত করার ফলে একটি অ্যাপ বাইরে থেকে মিডিয়া প্লেব্যাকের বিজ্ঞাপন দিতে পারে এবং বাইরের উৎস থেকে প্লেব্যাক কমান্ড গ্রহণ করতে পারে। মিডিয়া সেশন এই কমান্ডগুলি মিডিয়া অ্যাপের প্লেয়ারে অর্পণ করে।
মিডিয়া সেশন হল প্লেব্যাক নিয়ন্ত্রণের মূল চাবিকাঠি। এটি আপনাকে বাহ্যিক উৎস থেকে কমান্ডগুলিকে সেই প্লেয়ারে রুট করতে দেয় যা আপনার মিডিয়া চালানোর কাজ করে। বাহ্যিক ক্লায়েন্টরা আপনার মিডিয়া অ্যাপে প্লেব্যাক কমান্ড জারি করার জন্য একটি মিডিয়া কন্ট্রোলার ব্যবহার করতে পারে। এগুলি আপনার মিডিয়া সেশন দ্বারা গৃহীত হয়, যা শেষ পর্যন্ত মিডিয়া প্লেয়ারকে কমান্ড অর্পণ করে।
প্লেব্যাক সম্পর্কে আরও তথ্যের জন্য, যেমন প্লেব্যাক কমান্ড আচরণ কীভাবে কাস্টমাইজ করবেন, MediaSession ব্যবহার করে প্লেব্যাক নিয়ন্ত্রণ এবং বিজ্ঞাপন দেখুন।
আপনার অ্যাপে কোনও বাধা এড়িয়ে চলুন
MediaSession ব্যবহার করে আপনি অপ্রয়োজনীয় বাধা এড়াতে পারবেন যেমন:
টিভি বন্ধ করার সময় বা টিভি ইনপুট পরিবর্তন করার সময় অপ্রত্যাশিত এবং অব্যাহত প্লেব্যাক । এর ফলে টিভি হার্ডওয়্যারের জন্য উচ্চ শক্তি খরচ হয়।
MediaSessionএর মাধ্যমে, আপনার অ্যাপ প্ল্যাটফর্মকে জানাতে পারে যে এটি মিডিয়া চালাচ্ছে, এবং প্ল্যাটফর্ম অ্যাপটিকে জানাতে পারে যে প্লেব্যাক বন্ধ হতে পারে।অ্যাপ থেকে স্যুইচ আউট করার সময় অথবা টিভি ডিসপ্লে বন্ধ করার সময় মিউজিক প্লেব্যাক অপ্রত্যাশিতভাবে বন্ধ হয়ে যায় ।
MediaSessionAPI ব্যবহার করলে ব্যাকগ্রাউন্ড পরিষেবায় প্লেব্যাক অব্যাহত রাখা সম্ভব হয়।ব্যবহারকারীদের প্লেব্যাক নিয়ন্ত্রণ করতে বাধা দেয় এমন কন্টেন্টের সাথে সীমাবদ্ধ ইন্টারঅ্যাকশন । উদাহরণস্বরূপ, যদি আপনার অ্যাপটি ব্যাকগ্রাউন্ডে সঙ্গীত বাজছে, অথবা ভয়েস কমান্ড সমর্থন করছে, তাহলে সেটিতে ফিরে আসা। আপনার অ্যাপে
MediaSessionব্যবহার করে, ব্যবহারকারীরা গান বা পর্বগুলি খুঁজতে এবং এড়িয়ে যেতে ভয়েস কমান্ড ব্যবহার করতে পারেন।
আরও বিবেচ্য বিষয়
আপনার মিডিয়া অ্যাপটি অ্যান্ড্রয়েড ফর টিভিতে সম্প্রসারিত করার সময়, আপনাকে অ্যাক্সেসিবিলিটি বিষয়গুলি বিবেচনা করতে হবে, কীভাবে ব্যস্ততা বাড়ানো যায়, ব্যবহারকারীদের কীভাবে সামগ্রী খুঁজে পেতে সক্ষম করা যায়, সেইসাথে কীভাবে গেম এবং টিভি ইনপুট পরিষেবা তৈরি করা যায়।
টিভি অ্যাক্সেসযোগ্যতা
যদিও সহায়ক প্রযুক্তিগুলি কম দৃষ্টিশক্তি সম্পন্ন ব্যবহারকারীদের সাহায্য করতে পারে এবং করে, টিভি অ্যাপের জন্য বিষয়বস্তু আবিষ্কারের যাত্রায় অ্যাক্সেসযোগ্যতা সমর্থন করা গুরুত্বপূর্ণ।
উদাহরণস্বরূপ, নেভিগেশন নির্দেশিকা প্রদান এবং উপাদানগুলিকে সঠিকভাবে লেবেল করার দিকে অতিরিক্ত মনোযোগ দিন, এবং টকব্যাকের মতো অ্যাক্সেসিবিলিটি বৈশিষ্ট্যগুলির সাথে টিভি অ্যাপগুলি ভালভাবে কাজ করে তা নিশ্চিত করতে সহায়তা করুন। এই পদক্ষেপগুলি দৃষ্টি প্রতিবন্ধী ব্যবহারকারীদের অভিজ্ঞতা উল্লেখযোগ্যভাবে উন্নত করতে পারে।
অ্যাক্সেসিবিলিটি উন্নত করার প্রথম ধাপ হল সচেতনতা। টেক্সট স্কেলিং, কীবোর্ড লেআউট এবং অডিও বর্ণনা সম্পর্কে আরও তথ্যের জন্য, অ্যাক্সেসিবিলিটি রিসোর্স দেখুন।
গুগল টিভিতে ব্যস্ততা বাড়ানোর সেরা পদ্ধতি
Android TV-র জন্য তৈরি সমস্ত অ্যাপ Google TV চালিত ডিভাইসগুলিতে কাজ করে। Google TV-তে সর্বোত্তম ব্যবহারকারীর অভিজ্ঞতা প্রদানের জন্য, আমরা আপনাকে নিম্নলিখিত সেরা অনুশীলনগুলি প্রয়োগ করার পরামর্শ দিচ্ছি।
অডিও বা ভিডিও প্লেয়ারের সাথে ইন্টারঅ্যাক্ট করার একটি সার্বজনীন উপায় প্রদানের জন্য আপনাকে MediaSession ব্যবহার করতে হবে। এটি কীভাবে বাস্তবায়ন করবেন সে সম্পর্কে আরও তথ্যের জন্য, Use Media3 MediaSession দেখুন।
বেসলাইন হিসেবে, আপনার অ্যাপটিকে Google Cast সমর্থন করতে হবে। এটি আপনাকে আপনার Android, iOS এবং Chrome অ্যাপগুলিকে Android TV, Chromecast ডিভাইস এবং Assistant ডিভাইসগুলিতে অডিও এবং ভিডিও স্ট্রিমিং সক্ষম করতে প্রসারিত করতে দেয়। আরও তথ্যের জন্য, Google Cast ডকুমেন্টেশন দেখুন।
আপনি ব্যবহারকারীদের সাহায্য করতে পারেন:
মিডিয়া অ্যাকশন ফিড অফার করে অথবা ওয়াচ নেক্সট ইন্টিগ্রেট করে বিভিন্ন পৃষ্ঠতল জুড়ে কন্টেন্ট আবিষ্কার করুন ।
অ্যাকাউন্ট লিঙ্কিং এবং এনটাইটেলমেন্ট সিঙ্ক সমর্থন করে, ভয়েস কাস্টিং অফার করে এবং কাস্ট কানেক্ট সক্ষম করে ভয়েস এবং এনগেজমেন্টের সুবিধা নিন ।
গুগল প্লে বিলিং একীভূত করে এবং ঘর্ষণমুক্ত সাবস্ক্রিপশন প্রদান করে আরও সহজে অর্থ প্রদান করুন ।
টিভি ইনপুট ফ্রেমওয়ার্ক তৈরি করুন
লাইভ টিভি শো এবং অন্যান্য ধারাবাহিক, চ্যানেল-ভিত্তিক কন্টেন্ট দেখা টিভি অভিজ্ঞতার একটি বড় অংশ। ব্যবহারকারীরা চ্যানেল ব্রাউজিংয়ের মাধ্যমে টিভিতে শো নির্বাচন এবং দেখতে অভ্যস্ত। টিভি ইনপুট ফ্রেমওয়ার্ক টিভি প্রোগ্রামিং গাইডে আইডিও বা সঙ্গীত কন্টেন্ট প্রকাশের জন্য চ্যানেল তৈরি করে।
টিভি ইনপুট ফ্রেমওয়ার্কটি হার্ডওয়্যার উৎস, যেমন HDMI পোর্ট এবং বিল্ট-ইন-টিউনার, এবং সফ্টওয়্যার উৎস, যেমন ইন্টারনেটে স্ট্রিম করা ভিডিও থেকে লাইভ ভিডিও সামগ্রী গ্রহণ এবং প্লেব্যাকের জন্য একটি সমন্বিত পদ্ধতি প্রদান করে। আরও তথ্যের জন্য, বিল্ড টিভি ইনপুট পরিষেবাগুলি দেখুন।