برنامههای تلویزیونی از همان ساختار برنامههای تلفن و تبلت استفاده میکنند. این شباهت به این معنی است که میتوانید برنامههای موجود خود را برای اجرا در دستگاههای تلویزیونی تغییر دهید یا بر اساس آنچه در مورد ساخت برنامههای اندروید میدانید، برنامههای جدیدی ایجاد کنید.
مهم: برنامه شما باید شرایط خاصی را داشته باشد تا به عنوان یک برنامه Android TV در Google Play واجد شرایط باشد. برای اطلاعات بیشتر، به شرایط ذکر شده در کیفیت برنامه TV مراجعه کنید.
این راهنما نحوه آمادهسازی محیط توسعه برای ساخت برنامههای تلویزیونی و حداقل تغییرات لازم برای اجرای یک برنامه روی دستگاههای تلویزیونی را شرح میدهد.
برای اطلاعات بیشتر در مورد طراحی اپلیکیشن برای تلویزیون، به بخش «طراحی برای تلویزیون» مراجعه کنید. همچنین میتوانید به نمونههای اپلیکیشن موجود در مخزن گیتهاب اندروید تیوی مراجعه کنید.
پشتیبانی از فرمت رسانه را تعیین کنید
برای اطلاعات بیشتر در مورد کدکها، پروتکلها و فرمتهای پشتیبانی شده توسط Android TV، به مستندات زیر مراجعه کنید:
راهاندازی یک پروژه تلویزیونی
این بخش نحوه راهاندازی یک پروژه تلویزیونی را مورد بحث قرار میدهد، چه در حال تغییر یک برنامه اندروید موجود برای اجرا روی دستگاههای تلویزیون باشید و چه در حال ایجاد یک برنامه تلویزیونی جدید. اگر یک برنامه اندروید موجود دارید، اضافه کردن پشتیبانی از Android TV به شما امکان میدهد ضمن استفاده مجدد از معماری برنامه موجود خود، یک رابط کاربری برای تلویزیون طراحی کنید.
دو جزء اصلی وجود دارد که هنگام ایجاد یک برنامه که روی دستگاههای تلویزیون اجرا میشود، استفاده میکنید:
- فعالیت برای تلویزیون: در مانیفست برنامه خود، یک فعالیت تعریف کنید که قرار است روی دستگاههای تلویزیون اجرا شود.
- کتابخانههای تلویزیون: در صورت تمایل، یک یا چند کتابخانه اندروید موجود برای دستگاههای تلویزیون را که در بخش دیگری از این راهنما فهرست شدهاند، اضافه کنید. این کتابخانهها ویجتهایی برای ساخت رابطهای کاربری ارائه میدهند.
پیشنیازها
قبل از شروع ساخت یک برنامه برای تلویزیون، باید مراحل زیر را انجام دهید:
- ابزارهای SDK خود را به نسخه 24.0.0 یا بالاتر بهروزرسانی کنید .
ابزارهای SDK بهروزرسانیشده به شما امکان میدهند برنامههایی برای تلویزیون بسازید و آزمایش کنید. - SDK خود را با اندروید ۵.۰ (API 21) یا بالاتر بهروزرسانی کنید.
نسخه پلتفرم بهروزرسانیشده، APIهای جدیدی را برای برنامههای تلویزیونی ارائه میدهد. - پروژه اپلیکیشن خود را ایجاد یا بهروزرسانی کنید.
برای دسترسی به APIهای جدید برای دستگاههای تلویزیون، یک پروژه ایجاد کنید یا یک پروژه موجود را که برای اندروید ۵.۰ (سطح API ۲۱) یا بالاتر مناسب است، تغییر دهید.
اعلام فعالیت تلویزیونی
برنامهای که قرار است روی دستگاههای تلویزیون اجرا شود، باید یک اکتیویتی لانچر برای تلویزیون در مانیفست خود اعلام کند. برای انجام این کار از فیلتر اینتنت CATEGORY_LEANBACK_LAUNCHER استفاده میکند. این فیلتر برنامه شما را به عنوان برنامهای که برای تلویزیون فعال است شناسایی میکند و به گوگل پلی اجازه میدهد آن را به عنوان یک برنامه تلویزیونی شناسایی کند. وقتی کاربری برنامه شما را در صفحه اصلی تلویزیون خود انتخاب میکند، این اینتنت مشخص میکند که کدام اکتیویتی را باید اجرا کند.
قطعه کد زیر نحوهی اضافه کردن این فیلتر intent به مانیفست را نشان میدهد:
<application android:banner="@drawable/banner" > ... <activity android:name="com.example.android.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.example.android.TvActivity" android:label="@string/app_name" android:theme="@style/Theme.Leanback"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> </intent-filter> </activity> </application>
ورودی مانیفست فعالیت دوم در این مثال مشخص میکند که این فعالیت قرار است روی یک دستگاه تلویزیون اجرا شود.
احتیاط: اگر فیلتر هدف CATEGORY_LEANBACK_LAUNCHER را در برنامه خود وارد نکنید، برای کاربرانی که Google Play را روی دستگاههای تلویزیون اجرا میکنند قابل مشاهده نیست. همچنین، اگر برنامه شما هنگام استفاده از ابزارهای توسعهدهنده برای بارگذاری آن روی دستگاه تلویزیون، این فیلتر را نداشته باشد، برنامه در رابط کاربری تلویزیون ظاهر نمیشود.
رابط کاربری برنامه تلویزیونی شما، یا بخش تلویزیونی برنامه فعلیتان، باید رابط کاربری سادهای برای پیمایش آسان با استفاده از کنترل از راه دور از فاصله ۱۰ فوتی (حدود ۳ متر) ارائه دهد. اگر در حال تغییر یک برنامه موجود برای استفاده در تلویزیون هستید، از همان طرحبندی فعالیتی که برای تلفنها و تبلتها استفاده میکنید، برای تلویزیون استفاده نکنید. برای راهنمایی در مورد طراحی یک برنامه برای تلویزیون، به بخش «طراحی برای تلویزیون» مراجعه کنید.
اعلام پشتیبانی از دستگاههای تلویزیون
با اعلام ویژگی android.software.leanback اعلام کنید که برنامه شما برای Android TV ساخته شده است.
اگر برنامه شما هم روی موبایل و هم روی تلویزیون اجرا میشود، مقدار ویژگی required را روی false تنظیم کنید. اگر مقدار ویژگی required را روی true تنظیم کنید، گوگل پلی برنامه شما را فقط در سیستم عامل اندروید تیوی در دسترس قرار میدهد.
<manifest> <uses-feature android:name="android.software.leanback" android:required="false" /> ... </manifest>
اعلام کنید که صفحه لمسی لازم نیست
برنامههایی که برای اجرا روی دستگاههای تلویزیون در نظر گرفته شدهاند، برای ورودی به صفحات لمسی متکی نیستند. برای روشن شدن این موضوع، باید در مانیفست برنامه تلویزیون شما اعلام شود که ویژگی android.hardware.touchscreen مورد نیاز نیست. این تنظیم، برنامه شما را به عنوان برنامهای که قادر به کار روی دستگاه تلویزیون است، شناسایی میکند و برای اینکه برنامه شما در Google Play به عنوان یک برنامه تلویزیونی در نظر گرفته شود، لازم است. مثال کد زیر نحوه گنجاندن این اعلان مانیفست را نشان میدهد:
<manifest> <uses-feature android:name="android.hardware.touchscreen" android:required="false" /> ... </manifest>
احتیاط: در مانیفست برنامه خود، باید همانطور که در این کد نمونه نشان داده شده است، اعلام کنید که صفحه لمسی لازم نیست. در غیر این صورت، برنامه شما در دستگاههای تلویزیون در Google Play نمایش داده نمیشود.
یک آیکون و بنر برای صفحه اصلی ارائه دهید
برنامههای Android TV باید برای هر محلیسازی، هم یک آیکون صفحه اصلی و هم یک تصویر بنر ارائه دهند. بسته به دستگاه Android TV، از آیکون یا بنر به عنوان نقطه شروع برنامه استفاده میشود که در صفحه اصلی در ردیف برنامهها و بازیها ظاهر میشود.
برای افزودن این موارد به برنامه خود، آیکون و بنر را در مانیفست به صورت زیر توصیف کنید:
<application ... android:icon="@mipmap/ic_launcher" android:banner="@drawable/banner" > ... </application>
آیکون صفحه اصلی
برنامههای اندروید تیوی، مانند همه برنامههای اندروید، باید یک آیکون صفحه اصلی داشته باشند. برای بهترین شیوهها در طراحی یک نقطه شروع عالی برای برنامه خود و الزامات دقیق دارایی، به دستورالعملهای آیکون و بنر برنامه اندروید تیوی مراجعه کنید.
بنر صفحه اصلی
از ویژگی android:banner به همراه تگ <application> برای ایجاد یک بنر پیشفرض برای تمام فعالیتهای برنامه، یا از تگ <activity> برای ایجاد یک بنر برای یک فعالیت خاص استفاده کنید.
برای بنر، از یک منبع xhdpi با اندازه ۳۲۰ در ۱۸۰ پیکسل استفاده کنید. متن باید در تصویر گنجانده شود. اگر برنامه شما به بیش از یک زبان موجود است، باید نسخههای جداگانهای از بنر را با متن برای هر زبان پشتیبانی شده ارائه دهید.
تغییر رنگ لانچر
احتیاط: در اندروید ۱۲ و بالاتر، انیمیشنهای صفحه شروع سفارشی که با استفاده از API پلتفرم SplashScreen ساخته شدهاند، برای برنامههای Android TV پشتیبانی نمیشوند.
وقتی یک برنامه تلویزیونی اجرا میشود، سیستم انیمیشنی را نمایش میدهد که شبیه یک دایره توپر و در حال گسترش است. برای سفارشیسازی رنگ این انیمیشن، ویژگی android:colorPrimary برنامه یا فعالیت تلویزیونی خود را روی یک رنگ خاص تنظیم کنید. همچنین، دو ویژگی همپوشانی انتقال را همانطور که در قطعه کد زیر از یک فایل XML منبع تم نشان داده شده است، روی true تنظیم کنید:
<resources> <style name="MyTheme"> <item name="android:colorPrimary">@color/primary</item> <item name="android:windowAllowReturnTransitionOverlap">true</item> <item name="android:windowAllowEnterTransitionOverlap">true</item> </style> </resources>
برای اطلاعات بیشتر در مورد کار با تمها و سبکها، به بخش سبکها و تمها مراجعه کنید.
ساخت اپلیکیشن برای سیستم عامل اندروید تیوی
جتپک شامل کتابخانههای بسته اندروید برای استفاده با برنامههای تلویزیونی است.
آهنگسازی برای تلویزیون
Compose روش پیشنهادی برای ساخت برنامهها برای سیستم عامل اندروید تیوی است. در کنار کتابخانههای اصلی Compose، کتابخانههای Compose for TV اجزای اختصاصی طراحی شده مخصوص صفحه نمایش بزرگ را ارائه میدهند:
نحوه ساخت یک برنامه تلویزیونی با استفاده از Compose برای تلویزیون را در استفاده از Jetpack Compose در Android TV کشف کنید.
جعبه ابزار رابط کاربری Leanback
جعبه ابزار رابط کاربری Leanback، APIها و ویجتهای رابط کاربری را برای دستگاههای تلویزیون ارائه میدهد:
-
androidx.leanback.app -
androidx.leanback.database -
androidx.leanback.graphics -
androidx.leanback.media -
androidx.leanback.preference -
androidx.leanback.system -
androidx.leanback.widget -
androidx.leanback.widget.picker
نحوه ساخت یک برنامه تلویزیونی با استفاده از جعبه ابزار رابط کاربری Leanback را در بخش «ساخت برنامههای پخش تلویزیون» کشف کنید.
اجرای برنامههای تلویزیونی
اجرای برنامه شما بخش مهمی از فرآیند توسعه است. میتوانید برنامه خود را روی دستگاههای تلویزیونی که برای پشتیبانی از اشکالزدایی USB پیکربندی شدهاند یا از دستگاههای تلویزیون مجازی استفاده میکنند، اجرا کنید.
اجرا روی یک دستگاه فیزیکی
دستگاه تلویزیون خود را به صورت زیر تنظیم کنید:
- از کابل USB برای اتصال دستگاه تلویزیون خود به دستگاه توسعه خود استفاده کنید. در صورت نیاز، به مستندات ارائه شده توسط سازنده دستگاه خود مراجعه کنید.
- در دستگاه تلویزیون خود، به تنظیمات (Settings) بروید.
- در ردیف دستگاه ، درباره را انتخاب کنید.
- به قسمت ساخت (Build) بروید و چندین بار ساخت (Build) را انتخاب کنید تا پیام «شما اکنون یک توسعهدهنده هستید!» را دریافت کنید.
- به تنظیمات برگردید. در ردیف تنظیمات ، گزینههای توسعهدهندگان را انتخاب کنید.
- اشکالزدایی > اشکالزدایی USB را انتخاب کنید و روشن را انتخاب کنید.
- به صفحه اصلی تلویزیون برگردید.
برای آزمایش برنامه خود روی دستگاه تلویزیون:
- در اندروید استودیو، پروژه خود را انتخاب کنید و روی Run کلیک کنید.
از نوار ابزار. - در پنجره Select Deployment Target ، دستگاه تلویزیون خود را انتخاب کرده و روی OK کلیک کنید.
اجرا روی یک دستگاه مجازی
مدیر AVD در SDK اندروید، تعاریف دستگاه را ارائه میدهد که به شما امکان میدهد دستگاههای تلویزیون مجازی را برای اجرا و آزمایش برنامههای خود ایجاد کنید.
برای ایجاد یک دستگاه تلویزیون مجازی:
- مدیر AVD را اجرا کنید. برای اطلاعات بیشتر، به ایجاد و مدیریت دستگاههای مجازی مراجعه کنید.
- در پنجرهی AVD Manager، روی تب Device Definitions کلیک کنید.
- یکی از تعاریف دستگاه Android TV را انتخاب کنید و روی Create AVD کلیک کنید.
- گزینههای شبیهساز را انتخاب کنید و برای ایجاد AVD روی تأیید کلیک کنید.
توجه: برای بهترین عملکرد دستگاه شبیهساز تلویزیون، از شبیهساز x86 استفاده کنید و گزینه Use Host GPU را فعال کنید. همچنین در صورت امکان از شتابدهنده مجازی دستگاه استفاده کنید. برای اطلاعات بیشتر در مورد شتابدهنده سختافزاری شبیهساز، به پیکربندی شتابدهنده سختافزاری برای شبیهساز اندروید مراجعه کنید.
برای آزمایش برنامه خود روی دستگاه تلویزیون مجازی:
- در اندروید استودیو، پروژه خود را انتخاب کنید و روی Run کلیک کنید.
از نوار ابزار. - در پنجره Select Deployment Target ، دستگاه تلویزیون مجازی خود را انتخاب کرده و روی OK کلیک کنید.
برای اطلاعات بیشتر در مورد استفاده از شبیهسازها، به بخش اجرای برنامهها در شبیهساز اندروید مراجعه کنید. برای اطلاعات بیشتر در مورد استقرار برنامهها از اندروید استودیو به دستگاههای مجازی، به بخش اشکالزدایی برنامه خود مراجعه کنید.
برنامه تلویزیون خود را فعال کنید تا به عنوان یک تجربه فوری اجرا شود
تجربههای آنی، امتحان کردن اپلیکیشن تلویزیونی شما را برای کاربران آسان میکند و میتواند به افزایش پذیرش آن کمک کند.
برای تنظیم برنامه تلویزیون خود برای اجرا به عنوان یک برنامه فوری در دستگاه یا شبیهساز Android TV، ابتدا دستورالعملهای ایجاد یک بسته برنامه با قابلیت Instant را دنبال کنید.
سپس، در intent-filter مربوط به MainActivity برنامه تلویزیون خود، مطمئن شوید که هم LAUNCHER و هم LEANBACK_LAUNCHER در AndroidManifest.xml تعریف شدهاند:
<activity android:name="com.example.android.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> </intent-filter> </activity>
برنامه تلویزیون شما اکنون پیکربندی شده است تا به عنوان یک تجربه فوری اجرا شود.
برنامه تلویزیونی خود را برای انتشار آماده کنید
برای مراحل بعدی آمادهسازی اپلیکیشن تلویزیونی خود برای انتشار و توزیع ، چکلیست اپلیکیشنهای تلویزیونی را مرور کنید.