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

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

בהתבסס על תכונות אלה של אנדרואיד 11, אנדרואיד 12 מציע שתי תכונות חדשות לשיחה:

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

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

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

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

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

ניתן להשתמש בפרימיטיבי השיחות באופן הבא:

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

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

  • להשתתף במרחב השיחה החדש על גבי צל ההודעות (מיושם באנדרואיד 11). ראה איור 2 .

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

    conv_bubbles

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

    conv_notification

    איור 2: מרחב שיחה ממוקם על גבי צללית ההודעות

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

שותפי GMS נדרשים ליישם את הדברים הבאים:

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

שותפים שמיישמים שיחות נדרשים ליישם גם שיחות חשובות. עם זאת, ניתן ליישר יישום של שיחות עם מושגי 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 רואות את ההתראות שלהן בקטע החדש, ויכולות להתאים אישית את ההתראות האלה על ידי שיחה ולא על ידי ערוץ ההתראות הגנרי.

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

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

  • בדיקות CTS.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • בדיקות CTS Verifier.

    cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/
    
    

סקירה כללית של ווידג'טים לשיחה

ב-Android 12, תכונת ה-Conversation Widget מתבססת על ייצוגי השיחה שנוצרו ב-Android 11 (כפי שמתאר הסעיף הקודם) על-ידי מתן אפשרות לאפליקציות לספק סטטוס לאותן שיחות המוצגות ב-Conversation Widgets.

conv_widgets

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

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

על השותף ליישם את הדברים הבאים:

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

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

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

התאמה אישית

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

מַתַן תוֹקֵף

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

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

    widget_picker

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

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

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

  4. משתמשים יכולים לשנות גודל של ווידג'טים ווידג'טים יכולים לשנות את הגדלים שלהם על סמך ה-Launcher הנוכחי שלהם. פריסות הווידג'ט שלך חייבות לעבוד היטב עם גדלי מפעיל שונים במכשירים שונים ובשינוי גודל הווידג'ט.

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

  • בדיקות CTS (PeopleManagerTest) עבור משטחי ה-API.

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