Android 10 למפתחים

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

ריכזנו כאן את החידושים ב-Android 10 למפתחים ואת הדרכים שבהן אפשר להשתמש בהם כבר עכשיו.

חדשנות וחוויות חדשות

ב-Android 10 תוכלו ליהנות מהחידושים האחרונים בחומרה ובתוכנה כדי ליצור חוויות שימוש מדהימות באפליקציות למשתמשים.

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

מכשירים מתקפלים

ב-Android 10 יש תמיכה חזקה בחלונות מרובים, שמאפשרת לבצע כמה משימות בו-זמנית בחלונות של אפליקציות שונות. בנוסף, התכונה 'המשך המסך' שומרת על מצב האפליקציה כשהמכשיר מקופל או פתוח. ב-Android 10 נוספו כמה שיפורים ב-onResume וב-onPause כדי לתמוך בהפעלה מחדש בכמה מיקומים ולשלוח התראה לאפליקציה כשהיא נמצאת במוקד. בנוסף, הוא משנה את אופן הפעולה של מאפיין המניפסט resizeableActivity, כדי לעזור לכם לנהל את האופן שבו האפליקציה מוצגת במסכים מתקפלים ובמסכים גדולים. כדי לפתח למכשירים מתקפלים, אפשר להגדיר אמולטור מתקפל כמכשיר וירטואלי (AVD) ב-Android Studio. במדריך למפתחים מוסבר איך לבצע אופטימיזציה של האפליקציות לשימוש במכשירים מתקפלים.

רשתות 5G

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

'תשובה מהירה' בהתראות

ב-Android 10 נעשה שימוש בלמידת מכונה במכשיר כדי להציע פעולות לפי הקשר בהתראות, כמו תשובות חכמות להודעות או פתיחת מפה של כתובת בהתראה. האפליקציות שלכם יכולות להשתמש בתכונה הזו באופן מיידי, בלי שתצטרכו לעשות שום דבר. התשובות המהירות והפעולות שמספקת המערכת מוטמעות ישירות בהתראות כברירת מחדל. אם תרצו, תוכלו עדיין לספק תשובות ופעולות משלכם. פשוט מבטלים את ההסכמה ל'תשובות חכמות' לכל התראה בנפרד באמצעות setAllowGeneratedReplies()‎ ו-setAllowSystemGeneratedContextualActions()‎.

התכונה 'תשובה מהירה' יכולה להציע פעולות על סמך תוכן ההתראות.

עיצוב כהה

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

ב-Android 10 אפשר ליצור עיצוב כהה לאפליקציה באופן דינמי באמצעות Force Dark.

ניווט באמצעות תנועות

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

ב-Android 10 יש מצב ניווט שמבוסס על תנועות בלבד, שמבטל את אזור סרגל הניווט ומאפשר לאפליקציות להשתמש במסך מלא כדי לספק חוויות עשירות יותר וסוחפות יותר. התפריט הזה כולל את האפשרויות המוכרות 'הקודם', 'דף הבית' ו'הפריטים האחרונים', שניתן לגשת אליהן באמצעות החלקה בקצה המסך במקום לחצנים גלויים. כדי לשלב את התמונה בצורה חלקה עם הניווט באמצעות תנועות, כדאי להציג את התמונה מקצה לקצה, ולצייר מאחורי סרגל הניווט כדי ליצור חוויה immersive. כדי להטמיע את התכונה הזו, אפליקציות צריכות להשתמש ב-API‏ setSystemUiVisibility()‎ כדי להציג את התצוגה במסך מלא, ולאחר מכן לטפל ב-WindowInsets בהתאם כדי לוודא שחלקים חשובים בממשק המשתמש לא מוסתרים. מתחילים לבצע אופטימיזציה לאפליקציה כבר היום, ומעיינים בסדרת הפוסטים בבלוג שלנו כדי לקבל מידע נוסף.

חלוניות הגדרות

מעכשיו אפשר להציג הגדרות מערכת חשובות ישירות בהקשר של האפליקציה, באמצעות ממשק API חדש של חלונית ההגדרות. חלונית ההגדרות היא ממשק משתמש צף שאפשר להפעיל כדי להציג הגדרות שהמשתמשים עשויים להזדקק להן, כמו חיבור לאינטרנט, NFC ועוצמת האודיו. לדוגמה, בדפדפן יכול להופיע חלונית עם הגדרות קישוריות כמו מצב טיסה, Wi-Fi (כולל רשתות בקרבת מקום) וחבילת גלישה. כדי להציג חלונית הגדרות, פשוט מפעילים כוונה עם אחת מהפעולות החדשות של Settings.Panel.

קיצורי דרך לשיתוף

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

קיצורי דרך לשיתוף מאפשרים למשתמשים לעבור ישירות לפעילות ספציפית באפליקציות שלכם עם תוכן מצורף.

