ایجاد و اجرای برنامه تلویزیون

برنامه‌های تلویزیون از همان ساختار برنامه‌های تلفن و رایانه لوحی استفاده می‌کنند. این شباهت به این معنی است که می‌توانید برنامه‌های موجود خود را تغییر دهید تا در دستگاه‌های تلویزیون نیز اجرا شوند یا برنامه‌های جدیدی براساس آنچه قبلاً درباره ساختن برنامه‌ها برای Android می‌دانید ایجاد کنید.

مهم: برنامه شما باید الزامات خاصی را برآورده کند تا به‌عنوان برنامه Android TV در Google Play واجدشرایط باشد. برای اطلاعات بیشتر، الزامات فهرست‌شده در کیفیت برنامه تلویزیون را ببینید.

این راهنما نحوه آماده‌سازی محیط توسعه برای ساختن برنامه‌های تلویزیون و حداقل تغییرات لازم برای فعال کردن برنامه جهت اجرا در دستگاه‌های تلویزیون را شرح می‌دهد.

برای کسب اطلاعات درباره طراحی برنامه‌ها برای تلویزیون، به طراحی برای تلویزیون مراجعه کنید. همچنین برنامه‌های نمونه را در مخزن Android TV GitHub ببینید.

تعیین پشتیبانی از قالب رسانه

برای کسب اطلاعات درباره کدک‌ها، پروتکل‌ها، و قالب‌های پشتیبانی‌شده توسط Android TV، به اسناد زیر مراجعه کنید:

راه‌اندازی پروژه تلویزیونی

این بخش درباره نحوه راه‌اندازی پروژه تلویزیون بحث می‌کند، چه درحال اصلاح برنامه Android موجود برای اجرا در دستگاه‌های تلویزیون باشید و چه درحال ایجاد برنامه تلویزیون جدید. اگر برنامه Android موجودی دارید، افزودن پشتیبانی Android TV به شما امکان می‌دهد رابط کاربری برای تلویزیون طراحی کنید و درعین‌حال از معماری برنامه موجود خود استفاده مجدد کنید.

هنگام ایجاد برنامه‌ای که در دستگاه‌های تلویزیون اجرا می‌شود، از دو عنصر اصلی استفاده می‌کنید:

  • فعالیت برای تلویزیون: در مانیفست برنامه خود، فعالیتی را که برای اجرا در دستگاه‌های تلویزیون درنظر گرفته شده است اعلام کنید.
  • کتابخانه‌های تلویزیون: به‌صورت اختیاری، یک یا چند مورد از کتابخانه‌های androidx را که برای دستگاه‌های تلویزیون دردسترس هستند و در بخش دیگری از این راهنما فهرست شده‌اند اضافه کنید. این کتابخانه‌ها ابزاره‌هایی برای ساختن میانای کاربر ارائه می‌دهند.

پیش‌نیازها

قبل‌از شروع ساخت برنامه برای تلویزیون، باید مراحل زیر را انجام دهید:

  • ابزارهای کیت توسعه نرم‌افزار خود را به نسخه ۲۴.۰.۰ یا بالاتر به‌روز کنید.
    ابزارهای کیت توسعه نرم‌افزار به‌روزشده به شما امکان می‌دهد برای تلویزیون برنامه بسازید و آن را آزمایش کنید.
  • «کیت توسعه نرم‌افزار» خود را با Android 5.0 (میانای برنامه کاربردی ۲۱) یا بالاتر به‌روز کنید.
    نسخه به‌روزشده پلاتفرم میاناهای برنامه‌سازی کاربردی جدیدی برای برنامه‌های تلویزیون ارائه می‌دهد.
  • پروژه برنامه‌تان را ایجاد یا به‌روز کنید.
    برای دسترسی به «میاناهای برنامه‌سازی کاربردی» جدید برای دستگاه‌های تلویزیون، پروژه‌ای ایجاد کنید یا پروژه موجودی را که Android 5.0 (سطح میانای برنامه‌سازی کاربردی ۲۱) یا بالاتر را هدف‌یابی می‌کند اصلاح کنید.

اعلام فعالیت تلویزیون

