אנשים ושיחות

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

הוספנו כמה תכונות ל-Android 11 כדי לתמוך ביוזמה 'אנשים ושיחות'.

מרחב שיחה


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

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

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

שיחות בבועות

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

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

קיצורי דרך לשיחות

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

הנחיות ל-API

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

קיצורי דרך לשיחות

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

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

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

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

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

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

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

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

שימוש ב-LocusIdCompat

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

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

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

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

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

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

חלופה: אם נעשה שימוש ב-MessagingStyle אבל לא צוין מקש קיצור

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

מבצעים את השלבים הבאים:

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