הרחבת אפליקציית המדיה ל-Android TV

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

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

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

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

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

שימוש ב-Media3 ExoPlayer

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

בהשוואה ל-MediaPlayer API של Android, הוא מוסיף עוד יתרונות כמו תמיכה במספר פרוטוקולים של סטרימינג, עיבוד אודיו ווידאו שמוגדר כברירת מחדל ורכיבים שמטפלים במאגרי מדיה.

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

שימוש ב-Media3 MediaSession

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

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

נגישות בטלוויזיה

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

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

השלב הראשון לשיפור הנגישות הוא הגברת המוּדעוּת. למידע נוסף על שינוי גודל טקסט, פריסות מקלדת ותיאורים אודיו, אפשר לעיין במשאבי נגישות.

שיטות מומלצות להגברת המעורבות ב-Google TV

כל האפליקציות שפותחו ל-Android TV פועלות במכשירים עם Google TV. כדי לספק את חוויית המשתמש הטובה ביותר ב-Google TV, מומלץ להשתמש בשיטות המומלצות הבאות.

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

קודם כול, האפליקציה צריכה לתמוך ב-Google Cast. התכונה מאפשרת להרחיב את האפליקציות ל-Android, ל-iOS ול-Chrome כדי לאפשר סטרימינג של אודיו ווידאו לטלוויזיות Android, וגם למכשירי Chromecast ולמכשירי Assistant. למידע נוסף, עיינו במסמכי התיעוד של Google Cast.

אתם יכולים גם לעזור למשתמשים:

  • מציגים תוכן במגוון פלטפורמות על ידי הצגת פיד של פעולות מדיה או שילוב של 'הסרטון הבא'.

  • ממנפים את היתרונות של שליטה קולית ומעורבות על ידי תמיכה בקישור חשבונות ובסנכרון הרשאות, הצעת העברה קולית (cast) והפעלת Cast Connect.

  • משלמים בקלות רבה יותר על ידי שילוב של חיוב ב-Google Play ומתן מינויים ללא טרחה.

פיתוח מסגרת של קלט טלוויזיה

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

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