अपने मीडिया ऐप्लिकेशन को Android TV पर इस्तेमाल करना

Android, बेहतर उपयोगकर्ता अनुभव देता है. यह बड़ी स्क्रीन वाले डिवाइसों पर चलने वाले ऐप्लिकेशन के लिए ऑप्टिमाइज़ किया गया है. जैसे, हाई-डेफ़िनिशन टेलिविज़न. Android TV के लिए ऐप्लिकेशन बनाकर, अपने ऐप्लिकेशन के दर्शकों की संख्या बढ़ाई जा सकती है. इस दस्तावेज़ में, इसे असरदार तरीके से करने का तरीका बताया गया है.

टीवी ऐप्लिकेशन बनाना

टीवी ऐप्लिकेशन, फ़ोन और टैबलेट ऐप्लिकेशन के स्ट्रक्चर का इस्तेमाल करते हैं. इस तरीके का मतलब है कि Android के लिए ऐप्लिकेशन बनाने के बारे में पहले से जो जानकारी है उसके आधार पर, नए टीवी ऐप्लिकेशन बनाए जा सकते हैं. इसके अलावा, अपने मौजूदा ऐप्लिकेशन को टीवी डिवाइसों पर भी चलाया जा सकता है.

हालांकि, टीवी के लिए उपयोगकर्ता इंटरैक्शन मॉडल फ़ोन और टैबलेट डिवाइसों से काफ़ी अलग होता है. टीवी डिवाइसों पर अपने ऐप्लिकेशन को कामयाब बनाने के लिए, आपको ऐसे नए लेआउट डिज़ाइन करने होंगे जिन्हें 10 फ़ीट दूर से साफ़ तौर पर समझा जा सके. साथ ही, आपको ऐसा नेविगेशन देना होगा जो सिर्फ़ डी-पैड और 'चुनें' बटन के साथ काम करता हो.

टीवी के हार्डवेयर कंट्रोलर को मैनेज करने, टीवी लेआउट बनाने, और टीवी नेविगेशन बनाने जैसे कामों के बारे में ज़्यादा जानने के लिए, टीवी ऐप्लिकेशन बनाना लेख पढ़ें.

Media3 ExoPlayer का इस्तेमाल करना

Jetpack Media3, प्लेयर इंटरफ़ेस उपलब्ध कराता है. इसमें ट्रैक की जानकारी दिखाने, चलाने, रोकने, आगे-पीछे करने जैसी बुनियादी सुविधाएं होती हैं. ExoPlayer, Media3 में इस इंटरफ़ेस को डिफ़ॉल्ट तौर पर लागू करता है.

Android के MediaPlayer API की तुलना में, इसमें कई सुविधाएं जोड़ी गई हैं. जैसे, एक से ज़्यादा स्ट्रीमिंग प्रोटोकॉल के साथ काम करने की सुविधा, डिफ़ॉल्ट ऑडियो और वीडियो रेंडरर, और मीडिया बफ़रिंग को मैनेज करने वाले कॉम्पोनेंट.

ExoPlayer को पसंद के मुताबिक़ बनाया जा सकता है और इसमें नए फ़ीचर जोड़े जा सकते हैं. साथ ही, इसे Play Store पर ऐप्लिकेशन के अपडेट के ज़रिए अपडेट किया जा सकता है. ज़्यादा जानकारी के लिए, Media3 ExoPlayer देखें.

Media3 MediaSession का इस्तेमाल करना

मीडिया सेशन की मदद से, सिस्टम आपके ऐप्लिकेशन के ऑडियो या वीडियो प्लेयर के साथ इंटरैक्ट कर सकता है. Media3 को पिछले मीडिया एपीआई से अलग करने वाली मुख्य विशेषताओं में से एक यह है कि अब कॉम्पोनेंट के बीच कनेक्टर की ज़रूरत नहीं है.

नई MediaSession क्लास, Player इंटरफ़ेस को लागू करने वाली किसी भी क्लास को लेती है. ExoPlayer और MediaController, दोनों ही ऐसी क्लास हैं जो उस इंटरफ़ेस को लागू करती हैं. इससे कॉम्पोनेंट के बीच इंटरैक्शन करना बहुत आसान हो जाता है. ज़्यादा जानकारी के लिए, प्लेयर इंटरफ़ेस लेख पढ़ें.

मीडिया चलाने वाला ऐप्लिकेशन बनाने के बारे में ज़्यादा जानने के लिए, ExoPlayer का इस्तेमाल करके बुनियादी मीडिया प्लेयर बनाना लेख पढ़ें.

