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

تستخدم تطبيقات التلفزيون البنية نفسها التي تستخدمها تطبيقات الهواتف والأجهزة اللوحية. ويعني هذا التشابه أنّه يمكنك تعديل تطبيقاتك الحالية لتشغيلها أيضًا على أجهزة التلفزيون أو إنشاء تطبيقات جديدة استنادًا إلى ما تعرفه حاليًا عن إنشاء تطبيقات لنظام 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>

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

تنبيه: إذا لم تضمّن فلتر الأهداف 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. اختَر خيارات المحاكي وانقر على حسنًا لإنشاء الجهاز الافتراضي.

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

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

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

لمزيد من المعلومات حول استخدام المحاكيات، يُرجى الاطّلاع على تشغيل التطبيقات على "محاكي Android". لمزيد من المعلومات حول نشر التطبيقات من &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>

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

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

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