אנשים ושיחות

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

ב-Android 11 נוספו כמה תכונות שתומכות ביוזמה "אנשים ושיחות".

מרחב השיחה


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

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

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

שיחות בבועות

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

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

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

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

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

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

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

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

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

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

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

חלופה: אם נעשה שימוש ב-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.