اندروید یک تجربه کاربری غنی ارائه میدهد که برای برنامههایی که روی دستگاههای صفحه نمایش بزرگ مانند تلویزیونهای با کیفیت بالا اجرا میشوند، بهینه شده است. شما میتوانید با توسعه برنامه خود برای اندروید تیوی، مخاطبان آن را افزایش دهید. این سند راهنماییهایی در مورد نحوه انجام موثر این کار ارائه میدهد.
ساخت اپلیکیشنهای تلویزیونی
برنامههای تلویزیونی از همان ساختار برنامههای تلفن و تبلت استفاده میکنند. این رویکرد به این معنی است که میتوانید برنامههای تلویزیونی جدیدی را بر اساس آنچه از قبل در مورد ساخت برنامهها برای اندروید میدانید، ایجاد کنید یا برنامههای موجود خود را برای اجرا در دستگاههای تلویزیونی نیز گسترش دهید.
با این حال، مدل تعامل کاربر برای تلویزیون اساساً با دستگاههای تلفن و تبلت متفاوت است. برای اینکه برنامه شما در دستگاههای تلویزیون موفق باشد، باید طرحبندیهای جدیدی طراحی کنید که از فاصله ۱۰ فوتی به وضوح قابل درک باشند و ناوبری را فراهم کنید که فقط با یک پد جهتیابی و یک دکمه انتخاب کار کند.
برای اطلاعات بیشتر در مورد ملاحظاتی مانند نحوه مدیریت کنترلکنندههای سختافزار تلویزیون، ساخت طرحبندی تلویزیون و ایجاد ناوبری تلویزیون، به بخش «ساخت برنامههای تلویزیون» مراجعه کنید.
از Media3 ExoPlayer استفاده کنید
Jetpack Media3 یک رابط پخشکننده ارائه میدهد که ویژگیهای اساسی مانند قابلیت پخش، مکث، جستجو و نمایش اطلاعات آهنگ را تعریف میکند. ExoPlayer پیادهسازی پیشفرض این رابط در Media3 است.
در مقایسه با رابط برنامهنویسی کاربردی مدیاپلیر اندروید، این رابط، امکانات بیشتری مانند پشتیبانی از پروتکلهای استریم چندگانه، رندرکنندههای پیشفرض صدا و تصویر و کامپوننتهایی که بافرینگ رسانه را مدیریت میکنند، ارائه میدهد.
شما میتوانید ExoPlayer را سفارشیسازی و گسترش دهید و میتوانید آن را از طریق بهروزرسانیهای برنامه Play Store بهروزرسانی کنید. برای اطلاعات بیشتر، به Media3 ExoPlayer مراجعه کنید.
از Media3 MediaSession استفاده کنید
جلسات رسانهای (Media Sessions) یک روش جهانی برای تعامل سیستم با پخشکننده صوتی یا تصویری برنامه شما فراهم میکنند. یکی از ویژگیهای اصلی که Media3 را از APIهای رسانهای قبلی متمایز میکند این است که دیگر نیازی به رابط بین اجزا نیست.
کلاس جدید MediaSession هر کلاسی را که رابط Player را پیادهسازی کند، میپذیرد. هم ExoPlayer و هم MediaController کلاسهایی هستند که آن رابط را پیادهسازی میکنند. این امر تعامل بسیار سادهتری بین اجزا را تسهیل میکند. برای اطلاعات بیشتر، به رابط Player مراجعه کنید.
برای اطلاعات بیشتر در مورد ایجاد یک برنامه پخش رسانه، به ایجاد یک پخش کننده رسانه اولیه با استفاده از 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، برنامه شما میتواند به پلتفرم اطلاع دهد که در حال پخش رسانه است و پلتفرم قادر است به برنامه اطلاع دهد که پخش میتواند متوقف شود.پخش موسیقی هنگام خارج شدن از برنامه یا خاموش کردن صفحه تلویزیون به طور غیرمنتظرهای متوقف میشود . استفاده از APIهای
MediaSessionامکان پخش مداوم در یک سرویس پسزمینه را فراهم میکند.تعامل محدود با محتوایی که کاربران را از کنترل پخش باز میدارد. به عنوان مثال، بازگشت به برنامه شما در صورت پخش موسیقی در پسزمینه یا پشتیبانی از دستورات صوتی. با
MediaSessionدر برنامه شما، کاربران میتوانند از دستورات صوتی برای جستجو و رد کردن آهنگها یا قسمتها استفاده کنند .
ملاحظات بیشتر
همانطور که برنامه رسانهای خود را برای تلویزیون به اندروید گسترش میدهید، باید مسائل مربوط به دسترسی، نحوه ایجاد تعامل، نحوه فراهم کردن امکان یافتن محتوا توسط کاربران و همچنین نحوه ساخت بازیها و سرویسهای ورودی تلویزیون را در نظر بگیرید.
دسترسی به تلویزیون
اگرچه فناوریهای کمکی میتوانند و واقعاً به کاربران کمبینا کمک میکنند، اما پشتیبانی از دسترسیپذیری در سفرهای کشف محتوا برای برنامههای تلویزیونی بسیار مهم است.
برای مثال، به ارائه راهنمایی ناوبری و برچسبگذاری صحیح عناصر توجه بیشتری داشته باشید و اطمینان حاصل کنید که برنامههای تلویزیون با ویژگیهای دسترسی مانند TalkBack به خوبی کار میکنند. این مراحل میتواند تجربه کاربران دارای اختلالات بینایی را به طور قابل توجهی بهبود بخشد.
اولین قدم برای بهبود دسترسیپذیری، آگاهی است. برای اطلاعات بیشتر در مورد مقیاسبندی متن، طرحبندی صفحهکلید و توضیحات صوتی، به منابع دسترسیپذیری مراجعه کنید.
بهترین شیوهها برای افزایش تعامل در گوگل تیوی
همه برنامههای ساخته شده برای Android TV روی دستگاههایی که Google TV را اجرا میکنند کار میکنند. برای ارائه بهترین تجربه کاربری در Google TV، توصیه میکنیم از بهترین شیوههای زیر استفاده کنید.
برای ارائه یک روش جهانی برای تعامل با پخشکننده صوتی یا تصویری، باید از MediaSession استفاده کنید. برای اطلاعات بیشتر در مورد نحوه پیادهسازی این، به بخش «استفاده از Media3 MediaSession» مراجعه کنید.
به عنوان یک اصل، برنامه شما باید از Google Cast پشتیبانی کند. این به شما امکان میدهد برنامههای Android، iOS و Chrome خود را گسترش دهید تا پخش صدا و تصویر را به تلویزیونهای Android و همچنین دستگاههای Chromecast و دستگاههای Assistant فعال کنید. برای اطلاعات بیشتر، به مستندات Google Cast مراجعه کنید.
شما همچنین میتوانید به کاربران کمک کنید:
با ارائه فید اقدامات رسانهای یا ادغام Watch Next، محتوا را در سطوح مختلف کشف کنید .
با پشتیبانی از لینک کردن حساب کاربری و همگامسازی حق پخش، ارائه پخش صوتی و فعال کردن Cast Connect، از صدا و تعامل بهرهمند شوید .
با ادغام پرداخت گوگل پلی و ارائه اشتراکهای بدون دردسر، پرداخت آسانتری داشته باشید .
ساخت چارچوب ورودی تلویزیون
تماشای برنامههای تلویزیونی زنده و سایر محتوای پیوسته و مبتنی بر کانال، بخش بزرگی از تجربه تلویزیون است. کاربران به انتخاب و تماشای برنامهها در تلویزیون از طریق مرور کانال عادت دارند. چارچوب ورودی تلویزیون، کانالهایی را برای انتشار محتوای تصویری یا موسیقی در راهنمای برنامهریزی تلویزیون ایجاد میکند.
چارچوب ورودی تلویزیون (TV Input Framework) روشی یکپارچه برای دریافت و پخش محتوای ویدیویی زنده از منابع سختافزاری، مانند پورتهای HDMI و تیونرهای داخلی، و منابع نرمافزاری، مانند ویدیوهای پخششده از طریق اینترنت، ارائه میدهد. برای اطلاعات بیشتر، به بخش «ساخت سرویسهای ورودی تلویزیون» مراجعه کنید.