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

ב-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 – שיחות.