ב-Android 11 נוספה תמיכה בהתאמה אישית של ההתנהגות והמיקום של התראות על שיחות בחלונית ההתראות לפי עדיפות ורמת התראה. כך אפשר לסמן שיחות כחשובות ולהפעיל בועות ספציפיות לשיחה במרחב השיחה.
בנוסף לתכונות האלה של Android 11, ב-Android 12 יש שתי תכונות חדשות לשיחות:
התכונה 'שיחות אחרונות' בהגדרות מאפשרת למשתמשים להתאים אישית את התנהגות ההתראות בשיחות האחרונות בלי לחכות להתראה.
תכונת הווידג'ט של השיחות מאפשרת למשתמשים לפתוח בקלות צ'אטים במסך הבית, ולקבל תצוגה מהירה של שיחות מהזמן האחרון.
במסמך הזה מתוארים ההיבטים של הטמעה, התאמה אישית ואימות של התראות ווידג'טים של שיחות.
סקירה כללית של התראות על שיחות
ב-Android 11 הוצג פרימיטיב מערכת חדש, Conversation, שמיוצג על ידי אובייקט קיצור הדרך לשיתוף הקיים (שהושק ב-Android 9).
אפשר להשתמש בפרימיטיב Conversations באופן הבא:
כדי לשתף נתונים של שיחות בין האפליקציות במערכת באמצעות קובץ לשיתוף (כבר ב-Android 10).
לנהיגה בועות(קיצורי דרך ב-Android 11). ראו איור 1.
כדי להשתתף במרחב החדש לשיחות בחלק העליון של מגש ההתראות (הוטמע ב-Android 11). ראו איור 2.
ליצירת ווידג'טים של שיחות (הוטמעו ב-Android 12).

איור 1: התראה שמוצגת כבועה ממגירת ההתראות

