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

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

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

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

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

پشتیبانی از فرمت رسانه را تعیین کنید

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

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

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

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

  • Activity for TV: در مانیفست برنامه خود، فعالیتی را که قرار است در دستگاه های تلویزیون اجرا شود، اعلام کنید.
  • کتابخانه های تلویزیون: به صورت اختیاری، یک یا چند کتابخانه اندرویدی موجود برای دستگاه های تلویزیون را که در بخش دیگری از این راهنما فهرست شده اند، اضافه کنید. این کتابخانه ها ویجت هایی را برای ساخت رابط های کاربری ارائه می کنند.

پیش نیازها

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

  • ابزارهای SDK خود را به نسخه 24.0.0 یا بالاتر به روز کنید .
    ابزارهای به روز شده SDK به شما امکان می دهند برنامه هایی را برای تلویزیون بسازید و آزمایش کنید.
  • SDK خود را با Android 5.0 (API 21) یا بالاتر به‌روزرسانی کنید.
    نسخه پلتفرم به روز شده API های جدیدی را برای برنامه های تلویزیونی ارائه می دهد.
  • پروژه برنامه خود را ایجاد یا به روز کنید.
    برای دسترسی به APIهای جدید برای دستگاه‌های تلویزیون، پروژه‌ای ایجاد کنید یا پروژه موجود را تغییر دهید که Android 5.0 (سطح API 21) یا بالاتر را هدف قرار می‌دهد.

فعالیت تلویزیونی را اعلام کنید

برنامه‌ای که برای اجرا در دستگاه‌های تلویزیونی در نظر گرفته شده است باید یک فعالیت راه‌انداز برای تلویزیون در مانیفست خود اعلام کند. برای این کار از یک فیلتر هدف 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 را در دستگاه های تلویزیونی اجرا می کنند قابل مشاهده نیست. همچنین، اگر برنامه شما وقتی از ابزارهای توسعه دهنده برای بارگذاری آن بر روی دستگاه تلویزیون استفاده می کنید، این فیلتر را نداشته باشد، برنامه در رابط کاربری تلویزیون ظاهر نمی شود.

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

پشتیبانی از دستگاه تلویزیون را اعلام کنید

با اعلام ویژگی 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 با اندازه 320 x 180 پیکسل استفاده کنید. متن باید در تصویر درج شود. اگر برنامه شما به بیش از یک زبان در دسترس است، باید نسخه جداگانه بنر را با متن برای هر زبان پشتیبانی شده ارائه دهید.

رنگ لانچر را تغییر دهید

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

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

<resources>
    <style ... >
      <item name="android:colorPrimary">@color/primary</item>
      <item name="android:windowAllowReturnTransitionOverlap">true</item>
      <item name="android:windowAllowEnterTransitionOverlap">true</item>
    </style>
</resources>

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

یک برنامه برای سیستم عامل Android TV بسازید

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

برای تلویزیون بنویسید

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

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

جعبه ابزار UI Leanback

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

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

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

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

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

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

  1. از یک کابل USB برای اتصال دستگاه تلویزیون خود به دستگاه توسعه خود استفاده کنید. در صورت نیاز، به اسناد ارائه شده توسط سازنده دستگاه خود مراجعه کنید.
  2. در دستگاه تلویزیون خود، به تنظیمات بروید.
  3. در ردیف دستگاه ، درباره را انتخاب کنید.
  4. به Build بروید و چندین بار Build را انتخاب کنید تا زمانی که پیام "You are now a developer!"
  5. به تنظیمات برگردید. در ردیف Preferences ، Developer options را انتخاب کنید.
  6. Debugging > USB debugging را انتخاب کرده و On را انتخاب کنید.
  7. به صفحه اصلی تلویزیون برگردید.

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

  1. در اندروید استودیو، پروژه خود را انتخاب کرده و روی Run کلیک کنید از نوار ابزار
  2. در پنجره Select Deployment Target ، دستگاه تلویزیون خود را انتخاب کرده و روی OK کلیک کنید.

روی دستگاه مجازی اجرا کنید

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

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

  1. AVD Manager را راه اندازی کنید. برای اطلاعات بیشتر، به ایجاد و مدیریت دستگاه‌های مجازی مراجعه کنید.
  2. در گفتگوی AVD Manager، روی تب Device Definitions کلیک کنید.
  3. یکی از تعاریف دستگاه Android TV را انتخاب کنید و روی Create AVD کلیک کنید.
  4. گزینه های شبیه ساز را انتخاب کنید و برای ایجاد AVD روی OK کلیک کنید.

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

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

  1. در اندروید استودیو، پروژه خود را انتخاب کرده و روی Run کلیک کنید از نوار ابزار
  2. در پنجره Select Deployment Target ، دستگاه تلویزیون مجازی خود را انتخاب کرده و روی OK کلیک کنید.

برای اطلاعات بیشتر در مورد استفاده از شبیه سازها، به اجرای برنامه ها در شبیه ساز 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>

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

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

چک لیست برنامه های تلویزیونی را برای مراحل بعدی آماده سازی برنامه تلویزیونی خود برای انتشار و توزیع مرور کنید.