إنشاء تطبيق تلفزيون وتشغيله

تستخدم تطبيقات التلفزيون البنية نفسها التي تستخدمها تطبيقات الهواتف والأجهزة اللوحية. ويعني هذا التشابه أنّه يمكنك تعديل تطبيقاتك الحالية لتشغيلها أيضًا على أجهزة التلفزيون أو إنشاء تطبيقات جديدة استنادًا إلى ما تعرفه حاليًا عن إنشاء تطبيقات لنظام Android.

ملاحظة مهمة: يجب أن يستوفي تطبيقك متطلبات معيّنة ليكون مؤهلاً كأحد تطبيقات Android TV على Google Play. لمزيد من المعلومات، يُرجى الاطّلاع على المتطلبات الواردة في جودة تطبيقات التلفزيون.

يوضّح هذا الدليل كيفية إعداد بيئة التطوير لإنشاء تطبيقات على أجهزة التلفزيون والحد الأدنى من التغييرات المطلوبة لإتاحة تشغيل تطبيق على أجهزة التلفزيون.

للحصول على معلومات حول تصميم التطبيقات للتلفزيون، راجِع مقالة التصميم للتلفزيون. يمكنك أيضًا الاطّلاع على نماذج التطبيقات في مستودع Android TV على GitHub.

تحديد توافق تنسيق الوسائط

يمكنك الاطّلاع على المستندات التالية للحصول على معلومات حول برامج الترميز والبروتوكولات والتنسيقات المتوافقة مع Android TV:

إعداد مشروع تلفزيوني

يناقش هذا القسم كيفية إعداد مشروع تطبيق على التلفزيون، سواء كنت تعدّل تطبيق Android حاليًا ليعمل على أجهزة التلفزيون أو تنشئ تطبيقًا جديدًا للتلفزيون. إذا كان لديك تطبيق Android حالي، تتيح لك إضافة توافق تطبيقك مع Android TV تصميم واجهة مستخدم للتلفزيون مع إعادة استخدام بنية التطبيق الحالية.

هناك مكوّنان رئيسيان تستخدمهما عند إنشاء تطبيق يعمل على أجهزة التلفزيون:

  • النشاط على التلفزيون: في ملف البيان الخاص بتطبيقك، عليك تعريف نشاط مخصّص للتشغيل على أجهزة التلفزيون.
  • مكتبات Android TV: يمكنك اختياريًا تضمين واحدة أو أكثر من مكتبات androidx المتاحة لأجهزة Android TV، والمدرَجة في قسم آخر من هذا الدليل. توفّر هذه المكتبات أدوات لإنشاء واجهات المستخدم.

المتطلبات الأساسية

