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

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

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

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

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

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

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

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

אפשר להשתמש ב-Conversations primitive באופן הבא:

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

  • לבועות בזמן נהיגה(מקשי קיצור ב-Android 11). איור 1

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

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

    conv_bubbles

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

    conv_notification

    איור 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/

אימות

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

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

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

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

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

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