פרטיות המשתמשים

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

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

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

הגנה על נתוני המיקום בסריקות רשת – רוב ממשקי ה-API לסריקה של רשתות כבר דרשו את ההרשאה למיקום משוער. ב-Android 10, ההגנה על ממשקי ה-API האלה מוגברת על ידי דרישה להרשאת מיקום מדויקת במקום זאת.

מניעת מעקב אחר מכשירים – לאפליקציות אין יותר גישה למזהי מכשירים שלא ניתן לאפס, שאפשר להשתמש בהם למעקב, כולל מספר ה-IMEI של המכשיר, המספר הסידורי ומזהים דומים. כתובת ה-MAC של המכשיר גם נוצרת באופן אקראי כברירת מחדל כשהמכשיר מחובר לרשתות Wi-Fi. כאן תוכלו לקרוא על השיטות המומלצות לבחירת המזהים המתאימים לתרחיש לדוגמה שלכם.

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

חסימת הפרעות לא רצויות – ב-Android 10 אפשר למנוע הפעלה של אפליקציות מהרקע, שמופיעות באופן בלתי צפוי בחזית ומסיחות את המיקוד מאפליקציה אחרת. מידע נוסף

אבטחה

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

הצפנת האחסון – כל המכשירים התואמים שיושקו עם Android 10 חייבים להצפין את נתוני המשתמשים. כדי לשפר את היעילות של ההצפנה, Android 10 כולל את Adiantum, מצב ההצפנה החדש שלנו.

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

הקשחת הפלטפורמה – מערכת Android 10 כוללת גם הקשחה של כמה תחומים קריטיים לאבטחה בפלטפורמה.

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

מצלמה ומדיה

עומק דינמי בתמונות

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

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

הקלטת הפעלת אודיו

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

קודיקים חדשים של אודיו וידאו

ב-Android 10 נוספה תמיכה בקודק הווידאו הפתוח AV1, שמאפשר לספקים של מדיה להעביר סטרימינג של תוכן וידאו באיכות גבוהה למכשירי Android באמצעות פחות רוחב פס. בנוסף, Android 10 תומך בקידוד אודיו באמצעות Opus – קודק פתוח ללא תמלוגים שמותאם לשידור דיבור ומוזיקה בסטרימינג – וב-HDR10+ לסרטונים בטווח דינמי גבוה במכשירים שתומכים בכך. MediaCodecInfo API מציג דרך קלה יותר לקבוע את יכולות העיבוד של סרטונים במכשיר Android. לכל קודק נתון, אפשר לקבל רשימה של גדלים ותדירויות פריימים נתמכים.

Native MIDI API

באפליקציות שמבצעות את עיבוד האודיו ב-C++, ב-Android 10 מופיע MIDI API מקורי שמאפשר לתקשר עם מכשירי MIDI דרך NDK. ה-API הזה מאפשר לאחזר נתוני MIDI בתוך קריאה חוזרת (callback) של אודיו באמצעות קריאה לא חוסמת, ומאפשר עיבוד של הודעות MIDI עם זמן אחזור קצר. אפשר לנסות את זה עם האפליקציה לדוגמה וקוד המקור.

מיקרופונים כיווניים עם זום

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

Vulkan בכל מקום

ב-Android 10 אנחנו מרחיבים את ההשפעה של Vulkan באמצעות הטמעה של ממשק API לפלטפורמות שונות עם תקורה נמוכה, שמאפשר ליצור גרפיקה תלת-ממדית עם ביצועים גבוהים. Vulkan 1.1 הוא עכשיו דרישה בכל המכשירים עם 64 ביט שפועלים עם Android מגרסה 10 ואילך, והוא מומלץ לכל המכשירים עם 32 ביט. אנחנו כבר רואים התקדמות משמעותית בתמיכה ב-Vulkan בסביבה העסקית – מתוך המכשירים עם Android N ואילך, 53% תומכים ב-Vulkan 1.0.3 ואילך. בעקבות הדרישה החדשה ב-Android 10, אנחנו מצפים לעלייה נוספת בהיקף השימוש בשנה הקרובה.

קישוריות

שיפור הקישוריות ברשתות P2P ובאינטרנט

שיפרנו את סטאק ה-Wi-Fi כדי לשפר את הפרטיות והביצועים, וגם כדי לשפר תרחישים נפוצים של שימוש, כמו ניהול מכשירי IoT והצעות לחיבורי אינטרנט – בלי לדרוש את הרשאת המיקום. ממשקי ה-API של חיבור הרשת מאפשרים לנהל בקלות מכשירי IoT דרך Wi-Fi מקומי, לצורך פונקציות של רשתות עמיתים-לעמיתים כמו הגדרה, הורדה או הדפסה. ממשקי ה-API להצעות רשתות מאפשרים לאפליקציות להציג למשתמשים רשתות Wi-Fi מועדפות להתחברות לאינטרנט.

