ב-Android 16 יש תבנית חדשה להתראות, שמאפשרת למשתמשים לעקוב בקלות אחרי תהליכים שהם התחילו. ההתראות האלה מוצגות בצורה בולטת יותר בממשקי המערכת, ומופיעות בראש מגירת ההתראות.
כדי לעצב התראות שמתמקדות בהתקדמות, משתמשים ב-Notification.ProgressStyle.
תרחישי השימוש העיקריים כוללים נסיעות שיתופיות, משלוחים וניווט. בתוך המחלקה הזו, אתם יכולים לציין מצבים ואבני דרך בתהליך שעובר המשתמש באמצעות נקודות ופלחים.
כיתות רלוונטיות
המחלקות הבאות מכילות את ממשקי ה-API השונים שמשמשים ליצירת התראה של ProgressStyle:
מבנה והתאמה אישית
בתמונות הבאות מוצגים החלקים השונים שמרכיבים את ההתראות ב-ProgressStyle:
א. כותרת עליונה – טקסט משנה |
|
ב. כותרת עליונה – זמן |
|
ג. שם התוכן |
|
ד. טקסט התוכן |
|
ה. סרגל ההתקדמות |
|
ו. כפתור פעולה |
שיטות מומלצות
כדי לספק את חוויית המשתמש הטובה ביותר, השתמשו בממשקי ה-API המתאימים ופעלו לפי השיטות המומלצות לעדכוני התקדמות.
- כדי שההתראה תופיע במקום בולט במרכז ההתראות, צריך להגדיר את השדות המתאימים.
- השתמשו ברכיבים חזותיים מתאימים כדי להדריך את המשתמשים. לדוגמה, באפליקציות של נסיעות שיתופיות, כדאי להגדיר תמונה של הרכב ולהשתמש בצבע המדויק ביותר של הרכב בהתראה באמצעות
Notification#setLargeIcon. - השתמשו בשפה תמציתית וברורה כדי להגדיר את ההתקדמות בתהליך שעובר המשתמש. זמן ההגעה, שם הנהג ומצב הנסיעה הם טקסטים חשובים שצריך להעביר בהתראה.
- כדאי לספק בהתראה פעולות שימושיות ורלוונטיות שמייעלות את התהליך שעובר המשתמש. לדוגמה, הצגת האפשרויות "טיפ" ו "הוספת מנה" בהזמנה חדשה של משלוח אוכל הן פעולות שימושיות לפני המשלוח.
- משתמשים בקטעים ובנקודות כדי לציין מצבים. לדוגמה, אפשר להשתמש בקטעים כדי לצבוע את המצב ואת משך הזמן של התנועה בנסיעה שיתופית. הנקודות מייצגות מצבים של אבני דרך כמו הכנת אוכל, משלוח ואיסוף נוסעים.
- עדכון חוויית ההתקדמות כדי לשקף במדויק את ההתקדמות בפועל בתהליך. לדוגמה, שינויים במצב התנועה יכולים להשתקף בשינויים בצבעי הקטעים ובעדכונים בטקסט.
בקטע הקוד הבא אפשר לראות איך אפשר להשתמש בהתראה מסוג ProgressStyle בהקשר של נסיעה שיתופית:
var ps =
Notification.ProgressStyle()
.setStyledByProgress(false)
.setProgress(456)
.setProgressTrackerIcon(Icon.createWithResource(appContext, R.drawable.ic_car_red))
.setProgressSegments(
listOf(
Notification.ProgressStyle.Segment(41).setColor(Color.BLACK),
Notification.ProgressStyle.Segment(552).setColor(Color.YELLOW),
Notification.ProgressStyle.Segment(253).setColor(Color.WHITE),
Notification.ProgressStyle.Segment(94).setColor(Color.BLUE)
)
)
.setProgressPoints(
listOf(
Notification.ProgressStyle.Point(60).setColor(Color.RED),
Notification.ProgressStyle.Point(560).setColor(Color.GREEN)
)
)
כדי להתנסות בממשקי ה-API האלה, אפשר לעיין באפליקציה לדוגמה.