איור 2: מרחב שיחה בחלק העליון של מרכז ההתראות
בנוסף לקישור לקיצור הדרך שמייצג את השיחה, ההתראה משתמשת גם ב-MessagingStyle כדי לכלול את ההודעה האחרונה מהשיחה במרחב השיחה.
שותפי GMS נדרשים להטמיע את הפתרונות הבאים:
- מרחב שיחות חדש כקטע נפרד בחלק העליון של מרכז ההתראות.
- סגנון התראות שמאפשר ותומך בדפוס בועות ספציפי לשיחה.
שותפים שמטמיעים את התכונה 'שיחות' נדרשים להטמיע גם את התכונה 'שיחות חשובות'. עם זאת, אפשר להתאים את ההטמעה של התכונה 'שיחות' למושגים דומים של יצרני ציוד מקורי. בסך הכול, שותפים יכולים להתאים את קטע השיחה לממשק המשתמש הספציפי של המערכת שלהם. השותף לא צריך לשנות או להטמיע קוד HAL/driver/kernel/extensions.
אפשר לעיין בהטמעה לדוגמה הבאה בקטעים SystemUI ו-PeopleService ב-AOSP:
frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/
אימות
כדי לוודא שהגרסה של התכונה פועלת כמצופה, צריך לבדוק את הדברים הבאים:
ההתראות של אפליקציות שתומכות באופן מלא ב-Conversation API מופיעות בקטע החדש, ואפשר להתאים אישית את ההתראות האלה לפי שיחה ולא לפי NotificationChannel כללי.
הבועות של שיחות ספציפיות פועלות.
כדי לאמת את ההטמעה, משתמשים בבדיקות הבאות בחבילת ההתראות:
בדיקות CTS.
cts/tests/app/src/android/app/cts/NotificationManagerTest.javaבדיקות CTS Verifier.
cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/
סקירה כללית של ווידג'טים של שיחות
ב-Android 12, התכונה 'ווידג'ט של שיחות' מבוססת על ייצוגי השיחות שנוצרו ב-Android 11 (כפי שמתואר בקטע הקודם), ומאפשרת לאפליקציות לספק סטטוס לשיחות שמוצגות בווידג'טים של שיחות.
איור 3: שיחות שמוצגות בווידג'טים של שיחות
התכונה 'ווידג'ט השיחות' ב-Android 12 מעודדת תקשורת, כי היא מאפשרת למשתמשים לפתוח בקלות צ'אטים במסך הבית. הווידג'טים הם קיצורי דרך משופרים שמאפשרים למשתמשים לחזור לשיחות שלהם ביעילות, תוך הצגת קטעים ממצבי השיחה.
השותף צריך להטמיע את הפעולות הבאות:
- ווידג'ט שסופק על ידי SystemUI.
- תהליך להוספת הווידג'טים האלה ממסך בחירת הווידג'טים.
- תמיכה בשינוי גודל הווידג'ט באופן הבא:
- משתמשים ב-
onAppWidgetOptionsChanged()כדי לשנות את הפריסה לפריסה בגודל טוב יותר כשהמשתמש משנה את גודל הפריסה או מסובב את המסך למצב אופקי. - כדי להגדיר את הגודל של הווידג'ט בצורה נכונה, צריך להשתמש ב-
maxResizeHeight,maxResizeWidth,minWidth,minHeight,minResizeWidth,minResizeHeight.
- משתמשים ב-
כשמטמיעים את הווידג'טים של הצ'אט, חשוב לשים לב לתלות הבאה:
- השותף לא צריך לשנות או להטמיע קוד HAL/driver/kernel.
- ההטמעה מתבצעת באמצעות Status API, שמאפשר לאפליקציות להוסיף לשיחה ולרכיב הווידג'ט המשויך מידע על סטטוס או זמינות.
- התהליך זהה גם בהטמעה של מכשיר חדש וגם בהטמעה של שדרוג.
- התכונה 'ווידג'טים של שיחות' תלויה בתכונה חדשה שמושקת ב-Android 12, שמאפשרת לשמור במטמון שיחות שנראו לאחרונה (לדוגמה, מתוך התראות). התכונה השנייה מאפשרת להרחיב את רשימת השיחות שמשתמש יכול להוסיף למסך הבית.
אפשר לעיין בהטמעה לדוגמה הבאה בקובצי SystemUI ו-Launcher3:
frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/
התאמה אישית
אי אפשר להפעיל או להשבית את התכונה 'ווידג'טים של שיחות'. עם זאת, שותף יכול לשנות את הפריסות של תבניות הווידג'טים, כל עוד הוא עומד בדרישות של GMS.
אימות
כדי לוודא שהגרסה של התכונה פועלת כמצופה, צריך לבדוק את הדברים הבאים:
כשלוחצים לחיצה ארוכה על מרכז האפליקציות, אפשר להוסיף ווידג'ט חדש של שיחה דרך הכלי לבחירת ווידג'טים. באיור 4 מוצג ממשק המשתמש של הכלי לבחירת ווידג'טים:
איור 4: ממשק המשתמש של הכלי לבחירת ווידג'טים שדרכו אפשר להוסיף ווידג'ט חדש של שיחות
כששולחים התראות למכשיר מהשיחה שנבחרה, הווידג'ט מתעדכן בהתאם להתראות האלה.
כשמחילים סטטוסים על השיחה באמצעות
ConversationStatusAPI, הווידג'ט משקף את הסטטוסים האלה.המשתמשים יכולים לשנות את הגודל של הווידג'טים, והגודל של הווידג'טים יכול להשתנות בהתאם למפעיל הנוכחי. פריסות הווידג'טים צריכות לפעול בצורה טובה עם גדלים שונים של מרכזי האפליקציות במכשירים שונים, וגם כשמשנים את גודל הווידג'ט.
כדי לאמת את ההטמעה, משתמשים בבדיקות הבאות בחבילת ההתראות:
בדיקות CTS (PeopleManagerTest) לממשקי ה-API.
cts/tests/app/src/android/app/cts/NotificationManagerTest.javaבדיקות ידניות לדרישות GMS – שיחות.