אנשים ושיחות

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

ב-Android 11 הושקו כמה תכונות לתמיכה ביוזמה 'אנשים ושיחות'.

מרחב לשיחה


מרחב השיחות הוא אזור התראות ייעודי לשיחות בזמן אמת בין אנשים.
איור 1: מרחב השיחות.

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

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

שיחות בבועות

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

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

מקשי קיצור לשיחה

קיצורי דרך לשיחות מופיעים במפעיל האפליקציות ולצד קיצורי דרך לשיתוף בעלי מחזור חיים ארוך בגיליון השיתוף.

הנחיות לשימוש ב-API

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

מקשי קיצור לשיחות

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

כדי לפרסם קיצור דרך לשיחה, קוראים לשיטות ShortcutManagerCompatsetDynamicShortcuts(),‏ addDynamicShortcuts() או pushDynamicShortcut() (שמנהלות אוטומטית את מגבלת קיצורי הדרך עבור המפתח). קיצור הדרך הזה צריך להיות פעיל לאורך זמן ולכלול נתונים של Person של אדם אחד או יותר, כדי לזהות את שאר המשתתפים בשיחה. מומלץ גם להגדיר את LocusIdCompat.

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

התראות על שיחות

התראה נחשבת כהתראה על שיחה אם מתקיימים התנאים הבאים:

  • ההתראה משתמשת ב-MessagingStyle.

  • (רק אם האפליקציה מטרגטת ל-Android 11 ואילך) ההתראה משויכת לקיצור דרך תקף לשיתוף לטווח ארוך, דינמי או שמור במטמון. ההתראה יכולה להגדיר את השיוך הזה על ידי קריאה ל-setShortcutId() או ל-setShortcutInfo(). אם האפליקציה מיועדת ל-Android 10 או לגרסאות קודמות, אין צורך לשייך את ההתראה לקיצור דרך, כפי שמוסבר בקטע אפשרויות חלופיות.

  • המשתמש לא הוריד את רמת השיחה מקטע השיחות דרך הגדרות ערוץ ההתראות בזמן הפרסום.

שימוש ב-LocusIdCompat

האינטליגנציה במכשיר קובעת את השיחות שהמשתמש הכי צפוי להתעניין בהן. בין האותות החשובים ביותר הם העדכניות והתדירות של סשנים של שיחות בכל שיחה. המערכת יודעת על אינטראקציות עם שיחה מקיצורי דרך במפעיל האפליקציות או מתוך התראה, אם הן מתויגות בצורה נכונה. עם זאת, המערכת לא יודעת על שיחות שהתנהלו רק באפליקציה, אלא אם האינטראקציות האלה מתויגות גם הן. לכן, מומלץ מאוד לצרף LocusIdCompat לקיצור הדרך ולציין את הפעילות או את הקטע באפליקציה באמצעות LocusIdCompat המשויך. כדי שמערכת ההצעות תוכל לדרג את השיחה בצורה נכונה, וכדי שהמערכת תוכל להציג את השעה הנכונה של האינטראקציה האחרונה של המשתמש (כולל אינטראקציות בתוך האפליקציה) עם השיחה, צריך להשתמש ב-LocusIdCompat. אם משתמשים ב-setShortcutInfo() כדי לשייך את השיחה לקיצור דרך, מערכת השיחות מצרפת אוטומטית את LocusIdCompat המתאים.

דרישות לגבי מרחבי שיחה באפליקציות שמטרגטות ל-Android 10 או לגרסאות קודמות

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

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

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

אם ההתראה לא עומדת בדרישות האלה, הפלטפורמה משתמשת באפשרויות חלופיות כדי לעצב את ההתראה. אם ההתראה עומדת בדרישות של אחד מהמקרים האלה, היא תוצג במרחב השיחה עם עיצוב מיוחד. אם ההתראה לא עומדת בדרישות של אף אחת מהאפשרויות החלופיות, היא לא תוצג במרחב השיחה.

חזרה למצב קודם: אם נעשה שימוש ב-MessagingStyle אבל לא סופק קיצור דרך

אם האפליקציה מיועדת ל-Android 10 או לגרסאות קודמות, וההתראה משתמשת ב-MessagingStyle, אבל לא משייכת את ההודעה לקיצור דרך, ההתראה מוצגת במרחב השיחה באופן הבא:

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