अपने मीडिया ऐप्लिकेशन के असली उपयोगकर्ताओं को बेहतरीन अनुभव देने के लिए, आपको MediaSession लागू करना होगा. ऐसा करने के लिए, Player को शुरू करें और इसे MediaSession.Builder को इस तरह दें:

Kotlin

val player = ExoPlayer.Builder(context).build()
val mediaSession = MediaSession.Builder(context, player).build()

Java

ExoPlayer player = new ExoPlayer.Builder(context).build();
MediaSession mediaSession = new MediaSession.Builder(context, player).build();

स्टेट को अपने-आप मैनेज करना

Media3 लाइब्रेरी, प्लेयर की स्थिति का इस्तेमाल करके मीडिया सेशन को अपने-आप अपडेट करती है. इसलिए, आपको प्लेयर से सेशन में मैपिंग को मैन्युअल तौर पर मैनेज करने की ज़रूरत नहीं है. इससे यह पक्का करने में मदद मिलती है कि आपके उपयोगकर्ताओं को, चल रहे मीडिया के साथ-साथ अभी चल रहा है कार्ड पर भी अप-टू-डेट जानकारी दिखे.

प्लेबैक को कंट्रोल करना और विज्ञापन दिखाना

Media3 में, डिफ़ॉल्ट प्लेयर ExoPlayer क्लास है, जो Player इंटरफ़ेस को लागू करता है. मीडिया सेशन को प्लेयर से कनेक्ट करने से, ऐप्लिकेशन को बाहरी सोर्स से मीडिया चलाने के निर्देश मिल सकते हैं. साथ ही, बाहरी सोर्स से मीडिया चलाने के निर्देश भी मिल सकते हैं. मीडिया सेशन, इन निर्देशों को मीडिया ऐप्लिकेशन के प्लेयर को सौंपता है.

वीडियो को कंट्रोल करने के लिए, मीडिया सेशन सबसे अहम है. इसकी मदद से, बाहरी सोर्स से मिले निर्देशों को उस प्लेयर पर भेजा जा सकता है जो आपका मीडिया चलाता है. बाहरी क्लाइंट, मीडिया कंट्रोलर का इस्तेमाल करके आपके मीडिया ऐप्लिकेशन को वीडियो चलाने के निर्देश दे सकते हैं. ये निर्देश आपके मीडिया सेशन को मिलते हैं, जो आखिर में मीडिया प्लेयर को निर्देश देते हैं.

प्लेबैक के बारे में ज़्यादा जानकारी के लिए, MediaSession का इस्तेमाल करके प्लेबैक को कंट्रोल करना और उसका विज्ञापन दिखाना लेख पढ़ें. इसमें, प्लेबैक कमांड के व्यवहार को पसंद के मुताबिक बनाने का तरीका भी बताया गया है.

अपने ऐप्लिकेशन में रुकावटों से बचना

MediaSession का इस्तेमाल करके, आपको इन गड़बड़ियों से बचने में मदद मिलती है:

  • टीवी बंद करने या टीवी के इनपुट स्विच करने पर, वीडियो अपने-आप चलना और चलता रहना. इससे टीवी के हार्डवेयर के लिए ज़्यादा ऊर्जा खर्च होती है. MediaSession की मदद से, आपका ऐप्लिकेशन प्लैटफ़ॉर्म को यह बता सकता है कि वह मीडिया चला रहा है. साथ ही, प्लैटफ़ॉर्म ऐप्लिकेशन को यह बता सकता है कि प्लेबैक रोका जा सकता है.

  • ऐप्लिकेशन से बाहर निकलने या टीवी डिसप्ले को बंद करने पर, संगीत का प्लेबैक अचानक बंद हो जाता है. MediaSession एपीआई का इस्तेमाल करने से, बैकग्राउंड सेवा में वीडियो का प्लेबैक जारी रखा जा सकता है.

  • कॉन्टेंट के साथ सीमित इंटरैक्शन जो उपयोगकर्ताओं को, वीडियो चलाने की सुविधा कंट्रोल करने से रोकता है. उदाहरण के लिए, अगर आपका ऐप्लिकेशन बैकग्राउंड में संगीत चला रहा है या उसमें बोलकर निर्देश देने की सुविधा है, तो उस पर वापस जाना. आपके ऐप्लिकेशन में MediaSession की मदद से, उपयोगकर्ता गाने या एपिसोड को आगे-पीछे करने और स्किप करने के लिए, बोलकर निर्देश देने की सुविधा का इस्तेमाल कर सकते हैं.

ध्यान में रखने वाली अन्य बातें

अपने मीडिया ऐप्लिकेशन को Android for TV पर उपलब्ध कराने के लिए, आपको सुलभता से जुड़ी समस्याओं, यूज़र ऐक्टिविटी बढ़ाने के तरीकों, और उपयोगकर्ताओं को कॉन्टेंट ढूंढने के तरीके के साथ-साथ गेम और टीवी इनपुट सेवाएं बनाने के तरीके पर ध्यान देना होगा.