برنامه‌ای که برای اجرا در دستگاه‌های تلویزیون طراحی شده است باید فعالیت راه‌انداز را برای تلویزیون در مانیفست خود تعریف کند. برای انجام این کار، از فیلتر هدف CATEGORY_LEANBACK_LAUNCHER استفاده می‌کند. این فیلتر برنامه شما را به‌عنوان فعال‌شده برای تلویزیون شناسایی می‌کند و به Google Play اجازه می‌دهد آن را به‌عنوان برنامه تلویزیون شناسایی کند. وقتی کاربر برنامه شما را در صفحه اصلی تلویزیون انتخاب می‌کند، این هدف مشخص می‌کند کدام فعالیت راه‌اندازی شود.

تکه‌کد زیر نشان می‌دهد که چگونه این فیلتر هدف را در مانیفست خود بگنجانید:

<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 تنظیم کنید، Google Play برنامه شما را فقط در سیستم‌عامل Android TV دردسترس قرار می‌دهد.

<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 TV، مانند همه برنامه‌های Android، باید نماد صفحه اصلی ارائه دهند. برای اطلاع از روال‌های مطلوب درباره طراحی نقطه راه‌اندازی عالی برای برنامه و الزامات دقیق دارایی، به دستورالعمل‌های نماد برنامه و برنمای Android TV مراجعه کنید.

از مشخصه android:banner با برچسب <application> برای ارائه برنمای پیش‌فرض برای همه فعالیت‌های برنامه، یا با برچسب <activity> برای ارائه برنما برای فعالیت خاص استفاده کنید.

برای برنما، از منبع xhdpi با اندازه ۳۲۰ × ۱۸۰ پیکسل استفاده کنید. نوشتار باید در تصویر درج شود. اگر برنامه شما به بیش از یک زبان دردسترس است، باید نسخه‌های جداگانه‌ای از برنمای دارای نوشتار برای هر زبان پشتیبانی‌شده ارائه دهید.

تغییر رنگ راه‌انداز

احتیاط: در Android 12 و نسخه‌های بالاتر، از پویانمایی‌های صفحه اسپلش سفارشی که بااستفاده از میانای برنامه‌سازی کاربردی پلاتفرم SplashScreen ساخته شده‌اند برای برنامه‌های Android TV پشتیبانی نمی‌شود.

وقتی برنامه تلویزیون راه‌اندازی می‌شود، سیستم پویانمایی‌ای شبیه به دایره‌ای درحال گسترش و پرشده نمایش می‌دهد. برای سفارشی‌سازی رنگ این پویانمایی، مشخصه android:colorPrimary برنامه یا فعالیت تلویزیون خود را روی رنگ خاصی تنظیم کنید. همچنین، دو ویژگی هم‌پوشانی گذار را روی true تنظیم کنید، همان‌طور که در تکه‌کد زیر از فایل XML منبع زمینه نشان داده شده است:

<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>

برای اطلاعات بیشتر درباره کار با زمینه‌ها و سبک‌ها، به سبک‌ها و زمینه‌ها مراجعه کنید.

ساختن برنامه برای سیستم‌عامل Android TV

‫Jetpack شامل کتابخانه‌های بسته androidx برای استفاده با برنامه‌های تلویزیون است.

‫Compose ویژه Android TV

‫Compose روش توصیه‌شده برای ساختن برنامه‌های سیستم‌عامل Android TV است. در کنار کتابخانه‌های اصلی Compose، کتابخانه‌های Compose ویژه تلویزیون مؤلفه‌های اختصاصی‌ای را ارائه می‌دهند که به‌طور ویژه برای صفحه‌نمایش بزرگ طراحی شده‌اند:

در استفاده از Jetpack Compose در Android TV، با نحوه ساختن برنامه تلویزیون بااستفاده از Compose for TV آشنا شوید.

جعبه‌ابزار واسط کاربر Leanback

مجموعه ابزار واسط کاربر Leanback میاناهای برنامه‌سازی کاربردی و ابزارک‌های واسط کاربر را برای دستگاه‌های تلویزیون ارائه می‌دهد:

در ساخت برنامه‌های پخش تلویزیون با نحوه ساخت برنامه تلویزیون بااستفاده از مجموعه ابزار واسط کاربر Leanback آشنا شوید.

اجرای برنامه‌های تلویزیون

اجرای برنامه بخش مهمی از فرایند توسعه است. می‌توانید برنامه‌تان را در دستگاه‌های تلویزیون پیکربندی‌شده برای پشتیبانی از اشکال‌زدایی USB اجرا کنید یا از دستگاه‌های تلویزیون مجازی استفاده کنید.

اجرا در دستگاه فیزیکی

