התראות על שיחות וווידג'טים של שיחות

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

בנוסף לתכונות האלה של Android 11, ב-Android 12 יש שתי תכונות חדשות לשיחות:

  • התכונה 'שיחות אחרונות' בהגדרות מאפשרת למשתמשים להתאים אישית את התנהגות ההתראות בשיחות האחרונות בלי לחכות להתראה.

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

במאמר הזה מתוארים ההיבטים של הטמעה, התאמה אישית ואימות של התראות ווידג'טים של שיחות.

סקירה כללית של התראות על שיחות

ב-Android 11 הוצג פרימיטיב מערכת חדש, Conversation, שמיוצג על ידי אובייקט קיצור הדרך לשיתוף הקיים (שהושק ב-Android 9).

אפשר להשתמש ברכיב הפרימיטיבי Conversations באופן הבא:

  • כדי לשתף נתונים משיחות בין האפליקציות במערכת באמצעות גיליון השיתוף (כבר ב-Android 10).

  • לנהיגה בועות(קיצורי דרך ב-Android 11). ראו איור 1.

  • כדי להשתתף במרחב השיחה החדש בחלק העליון של מגש ההתראות (שמוטמע ב-Android 11). ראו איור 2.

  • ליצירת ווידג'טים של שיחות (הוטמע ב-Android 12).

    conv_bubbles

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

    conv_notification

    איור 2: מרחב שיחה שנמצא בחלק העליון של לוח ההתראות

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

שותפים ב-GMS נדרשים להטמיע את הפתרונות הבאים:

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

שותפים שמטמיעים את התכונה 'שיחות' נדרשים להטמיע גם את התכונה 'שיחות חשובות'. עם זאת, אפשר ליישם את התכונה 'שיחות' בהתאם למושגים דומים של יצרני ציוד מקורי. בסך הכול, השותפים יכולים להתאים את אזור השיחה לממשק המשתמש הספציפי של המערכת שלהם. השותף לא צריך לשנות או להטמיע קוד/תוספים של 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/

אימות

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

  1. ההתראות של אפליקציות שתומכות באופן מלא ב-Conversation API מופיעות בקטע החדש, ואפשר להתאים אישית את ההתראות האלה לפי שיחה ולא לפי NotificationChannel כללי.

  2. הבועות של שיחות ספציפיות פועלות.

כדי לאמת את ההטמעה, משתמשים בבדיקות הבאות בחבילת ההתראות:

  • בדיקות 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 (כפי שמתואר בקטע הקודם), ומאפשרת לאפליקציות לספק סטטוס לשיחות האלה שמוצגות בווידג'טים של שיחות.

conv_widgets

איור 3: שיחות שמוצגות בווידג'טים של שיחות

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

השותף צריך להטמיע את הפעולות הבאות:

  1. ווידג'ט שסופק על ידי SystemUI.
  2. תהליך עבודה להוספת הווידג'טים האלה ממסך בחירת הווידג'טים.
  3. תמיכה בשינוי גודל הווידג'ט באופן הבא:

כשמטמיעים ווידג'טים של שיחות, חשוב להביא בחשבון את התלות הבאה:

  • השותף לא צריך לשנות או להטמיע קוד 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.

אימות

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

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

    widget_picker

    איור 4: ממשק משתמש לבחירת ווידג'טים להוספת ווידג'ט חדש של שיחות

  2. כשנשלחות התראות למכשיר מהשיחה שנבחרה, הווידג'ט מתעדכן בהתאם להתראות האלה.

  3. כשמחילים סטטוסים על השיחה באמצעות ConversationStatus API, הווידג'ט משקף את הסטטוסים האלה.

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

כדי לאמת את ההטמעה, משתמשים בבדיקות הבאות בחבילת ההתראות:

  • בדיקות CTS ‏ (PeopleManagerTest) לממשקי ה-API.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • בדיקות ידניות לדרישת GMS – שיחות.