टीवी की सुलभता सुविधा

कम दृष्टि वाले उपयोगकर्ताओं को सहायक टेक्नोलॉजी से मदद मिल सकती है और मिलती भी है. हालांकि, टीवी ऐप्लिकेशन के लिए कॉन्टेंट खोजने की प्रोसेस में सुलभता की सुविधा देना ज़रूरी है.

उदाहरण के लिए, नेविगेशन के दिशा-निर्देश देने और एलिमेंट को ठीक से लेबल करने पर ज़्यादा ध्यान दें. साथ ही, यह पक्का करने में मदद करें कि टीवी ऐप्लिकेशन, TalkBack जैसी सुलभता सुविधाओं के साथ सही तरीके से काम करें. इन चरणों से, ऐसे उपयोगकर्ताओं के लिए अनुभव को काफ़ी बेहतर बनाया जा सकता है जो ठीक से देख नहीं पाते.

सुलभता को बेहतर बनाने के लिए, सबसे पहले इस बारे में जागरूकता बढ़ाना ज़रूरी है. टेक्स्ट स्केलिंग, कीबोर्ड लेआउट, और ऑडियो डिस्क्रिप्शन के बारे में ज़्यादा जानकारी के लिए, सुलभता से जुड़े संसाधन देखें.

Google TV पर दर्शकों के जुड़ाव को बढ़ाने के सबसे सही तरीके

Android TV के लिए बनाए गए सभी ऐप्लिकेशन, Google TV पर चलने वाले डिवाइसों पर काम करते हैं. हमारा सुझाव है कि Google TV पर उपयोगकर्ता को बेहतरीन अनुभव देने के लिए, ये सबसे सही तरीके अपनाएं.

किसी ऑडियो या वीडियो प्लेयर के साथ, सभी के लिए इंटरैक्ट करने का तरीका उपलब्ध कराने के लिए, आपको MediaSession का इस्तेमाल करना होगा. इसे लागू करने के तरीके के बारे में ज़्यादा जानने के लिए, Media3 Mediasession इस्तेमाल करना देखें.

बेसलाइन के तौर पर, आपके ऐप्लिकेशन में Google Cast की सुविधा होनी चाहिए. इसकी मदद से, Android, iOS, और Chrome ऐप्लिकेशन को Android TV, Chromecast डिवाइसों, और Assistant डिवाइसों पर ऑडियो और वीडियो स्ट्रीम करने की सुविधा दी जा सकती है. ज़्यादा जानकारी के लिए, Google Cast का दस्तावेज़ देखें.

उपयोगकर्ताओं की मदद करने के लिए, ये तरीके भी अपनाए जा सकते हैं:

  • मीडिया के लिए कार्रवाई फ़ीड ऑफ़र करके या 'अगला देखें' को इंटिग्रेट करके, अलग-अलग प्लैटफ़ॉर्म पर कॉन्टेंट खोजें.

  • खाता लिंक करने और एनटाइटलमेंट सिंक करने की सुविधा उपलब्ध कराने, वॉइस कास्टिंग की सुविधा देने, और Cast Connect को चालू करके, वॉइस और यूज़र ऐक्टिविटी का फ़ायदा पाएं.

  • Google Play Billing को इंटिग्रेट करके, आसानी से पेमेंट करें. साथ ही, बिना किसी रुकावट के सदस्यताएं उपलब्ध कराएं.

टीवी इनपुट फ़्रेमवर्क बनाना

लाइव टीवी शो और चैनल पर आधारित अन्य लगातार कॉन्टेंट देखना, टीवी अनुभव का एक बड़ा हिस्सा है. उपयोगकर्ता, चैनल ब्राउज़ करके टीवी पर शो चुनने और देखने के अभ्यस्त होते हैं. टीवी इनपुट फ़्रेमवर्क, टीवी प्रोग्रामिंग गाइड में आइडिया या संगीत कॉन्टेंट पब्लिश करने के लिए चैनल बनाता है.

टीवी इनपुट फ़्रेमवर्क, हार्डवेयर सोर्स (जैसे, एचडीएमआई पोर्ट और पहले से मौजूद ट्यूनर) और सॉफ़्टवेयर सोर्स (जैसे, इंटरनेट पर स्ट्रीम किया गया वीडियो) से लाइव वीडियो कॉन्टेंट पाने और उसे चलाने का एक तरीका उपलब्ध कराता है. ज़्यादा जानकारी के लिए, टीवी इनपुट सेवाएं बनाना लेख पढ़ें.