قبل البدء في إنشاء تطبيق للتلفزيون، عليك اتّخاذ الخطوات التالية:

  • يجب تحديث أدوات حزمة تطوير البرامج (SDK) إلى الإصدار 24.0.0 أو إصدار أحدث.
    تتيح لك أدوات حزمة تطوير البرامج (SDK) المعدَّلة إنشاء تطبيقات للتلفزيون واختبارها.
  • تحديث حزمة تطوير البرامج (SDK) إلى الإصدار 5.0 من نظام التشغيل Android (المستوى 21 من واجهة برمجة التطبيقات) أو إصدار أحدث
    يوفّر إصدار النظام الأساسي المعدَّل واجهات برمجة تطبيقات جديدة لتطبيقات التلفزيون.
  • أنشئ مشروع تطبيقك أو عدِّله.
    للوصول إلى واجهات برمجة التطبيقات الجديدة لأجهزة التلفزيون، أنشئ مشروعًا أو عدِّل مشروعًا حاليًا يستهدف الإصدار 5.0 من نظام التشغيل Android (المستوى 21 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

تعريف نشاط تلفزيوني

يجب أن يتضمّن ملف البيان الخاص بالتطبيق الذي يهدف إلى التشغيل على أجهزة التلفزيون نشاطًا خاصًا بمشغّل تطبيقات التلفزيون. ويتم ذلك باستخدام فلتر CATEGORY_LEANBACK_LAUNCHER أهداف. يحدّد هذا الفلتر أنّ تطبيقك متوافق مع أجهزة التلفزيون ويسمح لـ Google Play بتصنيفه كتطبيق بث تلفزيوني. وعندما يختار المستخدم تطبيقك من الشاشة الرئيسية للتلفزيون، يحدّد هذا الغرض النشاط الذي سيتم تشغيله.

يوضّح مقتطف الرمز التالي كيفية تضمين intent filter هذا في ملف البيان:

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

يحدّد إدخال بيان النشاط الثاني في هذا المثال أنّه النشاط الذي سيتم تشغيله على جهاز تلفزيون.

تنبيه: إذا لم تضمِّن intent filter CATEGORY_LEANBACK_LAUNCHER في تطبيقك، لن يظهر التطبيق للمستخدمين الذين يشغّلون Google Play على أجهزة التلفزيون. بالإضافة إلى ذلك، إذا لم يكن تطبيقك يتضمّن هذا الفلتر عند استخدام أدوات المطوّرين لتحميله على جهاز تلفزيون، لن يظهر التطبيق في واجهة مستخدم التلفزيون.

يجب أن توفّر واجهة مستخدم تطبيق التلفزيون أو جزء التلفزيون من تطبيقك الحالي إمكانية التنقّل بسهولة باستخدام جهاز تحكّم عن بُعد من مسافة 3 أمتار. إذا كنت تعدّل تطبيقًا حاليًا لاستخدامه على التلفزيون، لا تستخدِم تصميم النشاط نفسه الذي تستخدمه على الهواتف والأجهزة اللوحية. للحصول على إرشادات حول تصميم تطبيق للتلفزيون، يُرجى الاطّلاع على التصميم للتلفزيون.

تحديد أجهزة التلفزيون المتوافقة

يجب توضيح أنّ تطبيقك مصمّم لأجهزة Android TV من خلال تعريف الميزة android.software.leanback.

إذا كان تطبيقك يعمل على كلّ من الأجهزة الجوّالة والتلفزيون، اضبط قيمة السمة 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 TV.

توفير رمز للشاشة الرئيسية وبانر

يجب أن توفّر تطبيقات 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 × 180 بكسل. يجب تضمين نص في الصورة. إذا كان تطبيقك متاحًا بأكثر من لغة واحدة، عليك توفير إصدارات منفصلة من البانر مع نص لكل لغة متوافقة.

تغيير لون مشغّل التطبيقات

تنبيه: في الإصدار 12 من نظام التشغيل Android والإصدارات الأحدث، لا تتوافق الرسوم المتحركة المخصّصة لشاشة البداية التي تم إنشاؤها باستخدام 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 for TV

يُعدّ Compose الطريقة المقترَحة لإنشاء تطبيقات لنظام التشغيل Android TV. بالإضافة إلى مكتبات Compose الأساسية، توفّر مكتبات Compose لـ Android TV مكونات مخصّصة مصمّمة خصيصًا للشاشة الكبيرة:

تعرَّف على كيفية إنشاء تطبيق بث تلفزيوني باستخدام Compose لـ Android TV في مقالة استخدام Jetpack Compose على Android TV.

مجموعة أدوات واجهة مستخدم Leanback

توفّر مجموعة أدوات واجهة مستخدم Leanback واجهات برمجة تطبيقات وعناصر واجهة مستخدم لأجهزة التلفزيون:

تعرَّف على كيفية إنشاء تطبيق بث تلفزيوني باستخدام حزمة أدوات واجهة مستخدم Leanback في مقالة إنشاء تطبيقات تشغيل على التلفزيون.

تشغيل تطبيقات التلفزيون

يُعد تشغيل تطبيقك جزءًا مهمًا من عملية التطوير. يمكنك تشغيل تطبيقك على أجهزة تلفزيون تم ضبطها لتتيح تصحيح أخطاء الجهاز عبر USB أو استخدام أجهزة تلفزيون افتراضية.

التشغيل على جهاز فعلي

اتّبِع الخطوات التالية لإعداد جهاز التلفزيون:

  1. استخدِم كابل USB لتوصيل جهاز التلفزيون بجهاز التطوير. إذا لزم الأمر، راجِع المستندات التي توفّرها الشركة المصنّعة لجهازك.
  2. على جهاز التلفزيون، انتقِل إلى الإعدادات.
  3. في صف الجهاز، انقر على لمحة.
  4. انتقِل إلى الإصدار وانقر عليه عدة مرات إلى أن تظهر الرسالة "أهلاً بك بين المطوّرين".
  5. ارجع إلى الإعدادات. في صف الإعدادات المفضّلة، اختَر خيارات المطوّرين.
  6. انقر على تصحيح الأخطاء > تصحيح أخطاء الجهاز عبر USB، ثم انقر على تفعيل.
  7. ارجِع إلى شاشة التلفزيون الرئيسية.

لاختبار تطبيقك على جهاز التلفزيون، اتّبِع الخطوات التالية:

  1. في &quot;استوديو Android&quot;، اختَر مشروعك وانقر على تشغيل من شريط الأدوات.
  2. في نافذة اختيار هدف النشر، اختَر جهاز التلفزيون وانقر على حسنًا.

التشغيل على جهاز افتراضي

توفّر أداة إدارة أجهزة Android الافتراضية في حزمة تطوير البرامج (SDK) لنظام التشغيل Android تعريفات للأجهزة تتيح لك إنشاء أجهزة تلفزيون افتراضية لتشغيل تطبيقاتك واختبارها.

لإنشاء جهاز تلفزيون افتراضي، اتّبِع الخطوات التالية:

  1. ابدأ تشغيل أداة إدارة أجهزة Android الافتراضية. لمزيد من المعلومات، يُرجى الاطّلاع على إنشاء أجهزة افتراضية وإدارتها.
  2. في مربّع حوار "أداة إدارة أجهزة Android الافتراضية"، انقر على علامة التبويب تعريفات الأجهزة.
  3. اختَر أحد تعريفات جهاز Android TV وانقر على إنشاء جهاز محاكاة Android.
  4. اختَر خيارات المحاكي وانقر على حسنًا لإنشاء الجهاز الافتراضي الذي يعمل بنظام التشغيل Android.

    ملاحظة: للحصول على أفضل أداء لجهاز محاكي التلفزيون، استخدِم المحاكي x86 وفعِّل الخيار استخدام وحدة معالجة الرسومات المضيفة. استخدِم أيضًا ميزة تسريع الجهاز الافتراضي عند توفّرها. لمزيد من المعلومات حول تسريع الأجهزة في Android Emulator، يُرجى الاطّلاع على ضبط تسريع الأجهزة في Android Emulator.

لاختبار تطبيقك على جهاز التلفزيون الافتراضي، اتّبِع الخطوات التالية:

  1. في &quot;استوديو Android&quot;، اختَر مشروعك وانقر على تشغيل من شريط الأدوات.
  2. في نافذة اختيار هدف النشر، اختَر جهاز التلفزيون الافتراضي وانقر على حسنًا.

لمزيد من المعلومات حول استخدام المحاكيات، يُرجى الاطّلاع على تشغيل التطبيقات على &quot;محاكي Android&quot;. لمزيد من المعلومات حول نشر التطبيقات من &quot;استوديو Android&quot; إلى الأجهزة الافتراضية، يُرجى الاطّلاع على تصحيح أخطاء تطبيقك.

تفعيل تطبيق بث تلفزيوني ليعمل كتجربة فورية للتطبيق

تتيح التجارب الفورية للمستخدمين تجربة تطبيق بث تلفزيوني بدون تثبيته، ويمكن أن تساعد في زيادة معدّل استخدامه.

لإعداد تطبيق بث تلفزيوني كي يعمل كتطبيق فوري على جهاز 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>

تم الآن ضبط تطبيق بث تلفزيوني ليعمل كتجربة فورية للتطبيق.

إعداد تطبيق بث تلفزيوني للنشر

راجِع قائمة التحقّق الخاصة بتطبيقات بث تلفزيوني لمعرفة الخطوات التالية اللازمة لإعداد تطبيق بث تلفزيوني للنشر والتوزيع.