אנשים ושיחות

היוזמה 'אנשים ושיחות' היא יוזמה רב-שנתית של 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.