חזרה למצב קודם: אם לא נעשה שימוש ב-MessagingStyle, אבל האפליקציה היא אפליקציית הודעות מוכרת

אם ההתראה לא משתמשת ב-MessagingStyle, אבל הפלטפורמה מזהה את האפליקציה כאפליקציית הודעות, והפרמטר category של ההתראה מוגדר ל-msg, ההתראה מוצגת במרחב השיחה באופן הבא:

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

הנחיות, שימוש ובדיקה

בקטע הזה מפורטות הנחיות כלליות לשימוש בתכונות של שיחות ולבדיקה שלהן.

מתי כדאי להשתמש בשיחות?

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

נתנו למשתמשים את האפשרות להסיר שיחה מסוימת מהקטע 'שיחות' אם הם חושבים שהיא לא במרחב הנכון.

שיטות מומלצות

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

  • כדי לוודא שהשיחות שלא נענו יופיעו בחלונית השיחות בעדיפות גבוהה ויוצגו בצורה נכונה בווידג'ט ההמרה, צריך לעצב את ההתראות על שיחות שלא נענו בפורמט conversations עם קטגוריה שמוגדרת כ-CATEGORY_MISSED_CALL.
  • חשוב לספק אווטרים באיכות גבוהה (104dp) למשתמשים. אחרת, המערכת תשתמש בראשי התיבות של שם האדם, וחוויית השימוש תהיה פחות מעניינת.
  • אל תשלחו cancel התראה על שיחה לפני שהמשתמש ראה את ההודעה. דוגמה לכך היא ביטול התראה כשפותחים את האפליקציה בתצוגה שבה המשתמש לא יכול לראות את ההודעה או לטפל בה. אם למשתמש אין אפשרות לקרוא את ההודעה או להגיב עליה, ההתראה על הביטול והבועה שמשויכת אליה מוסרות, וכתוצאה מכך אובד ההקשר של השיחה.
  • מספקים URI של data מטא-נתונים שקשורים ל-MIME שמשויכים להודעות, וכך מאפשרים חוויה עשירה יותר בהתראות.
  • אפשר להשתמש ב-API‏ Android 12 status כדי ליצור ווידג'טים של שיחות שמעודדים יותר מעורבות.
  • כדאי להשתמש בשיטות המומלצות הבאות לקיצורי דרך לשיחות.
    • פרסום קיצורי דרך לשיחות נכנסות ויוצאות באפליקציה שלא מפעילות התראות. לכל ההודעות שנכנסות ויוצאות באותה שיחה צריך להיות אותו מזהה קיצור דרך. אפשר להשתמש ב-pushDynamicShortcut() כדי לפרסם את קיצורי הדרך ולדווח על השימוש בהם.
    • כדי למנוע חיתוך לא מכוון של האווטאר של קיצור הדרך, צריך לספק AdaptiveIconDrawable לסמל של קיצור הדרך. פרטים נוספים מופיעים במאמר הוספת תמונות של קיצורי דרך.
    • כדי לעזור למערכת לקדם את קיצור הדרך שלכם, מומלץ לפעול לפי ההנחיות לשיפור הדירוג. קיצור הדרך מדורג בממשקי מערכת שונים, כולל גיליון השיתוף של Android אם מדובר בקיצור דרך לשיתוף.
    • מוודאים שמקשי הקיצור לשיחה intents פותחים ישירות את השיחה הרלוונטית.
    • אפשר להשתמש בספריות התאימות כדי להגדיר בקלות את קיצורי הדרך כקשורים ל-conversation.

בדיקה של התראות על שיחות וקיצורי דרך

לחיצה ארוכה על שיחה פותחת תפריט עם פעולות שקשורות לשיחה.
תרשים 3: כדי לוודא שההתראה על שיחה מוגדרת בצורה תקינה, לוחצים לחיצה ארוכה על ההתראה ובודקים שתפריט השיחה מופיע.

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

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

קיצורי דרך לשיתוף שנוספו מוצגים בשורה של השיתוף הישיר בגיליון השיתוף כשמשתפים תוכן שקיצור הדרך יכול לקבל.

ווידג'טים של שיחות

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

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

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

אימות התמיכה בווידג'טים של שיחות באפליקציה

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

ממשק משתמש לבחירת ווידג'ט כדי להוסיף ווידג'ט חדש של שיחה
איור 2: ממשק משתמש לבחירת ווידג'ט להוספת ווידג'ט חדש של שיחה.

כך עושים את זה:

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