יצירה והפעלה של אפליקציית טלוויזיה

המבנה של אפליקציות לטלוויזיה זהה לזה של אפליקציות לטלפונים ולטאבלטים. המשמעות של הדמיון הזה היא לשנות את האפליקציות הקיימות כך שיפעלו גם במכשירי טלוויזיה, או ליצור אפליקציות חדשות על סמך אפליקציות שכבר על פיתוח אפליקציות ל-Android.

חשוב: האפליקציה שלכם חייבת לעמוד בדרישות ספציפיות כדי כשירות כאפליקציה ל-Android TV ב-Google Play. מידע נוסף זמין בדרישות שמפורטות באיכות של אפליקציית הטלוויזיה.

המדריך הזה מתאר איך להכין את סביבת הפיתוח לפיתוח אפליקציות לטלוויזיה, מספר השינויים המינימלי שנדרש כדי לאפשר לאפליקציה לפעול במכשירי טלוויזיה.

למידע על עיצוב אפליקציות לטלוויזיה, ראו עיצוב עבור טלוויזיה. צפו גם באפליקציות לדוגמה מאגר GitHub של Android TV.

בחירת התמיכה בפורמט מדיה

במשאבי העזרה הבאים אפשר למצוא מידע על רכיבי הקודק, הפרוטוקולים והפורמטים. נתמך ב-Android TV:

הגדרת פרויקט טלוויזיה

הקטע הזה מסביר איך להגדיר פרויקט טלוויזיה, בין אם לשנות אפליקציה קיימת ל-Android כך שתפעל במכשירי טלוויזיה, או ליצור אפליקציית טלוויזיה חדשה. אם יש לכם אפליקציה קיימת ל-Android, הוספת תמיכה ב-Android TV מאפשרת לכם לעצב ממשק משתמש לטלוויזיה בזמן שנעשה שימוש חוזר בארכיטקטורת האפליקציות הקיימת.

יש שני רכיבים עיקריים שיוצרים אפליקציה שפועלת במכשירי טלוויזיה:

  • פעילות בטלוויזיה: במניפסט של האפליקציה, להצהיר על פעילות שמיועדת לפעול במכשירי טלוויזיה.
  • ספריות טלוויזיה: לחלופין, אפשר לכלול אחד או יותר ספריות androidx במכשירי טלוויזיה, שמפורטים בקטע אחר במדריך הזה. הספריות האלה מספקות ווידג'טים לבניית ממשקי משתמש.

דרישות מוקדמות

לפני שמתחילים לפתח אפליקציה לטלוויזיה, צריך לבצע את השלבים הבאים:

  • מעדכנים את כלי ה-SDK לגרסה 24.0.0 ואילך.
    כלי ה-SDK המעודכנים מאפשרים לכם ליצור ולבדוק אפליקציות לטלוויזיה.
  • מעדכנים את ה-SDK ל-Android מגרסה 5.0 (API 21) ואילך.
    גרסת הפלטפורמה המעודכנת כוללת ממשקי API חדשים לאפליקציות לטלוויזיה.
  • יוצרים או מעדכנים את הפרויקט באפליקציה.
    כדי לגשת לממשקי API חדשים למכשירי טלוויזיה, צריך ליצור פרויקט או לשנות חשבון קיים שמטרגט את Android 5.0 (רמת API 21) ואילך.

הצהרה על פעילות בטלוויזיה

אפליקציה שמיועדת לפעול במכשירי טלוויזיה חייבת להצהיר על פעילות של מרכז אפליקציות בטלוויזיה במניפסט שלו. היא משתמשת ב-Intent CATEGORY_LEANBACK_LAUNCHER לביצוע הפעולה הזו. המסנן הזה מזהה שהאפליקציה מופעלת לטלוויזיה ומאפשר ב-Google Play אפשר לזהות אותה כאפליקציית טלוויזיה. כשמשתמש בוחר את האפליקציה במסך הבית של הטלוויזיה, Intent זה מזהה איזו פעילות להפעיל.

קטע הקוד הבא מראה איך לכלול את מסנן ה-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>

הערך השני של מניפסט הפעילות בדוגמה זו מציין שזוהי הפעילות במכשיר טלוויזיה.

