מערכת Android מציעה חוויית משתמש עשירה שמותאמת לאפליקציות שפועלות במכשירים עם מסך גדול, כמו טלוויזיות HD. אתם יכולים להרחיב את קהל היעד של האפליקציה על ידי פיתוח שלה ל-Android TV. במאמר הזה מוסבר איך לעשות את זה בצורה יעילה.
פיתוח אפליקציות לטלוויזיה
אפליקציות לטלוויזיה משתמשות באותו מבנה כמו אפליקציות לטלפונים ולטאבלטים. הגישה הזו מאפשרת לכם ליצור אפליקציות טלוויזיה חדשות על סמך הידע שכבר יש לכם על פיתוח אפליקציות ל-Android, או להרחיב את האפליקציות הקיימות כך שיפעלו גם במכשירי טלוויזיה.
עם זאת, מודל האינטראקציה של המשתמשים בטלוויזיה שונה באופן משמעותי מזה של טלפונים וטאבלטים. כדי שהאפליקציה תצליח במכשירי טלוויזיה, צריך לעצב פריסות חדשות שניתן להבין בבירור ממרחק של 3 מטרים, ולספק ניווט שפועל רק באמצעות מקשי החיצים וכפתור הבחירה.
במאמר פיתוח אפליקציות ל-TV מפורט מידע נוסף על שיקולים כמו טיפול בבקרי חומרה של TV, פיתוח פריסות ל-TV ויצירת ניווט ב-TV.
שימוש ב-Media3 ExoPlayer
Jetpack Media3 מספק ממשק נגן שמגדיר תכונות בסיסיות כמו היכולת להפעיל, להשהות, לדלג ולהציג מידע על הטראק. ExoPlayer הוא הטמעת ברירת המחדל של הממשק הזה ב-Media3.
בהשוואה ל-MediaPlayer API של Android, הוא מוסיף עוד כמה דברים נוחים, כמו תמיכה בכמה פרוטוקולים של סטרימינג, רכיבי רינדור של אודיו ווידאו כברירת מחדל ורכיבים שמטפלים בטעינה מראש של מדיה.
אפשר להתאים אישית ולהרחיב את ExoPlayer, ולעדכן אותו דרך עדכוני האפליקציה בחנות Play. מידע נוסף זמין במאמר Media3 ExoPlayer.
שימוש ב-Media3 MediaSession
סשנים של מדיה מספקים דרך אוניברסלית שבה המערכת יכולה לקיים אינטראקציה עם נגן האודיו או הווידאו של האפליקציה. אחד המאפיינים העיקריים שמבדילים בין Media3 לבין ממשקי API קודמים של מדיה הוא שכבר אין צורך במחברים בין רכיבים.
המחלקה החדשה MediaSession מקבלת כל מחלקה שמטמיעה את הממשק Player. גם ExoPlayer וגם MediaController הן מחלקות שמטמיעות את הממשק הזה. כך האינטראקציה בין הרכיבים הרבה יותר פשוטה.
מידע נוסף זמין במאמר ממשק הנגן.
למידע נוסף על יצירת אפליקציה להפעלת מדיה, ראו יצירת נגן מדיה בסיסי באמצעות ExoPlayer.
כדי ליצור את חוויית השימוש הטובה ביותר למשתמשי הקצה של אפליקציית המדיה, צריך להטמיע את MediaSession. כדי לעשות את זה, מפעילים את Player ומספקים אותו ל-MediaSession.Builder באופן הבא:
Kotlin
val player = ExoPlayer.Builder(context).build() val mediaSession = MediaSession.Builder(context, player).build()
Java
ExoPlayer player = new ExoPlayer.Builder(context).build(); MediaSession mediaSession = new MediaSession.Builder(context, player).build();
טיפול אוטומטי במצב
ספריית Media3 מעדכנת באופן אוטומטי את סשן המדיה באמצעות המצב של הנגן. לכן, אתם לא צריכים לטפל באופן ידני במיפוי מהנגן לסשן. כך המשתמשים תמיד יראו את המידע העדכני על המדיה שמופעלת, כולל בכרטיס "מה שומעים עכשיו?".
שליטה בהפעלה ופרסום שלה
ב-Media3, הנגן שמוגדר כברירת מחדל הוא המחלקה ExoPlayer, שמטמיעה את הממשק Player. קישור סשן המדיה לנגן מאפשר לאפליקציה לפרסם את הפעלת המדיה באופן חיצוני ולקבל פקודות הפעלה ממקורות חיצוניים. פעולת המדיה מעבירה את הפקודות האלה לנגן של אפליקציית המדיה.
סשן המדיה הוא המפתח לשליטה בהפעלה. הוא מאפשר לנתב פקודות ממקורות חיצוניים לנגן שמפעיל את המדיה. לקוחות חיצוניים יכולים להשתמש בממשק השליטה במדיה כדי לשלוח פקודות הפעלה לאפליקציית המדיה. הפקודות האלה מתקבלות בסשן המדיה, ובסופו של דבר מועברות לנגן המדיה.
מידע נוסף על הפעלה, כמו התאמה אישית של התנהגות פקודת ההפעלה, זמין במאמר שליטה בהפעלה ופרסום שלה באמצעות MediaSession.
איך למנוע שיבושים באפליקציה
שימוש ב-MediaSession מאפשר לכם להימנע מהפרעות מיותרות כמו:
הפעלה בלתי צפויה ומתמשכת כשמכבים את הטלוויזיה או כשמחליפים את מקורות הקלט בטלוויזיה. זה גם גורם לצריכת אנרגיה גבוהה בחומרה של הטלוויזיה. באמצעות
MediaSession, האפליקציה יכולה להודיע לפלטפורמה שהיא מפעילה מדיה, והפלטפורמה יכולה להודיע לאפליקציה שאפשר להפסיק את ההפעלה.הפעלת המוזיקה נפסקת באופן בלתי צפוי כשיוצאים מהאפליקציה או כשמכבים את מסך הטלוויזיה. שימוש בממשקי API של
MediaSessionמאפשר להמשיך את ההפעלה בשירות שפועל ברקע.אינטראקציה מוגבלת עם התוכן שמונעת מהמשתמשים לשלוט בהפעלה. לדוגמה, חזרה לאפליקציה אם היא מפעילה מוזיקה ברקע, או תמיכה בפקודות קוליות. כשמשלבים את
MediaSessionבאפליקציה, המשתמשים יכולים להשתמש בפקודות קוליות כדי לחפש שירים או פרקים ולדלג עליהם.
שיקולים נוספים
כשמרחיבים את אפליקציית המדיה ל-Android ל-TV, צריך להביא בחשבון בעיות נגישות, איך לעודד מעורבות, איך לאפשר למשתמשים למצוא תוכן ואיך לפתח משחקים ושירותי קלט לטלוויזיה.
נגישות בטלוויזיה
למרות שטכנולוגיות מסייעות יכולות לעזור למשתמשים עם לקות ראייה, חשוב לתמוך בנגישות בתהליכי חיפוש התוכן באפליקציות לטלוויזיה.
לדוגמה, חשוב במיוחד לספק הנחיות ניווט ולתייג רכיבים בצורה נכונה, ולוודא שאפליקציות לטלוויזיה פועלות היטב עם תכונות נגישות כמו TalkBack. השלבים האלה יכולים לשפר משמעותית את חוויית השימוש של משתמשים עם ליקויי ראייה.
השלב הראשון בשיפור הנגישות הוא מוּדעוּת. במקורות המידע בנושא נגישות אפשר לקרוא בהרחבה על שינוי קנה המידה של הטקסט, פריסות המקלדת ותיאורי האודיו.
שיטות מומלצות להגברת המעורבות ב-Google TV
כל האפליקציות שמיועדות ל-Android TV פועלות במכשירים עם Google TV. כדי לספק את חוויית המשתמש הטובה ביותר ב-Google TV, מומלץ ליישם את השיטות המומלצות הבאות.
צריך להשתמש ב-MediaSession כדי לספק דרך אוניברסלית לאינטראקציה עם נגן אודיו או וידאו. מידע נוסף על אופן ההטמעה זמין במאמר שימוש ב-Media3 MediaSession.
כדי להתחיל, האפליקציה צריכה לתמוך ב-Google Cast. היא מאפשרת להרחיב את האפליקציות ל-Android, ל-iOS ול-Chrome כדי להפעיל סטרימינג של אודיו ווידאו לטלוויזיות עם Android TV, למכשירי Chromecast ולמכשירים עם Assistant. מידע נוסף זמין במסמכי התיעוד של Google Cast.
אתם יכולים גם לעזור למשתמשים:
לגלות תוכן בפלטפורמות שונות באמצעות פיד של פעולות מדיה או שילוב של "הצעות לצפייה".
נצלו את היתרונות של פקודות קוליות ומעורבות על ידי תמיכה בקישור חשבונות ובסנכרון הרשאות, הצעת העברה באמצעות פקודות קוליות והפעלת Cast Connect.
לשלם בקלות רבה יותר על ידי שילוב של מערכת החיוב ב-Google Play, ומתן מינויים חלקים.
בניית מסגרת לקלט טלוויזיה
צפייה בתוכניות טלוויזיה בשידור חי ובתוכן רציף אחר שמבוסס על ערוצים היא חלק גדול מחוויית הצפייה בטלוויזיה. המשתמשים רגילים לבחור תוכניות בטלוויזיה ולצפות בהן על ידי דפדוף בערוצים. ה-TV Input Framework יוצר ערוצים לפרסום תוכן של וידאו או מוזיקה במדריך התוכניות של הטלוויזיה.
ה-TV Input Framework מספק שיטה אחידה לקבלה ולהפעלה של תוכן וידאו בשידור חי ממקורות חומרה, כמו יציאות HDMI ומקלטים מובנים, וממקורות תוכנה, כמו וידאו בסטרימינג דרך האינטרנט. מידע נוסף זמין במאמר פיתוח שירותי קלט לטלוויזיה.