מצבי ביצועים של Wi-Fi

אפליקציות יכולות עכשיו לבקש חיבור Wi-Fi מותאם על ידי הפעלה של מצב ביצועים גבוהים וזמן אחזור קצר. הן יכולות להיות יתרון משמעותי במקרים שבהם זמן אחזור קצר חשוב לחוויית המשתמש, כמו משחקים בזמן אמת, שיחות קוליות פעילות ותרחישי שימוש דומים. הפלטפורמה פועלת עם קושחת המכשיר כדי לעמוד בדרישות עם צריכת החשמל הנמוכה ביותר. כדי להשתמש במצבי הביצועים החדשים, צריך להפעיל את WifiManager.WifiLock.createWifiLock()‎ עם WIFI_MODE_FULL_LOW_LATENCY או WIFI_MODE_FULL_HIGH_PERF. במצבים האלה, הפלטפורמה פועלת עם קושחת המכשיר כדי לעמוד בדרישות עם צריכת החשמל הנמוכה ביותר.

יסודות Android

אופטימיזציות של ART

שיפורים בסביבת זמן הריצה של ART עוזרים לאפליקציות להתחיל מהר יותר, לצרוך פחות זיכרון ולרוץ בצורה חלקה יותר – בלי שתצטרכו לעשות שום דבר. פרופילים של ART ש-Google Play מספק מאפשרים ל-ART לקמפל מראש חלקים מהאפליקציה עוד לפני שהיא פועלת. בסביבת זמן הריצה, מערכת Android 10 מוסיפה את Generational Garbage Collection למנגנון האיסוף של אשפה (GC) של ART שמבצע העתקה בו-זמנית (CC), כדי לשפר את היעילות של איסוף האשפה מבחינת זמן ו-CPU, לצמצם את התנודות בזמן הביצוע (jank) ולעזור לאפליקציות לפעול טוב יותר במכשירים ברמה נמוכה יותר.

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

Neural Networks API 1.2

הוספנו 60 אופרטורים חדשים, כולל ARGMAX,‏ ARGMIN,‏ LSTM מקודד, וגם מגוון אופטימיזציות של ביצועים. כך נוכל להאיץ מגוון רחב יותר של מודלים, כמו מודלים לזיהוי אובייקטים ולפילוח תמונות. אנחנו עובדים עם ספקי חומרה ופלטפורמות פופולריות של למידת מכונה, כמו TensorFlow, כדי לבצע אופטימיזציה ולהשיק תמיכה ב-NNAPI 1.2.

Thermal API

כשמכשירים מתחממים מדי, יכול להיות שהם יאטו את המעבד (CPU) ו/או את המעבד הגרפי (GPU), וזה יכול להשפיע על אפליקציות ומשחקים בדרכים לא צפויות. עכשיו ב-Android 10, אפליקציות ומשחקים יכולים להשתמש ב- thermal API כדי לעקוב אחרי השינויים במכשיר ולנקוט פעולה כדי לשמור על טמפרטורה רגילה. לדוגמה, אפליקציות סטרימינג יכולות להפחית את הרזולוציה או את קצב הביטים או את תעבורת הנתונים ברשת, אפליקציית מצלמה עשויה להשבית את הפלאש או שיפור תמונה אינטנסיבי, או שמשחק יכול להפחית את קצב הפריימים או את חלוקת הפוליגונים. מידע נוסף זמין כאן.

תאימות באמצעות ממשקי API ציבוריים

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

עדכונים מהירים יותר וקוד עדכני יותר

Android 10 נוצר כדי לאפשר עדכונים מהירים יותר באמצעות Project Treble, שמספק ממשק עקבי וניתן לבדיקה בין Android לבין קוד המכשיר הבסיסי של יצרני המכשירים ויצרני הסיליקון. בעזרת Treble, יצרני המכשירים יכולים להציע את Android 10 במכשירים שתואמים ל-Treble מהר יותר ובעלות נמוכה יותר.

Android 10 היא גם הגרסה הראשונה שתומכת ב-Project Mainline (שנקראת באופן רשמי עדכוני מערכת של Google Play), הטכנולוגיה החדשה שלנו לאבטחת משתמשי Android ולעדכון המכשירים שלהם עם שינויים חשובים בקוד – ישירות מ-Google Play. בעזרת עדכוני המערכת של Google Play, אנחנו יכולים לעדכן רכיבים פנימיים ספציפיים בכל המכשירים עם Android מגרסה 10 ואילך, בלי צורך בעדכון מערכת מלא מיצרן המכשיר.

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

שנתחיל?

מקורות מידע מלאים למפתחים בנושא Android 10 זמינים בכתובת developer.android.com/10.