دستگاه تلویزیون خود را به این صورت راه‌اندازی کنید:

  1. از کابل USB برای متصل کردن دستگاه تلویزیون به ماشین توسعه استفاده کنید. درصورت نیاز، به مستندات ارائه‌شده ازسوی سازنده دستگاهتان مراجعه کنید.
  2. در دستگاه تلویزیون، به تنظیمات بروید.
  3. در ردیف دستگاه، درباره را انتخاب کنید.
  4. به ساخت پیمایش کنید و ساخت را چند بار انتخاب کنید تا پیام «اکنون توسعه‌دهنده هستید!» را دریافت کنید.
  5. به تنظیمات برگردید. در ردیف اولویت‌ها، گزینه‌های توسعه‌دهندگان را انتخاب کنید.
  6. اشکال‌زدایی > اشکال‌زدایی USB را انتخاب کنید و روشن را انتخاب کنید.
  7. به صفحه اصلی تلویزیون برگردید.

برای آزمایش برنامه در دستگاه تلویزیون:

  1. در «استودیو Android»، پروژه خود را انتخاب کنید و روی اجرا کردن در نوارابزار کلیک کنید.
  2. در پنجره انتخاب هدف استقرار، دستگاه تلویزیون خود را انتخاب کنید و روی تأیید کلیک کنید.

اجرا در دستگاه مجازی

«مدیر AVD» در «کیت توسعه نرم‌افزار Android» تعاریف دستگاهی ارائه می‌دهد که به شما امکان می‌دهد دستگاه‌های تلویزیون مجازی برای اجرا و آزمایش برنامه‌هایتان ایجاد کنید.

برای ایجاد دستگاه تلویزیون مجازی:

  1. «مدیر AVD» را شروع کنید. برای اطلاعات بیشتر، به ایجاد و مدیریت دستگاه‌های مجازی مراجعه کنید.
  2. در چارگوش گفتگوی «مدیر AVD»، روی برگه تعاریف دستگاه کلیک کنید.
  3. یکی از تعریف‌های دستگاه Android TV را انتخاب کنید و روی ایجاد AVD کلیک کنید.
  4. گزینه‌های شبیه‌ساز را انتخاب کنید و روی تأیید کلیک کنید تا AVD ایجاد شود.

    توجه: برای بهترین عملکرد دستگاه شبیه‌ساز تلویزیون، از شبیه‌ساز x86 استفاده کنید و گزینه استفاده از GPU میزبان را فعال کنید. همچنین درصورت دردسترس بودن از شتاب دستگاه مجازی استفاده کنید. برای کسب اطلاعات بیشتر درباره شتاب سخت‌افزاری شبیه‌ساز، پیکربندی شتاب سخت‌افزاری برای «شبیه‌ساز Android» را ببینید.

برای آزمایش کردن برنامه در دستگاه تلویزیون مجازی:

  1. در «استودیو Android»، پروژه خود را انتخاب کنید و روی اجرا کردن در نوارابزار کلیک کنید.
  2. در پنجره انتخاب هدف استقرار، دستگاه تلویزیون مجازی خود را انتخاب کنید و روی تأیید کلیک کنید.

برای اطلاعات بیشتر درباره استفاده از شبیه‌سازها، اجرای برنامه‌ها در «شبیه‌ساز Android» را ببینید. برای کسب اطلاعات بیشتر درباره استقرار برنامه‌ها از Android Studio در دستگاه‌های مجازی، عیب‌یابی برنامه را ببینید.

برنامه تلویزیون را فعال کنید تا به‌عنوان تجربه فوری اجرا شود

تجربه‌های فوری به کاربران امکان می‌دهد برنامه تلویزیون شما را بدون نصب کردن آن امتحان کنند و می‌تواند به افزایش پذیرش کمک کند.

برای راه‌اندازی برنامه تلویزیون خود به‌منظور اجرا به‌عنوان برنامه فوری در دستگاه Android TV یا شبیه‌ساز، ابتدا دستورالعمل‌های ایجاد بسته برنامه فوری‌فعال را دنبال کنید.

سپس، در 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>

برنامه تلویزیون شما اکنون برای اجرا به‌عنوان تجربه فوری پیکربندی شده است.

آماده کردن برنامه تلویزیون برای انتشار

برای مراحل بعدی آماده‌سازی برنامه تلویزیون برای انتشار و توزیع، بازببینی فهرست وارسی برنامه‌های تلویزیون را انجام دهید.