תמיכה בטאבלטים ובמסכים גדולים

Android 13 משפר את Android במסכים גדולים

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

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

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

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

מערכת הפעלה שמותאמת למסכים גדולים

ממשק המשתמש של המערכת יפה יותר ועכשיו קל יותר להשתמש בו במסכים גדולים – בהתראות, בהגדרות המהירות, במסך הנעילה, בסקירה הכללית, במסך הבית ועוד.

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

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

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

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

למפתחים: שינוי בהקרנת מדיה

החל מגרסה 12L, כשהמסך הווירטואלי מנוהל על פני השטח, הוא מותאם לגודל השטח באמצעות תהליך דומה לאפשרות centerInside של ImageView.

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

פרטים נוספים זמינים במאמר הקרנת מדיה במסכים גדולים.

מולטיטסקינג יעיל ואינטואיטיבי

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

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

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

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

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

למפתחים: בדיקת האפליקציות במצב מסך מפוצל

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

למפתחים: טיפול בשינויים דינמיים בגדלים של התמונות המוטמעות

סרגל האפליקציות החדש מדווח לאפליקציות כ-Inset, למרות שלא הושק API חדש של Inset.

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

חוויית תאימות משופרת

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

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

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

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

למפתחים: בדיקת האפליקציות במצב תאימות

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

מידע נוסף זמין במאמר שיפור של letterboxing.

זיהוי משופר של כף היד

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

לפני Android 13 (רמת API ‏33), המערכת ביטלה אירועי מגע בכף היד על ידי שליחת אירוע MotionEvent עם ACTION_CANCEL. ב-Android 13 יש שיפור בזיהוי דחייה של כף היד, על ידי הוספת הערך FLAG_CANCELED לאובייקט של אירוע התנועה.

אם מגע כף היד הוא היחיד שמצביע על אירוע מגע, המערכת מבטלת את האירוע על ידי הגדרת ACTION_CANCEL ו-FLAG_CANCELED באובייקט של אירוע התנועה. אם הצבעים האחרים לא עובדים, מערכת Android 13 מגדירה את הערכים ACTION_POINTER_UP ו-FLAG_CANCELED.

למפתחים: עדכון של פונקציות ה-event listener וה-event handler של אירועי המגע

ב-Android 12 (רמת API 32) ובגרסאות ישנות יותר, אפשר לזהות דחיית כף יד רק באירועי מגע עם מצביע יחיד. אם מגע כף היד הוא הסמן היחיד, המערכת מבטלת את האירוע על ידי הגדרת ACTION_CANCEL באובייקט של אירוע התנועה. אם יש מצבעים אחרים שמופעלים, המערכת מגדירה את הערך ACTION_POINTER_UP, שהוא לא מספיק לזיהוי דחייה של כף היד. בשני המקרים, הערך של FLAG_CANCELED לא מוגדר.

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

עוד עדכונים ומקורות מידע למסכים גדולים

שינויים ב-Google Play במסכים גדולים

כדי לעזור למשתמשים למצוא בקלות את חוויית השימוש הטובה ביותר באפליקציות בטאבלטים, במכשירים מתקפלים ובמכשירי ChromeOS, ביצענו שינויים ב-Google Play כדי להבליט אפליקציות שעברו אופטימיזציה למכשירים שלהם.

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

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

הטמעת פעילות באמצעות Jetpack WindowManager

הטמעת פעילויות מאפשרת לכם לנצל את שטח התצוגה הנוסף במסכים גדולים על ידי הצגת כמה פעילויות בו-זמנית, למשל בדפוס 'רשימת פרטים', בלי צורך בשינוי מבני משמעותי באפליקציה. אתם קובעים איך האפליקציה תציג את הפעילויות שלה – זה לצד זה או מוערמות – על ידי יצירת קובץ תצורה מסוג XML או על ידי קריאות ל-Jetpack WindowManager API. המערכת תעשה את השאר, ותחליט איך להציג את המצגת על סמך ההגדרות שיצרתם. אם באפליקציה שלכם נעשה שימוש בכמה פעילויות, מומלץ לנסות הטמעת פעילויות. מידע נוסף זמין במאמר הטמעת פעילות.

בקשה לכיוון המכשיר

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

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

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

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

הורדת Android 13 למכשיר שותף עם מסך גדול

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

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

מה כדאי לבדוק

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

מה כדאי לבדוק משאבים
גדלי מסך, תנוחת המכשיר וסיבוב

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

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

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

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

מסמכי תיעוד טעימות שיחות טכניות
מצב ריבוי חלונות

כדאי לבדוק איך האפליקציה מגיבה כשהיא פועלת במצב חלונות מרובים במסכים גדולים (sw >= 600dp), במיוחד אם האפליקציה מגדירה את הערך resizeableActivity="false".

אם האפליקציה שלכם מגדירה את הערך resizeableActivity="true", חשוב גם לבדוק איך האפליקציה מגיבה כשהיא פועלת במצב חלונות מרובים במסכים קטנים (sw < 600dp).

אם האפליקציה שלכם משתמשת בממשקי API של רשת המדיה, כמו Display.getRealSize() ו-Display.getRealMetrics(), תוכלו להשתמש במקום זאת בממשקי ה-API של WindowMetrics בספרייה WindowManager של Jetpack.

מסמכי תיעוד טעימות שיחות טכניות
הקרנת מדיה

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

מסמכי תיעוד טעימות שיחות טכניות
תצוגה מקדימה של המצלמה

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

מסמכי תיעוד