זהירות: אם לא כוללים את מסנן Intent אחד (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 הפעלה. הקוד לדוגמה הבא מראה איך לכלול את הצהרת המניפסט הזו:

<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 של אפליקציית הטלוויזיה או הפעילות שלך לצבע מסוים. מגדירים גם שתי הגדרות מאפייני החפיפה של ההעברה ל-true, כפי שמוצג בקטע הקוד הבא מתוך קובץ XML של משאבי עיצוב:

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

Jetpack כולל ספריות של חבילות androidx לשימוש באפליקציות לטלוויזיה.

כתיבת הודעה לטלוויזיה

הדרך המומלצת לבניית אפליקציות ל-Android TV OS היא כתיבה. לצד הכלי המרכזי של 'כתיבה' ספריות ה-Compose for TV מספקות רכיבים ייעודיים שתוכננו במיוחד המסך הגדול:

במאמר שימוש ב-Jetpack פיתוח נייטיב ב-Android TV תוכלו לקרוא איך מפתחים אפליקציה לטלוויזיה באמצעות 'כתיבה לטלוויזיה'.

ערכת כלים לבניית ממשק המשתמש ל-Leanback

ערכת הכלים לבניית ממשק משתמש ל-Leanback מספקת ממשקי API וווידג'טים של ממשק משתמש למכשירי טלוויזיה:

גלה כיצד לבנות אפליקציית טלוויזיה באמצעות ערכת הכלים של ממשק המשתמש ל-Leanback ליצור אפליקציות להפעלת טלוויזיות.

הפעלת אפליקציות לטלוויזיה

הרצת האפליקציה היא חלק חשוב בתהליך הפיתוח. יש לך אפשרות להריץ את האפליקציה ב- מכשירי טלוויזיה שהוגדרו לתמוך בניפוי באגים ב-USB או להשתמש בטלוויזיות וירטואליות.

הפעלה במכשיר פיזי

כך מגדירים את מכשיר הטלוויזיה:

  1. משתמשים בכבל USB כדי לחבר את מכשיר הטלוויזיה למכונת הפיתוח. במקרה הצורך, לעיין במסמכים שסופקו על ידי יצרן המכשיר.
  2. במכשיר הטלוויזיה, עוברים אל הגדרות.
  3. בשורה מכשיר בוחרים באפשרות מידע כללי.
  4. גוללים אל Build ובוחרים באפשרות Build (יצירה) כמה פעמים עד לקבלת ההודעה. "עכשיו הוגדרת כמפתח/ת!"
  5. חוזרים להגדרות. בשורה העדפות, בוחרים באפשרות אפשרויות למפתחים.
  6. בוחרים באפשרות ניפוי באגים > ניפוי באגים ב-USB ובוחרים באפשרות מופעל.
  7. עוברים חזרה למסך הבית של הטלוויזיה.

כדי לבדוק את האפליקציה במכשיר הטלוויזיה:

  1. ב-Android Studio, בוחרים את הפרויקט הרלוונטי ולוחצים הפעלה מסרגל הכלים.
  2. בחלון Select Deployment Target בוחרים את מכשיר הטלוויזיה הרצוי ולוחצים על אישור.

הפעלה במכשיר וירטואלי

מנהל ה-AVD ב-Android ערכת ה-SDK מספקת הגדרות מכשירים שמאפשרות ליצור טלוויזיות וירטואליות לריצה וגם לבדוק את האפליקציות שלכם.

כדי ליצור טלוויזיה וירטואלית:

  1. מפעילים את מנהל ה-AVD. מידע נוסף זמין במאמר הבא: יצירה וניהול של מכשירים וירטואליים
  2. בתיבת הדו-שיח 'מנהל AVD', לוחצים על הכרטיסייה הגדרות מכשיר.
  3. בוחרים באחת מההגדרות של מכשיר Android TV ולוחצים על יצירת AVD.
  4. בוחרים את אפשרויות האמולטור ולוחצים על אישור כדי ליצור את ה-AVD.

    הערה: לקבלת הביצועים הטובים ביותר של מכשיר האמולטור הטלוויזיה, כדאי להשתמש באמולטור x86 ולהפעיל את האפשרות שימוש ב-GPU של המארח. אפשר גם להשתמש בהאצת מכשיר וירטואלי זמינים. למידע נוסף על האצת החומרה של האמולטור: להגדיר את שיפור המהירות באמצעות חומרה עבור אמולטור Android .

כדי לבדוק את האפליקציה במכשיר הטלוויזיה הווירטואלית:

  1. ב-Android Studio, בוחרים את הפרויקט הרלוונטי ולוחצים הפעלה מסרגל הכלים.
  2. בחלון Select Deployment Target בוחרים את הטלוויזיה הווירטואלית ולוחצים על אישור.

למידע נוסף על השימוש באמולטורים: מריצים אפליקציות באמולטור Android. למידע נוסף על פריסת אפליקציות מ-Android Studio לממשק וירטואלי מכשירים, אפשר לעיין במאמר ניפוי באגים באפליקציה.

הפעלת האפליקציה לטלוויזיה כדי לפעול כחוויה ללא התקנה

חוויות ללא התקנה מקלות על המשתמשים כדי לנסות את האפליקציה לטלוויזיה, וכך להגדיל את השימוש בה.

כדי להגדיר שאפליקציית הטלוויזיה תפעל כאפליקציה ללא התקנה במכשיר Android TV או באמולטור: קודם צריך לפעול לפי ההוראות ליצור App Bundle שמופעלת ללא התקנה.

בשלב הבא, ב-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>

אפליקציית הטלוויזיה שלך מוגדרת עכשיו לפעול כחוויה ללא התקנה.

הכנת אפליקציית הטלוויזיה לפרסום

ברשימת המשימות לאפליקציות טלוויזיה מפורטים השלבים הבאים. כדי להכין את אפליקציית הטלוויזיה שלכם לפרסום ולהפצה.