ב-Android 11 נוספה תמיכה בהתאמה אישית של ההתנהגות והמיקום של ההתראות על שיחות בחלונית ההתראות לפי תעדוף ורמת התראה. כך אפשר לסמן שיחות כחשובות ולהפעיל בועות ספציפיות לשיחות במרחב השיחה.
בנוסף לתכונות האלה ב-Android 11, ב-Android 12 יש שתי תכונות חדשות של שיחות:
התכונה 'שיחות אחרונות' בהגדרות מאפשרת למשתמשים להתאים אישית את התנהגות ההתראות לגבי שיחות אחרונות, בלי לחכות לקבלת התראה.
התכונה 'ווידג'ט של שיחות' מאפשרת למשתמשים לפתוח בצורה קלה צ'אטים במסך הבית, ולראות במהירות את השיחות האחרונות.
במסמך הזה מתוארים היבטי ההטמעה, ההתאמה האישית והאימות של התראות על שיחות וווידג'טים.
סקירה כללית על התראות על שיחות
ב-Android 11 מוצג רכיב מערכת חדש, שיחה, שמיוצג על ידי אובייקט קיצור הדרך לשיתוף (שהושק עם Android 9).
אפשר להשתמש ב-Conversations primitive באופן הבא:
כדי לשתף את הנתונים של Conversations בין האפליקציות במערכת באמצעות Sharesheet (כבר ב-Android 10).
לבועות בזמן נהיגה(מקשי קיצור ב-Android 11). איור 1
כדי להשתתף במרחב השיחה החדש שמופיע מעל חלונית ההתראות (הוטמע ב-Android 11). איור 2
ליצירת ווידג'טים של שיחות (הוטמעו ב-Android 12).
איור 1: התראה שמופעלת כבועה ממסגרת ההתראות
איור 2: מרחב השיחה ממוקם מעל לוח ההתראות
בנוסף לקישור לקיצור הדרך שמייצג את השיחה, ההתראה כוללת גם את ההודעה האחרונה מהשיחה במרחב המשותף. לשם כך, נעשה שימוש ב-MessagingStyle.
שותפי GMS נדרשים להטמיע את הפתרונות הבאים:
- מרחב חדש בשם 'שיחות', כקטע נפרד בחלק העליון של לוח ההתראות.
- סגנון התראות שמאפשר ותומך בתבנית הבועות הספציפית של שיחות.
שותפים שמטמיעים את התכונה 'שיחות' חייבים להטמיע גם את התכונה 'שיחות חשובות'. עם זאת, אפשר להתאים את ההטמעה של Conversations למושגים דומים של יצרני ציוד מקורי (OEM). באופן כללי, השותפים יכולים להתאים את הקטע של השיחה לממשק המשתמש הספציפי של המערכת שלהם. השותף לא צריך לשנות או להטמיע תוספי קוד או קוד של HAL/נהג/ליבה.
אפשר לעיין בהטמעת העזרה הבאה בקטעים 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/קוד של נהג/קוד ליבה.
- להטמעה נעשה שימוש ב-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: ממשק המשתמש של בורר הווידג'טים להוספת ווידג'ט שיחות חדש
כששולחים התראות מהשיחה שנבחרה למכשיר, הווידג'ט מתעדכן בהתאם להתרעות האלה.
כשמחילים סטטוסים על השיחה הזו באמצעות ה-API של
ConversationStatus
, הווידג'ט משקף את הסטטוסים האלה.המשתמשים יכולים לשנות את הגודל של הווידג'טים, והווידג'טים יכולים לשנות את הגודל שלהם בהתאם למרכז האפליקציות הנוכחי. פריסות הווידג'טים צריכות לפעול היטב בגדלים שונים של מרכז האפליקציות במכשירים שונים, וגם כשמשנים את הגודל של הווידג'ט.
כדי לאמת את ההטמעה, משתמשים בבדיקות הבאות בחבילת ההתראות:
בדיקות CTS (PeopleManagerTest) לממשקי ה-API.
cts/tests/app/src/android/app/cts/NotificationManagerTest.java
בדיקות ידניות לדרישת GMS – שיחות.