אפליקציות לטלוויזיה משתמשות באותה מבנה כמו אפליקציות לטלפונים ולטאבלטים. הדמיון הזה מאפשר לכם לשנות את האפליקציות הקיימות כך שיפעלו גם במכשירי טלוויזיה, או ליצור אפליקציות חדשות על סמך הידע שכבר יש לכם לגבי פיתוח אפליקציות ל-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) ואילך.
הצהרה על פעילות בטלוויזיה
אפליקציה שמיועדת להרצה במכשירי טלוויזיה צריכה להצהיר על פעילות של מרכז האפליקציות לטלוויזיה במניפסט שלה. היא משתמשת במסנן CATEGORY_LEANBACK_LAUNCHER Intent כדי לעשות את זה. המסנן הזה מזהה את האפליקציה שלכם כאפליקציה שמופעלת בטלוויזיה ומאפשר ל-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 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 בגודל 320x180 פיקסלים. הטקסט צריך להיות כלול בתמונה. אם האפליקציה זמינה ביותר משפה אחת, צריך לספק גרסאות נפרדות של הבאנר עם טקסט לכל שפה נתמכת.
שינוי הצבע של מרכז האפליקציות
שימו לב: ב-Android 12 ואילך, אין תמיכה באנימציות מותאמות אישית של מסכי פתיחה שנוצרו באמצעות SplashScreen platform API באפליקציות ל-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 OS
Jetpack כולל ספריות חבילות androidx לשימוש באפליקציות לטלוויזיה.
Compose for TV
פיתוח נייטיב הוא הדרך המומלצת ליצירת אפליקציות ל-Android TV OS. בנוסף לספריות הליבה של Compose, הספריות של Compose for TV מספקות רכיבים ייעודיים שנועדו במיוחד למסך הגדול:
במאמר שימוש ב-Jetpack Compose ב-Android TV מוסבר איך ליצור אפליקציית טלוויזיה באמצעות Compose for TV.
ערכת כלים לבניית ממשק משתמש ל-Leanback
ערכת הכלים Leanback UI מספקת ממשקי API ווידג'טים של ממשק משתמש למכשירי טלוויזיה:
androidx.leanback.appandroidx.leanback.databaseandroidx.leanback.graphicsandroidx.leanback.mediaandroidx.leanback.preferenceandroidx.leanback.systemandroidx.leanback.widgetandroidx.leanback.widget.picker
במאמר יצירת אפליקציות להפעלת תוכן בטלוויזיה מוסבר איך ליצור אפליקציה לטלוויזיה באמצעות ערכת הכלים Leanback UI.
הפעלת אפליקציות לטלוויזיה
הרצת האפליקציה היא חלק חשוב בתהליך הפיתוח. אתם יכולים להריץ את האפליקציה במכשירי טלוויזיה שהוגדרו לתמיכה בניפוי באגים ב-USB, או להשתמש במכשירי טלוויזיה וירטואליים.
הרצה במכשיר פיזי
מגדירים את מכשיר הטלוויזיה באופן הבא:
- משתמשים בכבל USB כדי לחבר את מכשיר הטלוויזיה למחשב הפיתוח. אם צריך, אפשר להיעזר במסמכי התיעוד שהיצרן של המכשיר מספק.
- במכשיר הטלוויזיה, עוברים אל הגדרות.
- בשורה מכשיר, בוחרים באפשרות מידע.
- גוללים אל Build ובוחרים באפשרות Build כמה פעמים עד שמופיעה ההודעה 'מצב הפיתוח הופעל'.
- חוזרים אל ההגדרות. בשורה העדפות, בוחרים באפשרות אפשרויות למפתחים.
- בוחרים באפשרות ניפוי באגים > ניפוי באגים ב-USB ובוחרים באפשרות מופעל.
- חוזרים למסך הבית של הטלוויזיה.
כדי לבדוק את האפליקציה במכשיר טלוויזיה:
- ב-Android Studio, בוחרים את הפרויקט ולוחצים על Run (הפעלה)
בסרגל הכלים. - בחלון Select Deployment Target (בחירת יעד פריסה), בוחרים את מכשיר הטלוויזיה ולוחצים על OK (אישור).
הרצה במכשיר וירטואלי
הכלי AVD Manager ב-Android SDK מספק הגדרות של מכשירים שמאפשרות ליצור מכשירי טלוויזיה וירטואליים להרצה ולבדיקה של האפליקציות.
כדי ליצור מכשיר טלוויזיה וירטואלי:
- מפעילים את AVD Manager. מידע נוסף מופיע במאמר בנושא יצירה וניהול של מכשירים וירטואליים.
- בתיבת הדו-שיח AVD Manager, לוחצים על הכרטיסייה Device Definitions (הגדרות מכשיר).
- בוחרים אחת מההגדרות של מכשיר Android TV ולוחצים על Create AVD (יצירת AVD).
- בוחרים את האפשרויות של האמולטור ולוחצים על אישור כדי ליצור את ה-AVD.
הערה: כדי לקבל את הביצועים הכי טובים של מכשיר האמולטור לטלוויזיה, צריך להשתמש באמולטור x86 ולהפעיל את האפשרות Use Host GPU. בנוסף, משתמשים בהאצת מכשיר וירטואלי כשהיא זמינה. מידע נוסף על האצת החומרה של אמולטור Android זמין במאמר בנושא הגדרת האצת חומרה עבור אמולטור Android.
כדי לבדוק את האפליקציה במכשיר טלוויזיה וירטואלי:
- ב-Android Studio, בוחרים את הפרויקט ולוחצים על Run (הפעלה)
בסרגל הכלים. - בחלון Select Deployment Target (בחירת יעד פריסה), בוחרים את מכשיר הטלוויזיה הווירטואלי ולוחצים על OK (אישור).
מידע נוסף על השימוש באמולטורים זמין במאמר הרצת אפליקציות באמולטור Android. מידע נוסף על פריסת אפליקציות מ-Android Studio למכשירים וירטואליים זמין במאמר בנושא ניפוי באגים באפליקציה.
איך מאפשרים הפעלה של אפליקציית טלוויזיה כחוויית שימוש מיידי
חוויות מיידיות מאפשרות למשתמשים לנסות את האפליקציה לטלוויזיה בלי להתקין אותה, ויכולות לעזור להגדיל את מספר המשתמשים.
כדי להגדיר את אפליקציית הטלוויזיה כך שתפעל כאפליקציה ללא התקנה במכשיר Android TV או באמולטור, קודם צריך לפעול לפי ההוראות ליצירת קובץ AAB של גרסה ללא התקנה.
בשלב הבא, בקובץ 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>
אפליקציית הטלוויזיה מוגדרת עכשיו להפעלה כחוויית שימוש מיידי.
הכנת אפליקציה לטלוויזיה לפרסום
כדי להכין את האפליקציה לטלוויזיה לפרסום ולהפצה, כדאי לעיין ברשימת המשימות לאפליקציות לטלוויזיה ולפעול לפי השלבים הבאים.