יוזמת 'אנשים ושיחות' היא יוזמה רב-שנתית ל-Android שמטרתה להעלות את רמת האנשים והשיחות בפלטפורמות המערכת של הטלפון. העדיפות הזו מבוססת על העובדה שתקשורת ואינטראקציה עם אנשים אחרים עדיין הן האזור הפונקציונלי החשוב והחשוב ביותר לרוב המשתמשים שלנו בכל הדמוגרפיות.
הוספנו כמה תכונות ל-Android 11 כדי לתמוך ביוזמה 'אנשים ושיחות'.
מרחב שיחה
במכשירים ניידים יש קטע נפרד בחלק העליון של גוון ההתראות, שמכיל רק שיחות בזמן אמת עם אנשים (כמו שיחות והודעות צ'אט, כולל צ'אטים קבוצתיים). ההתראות במרחב המשותף הזה נראות ופועלות באופן שונה מהתראות ללא שיחות בטלפונים רבים:
- העיצוב שונה, עם דגש חזק על הדמות שמייצגת את האנשים בשילוב עם האפליקציה שבה מתנהלת השיחה.
- הקשה על ההתראה פותחת את השיחה באפליקציה (או בועה, אם השיחה הייתה בבועות בעבר), והקשה על סמן הטקסט מגדילה את ההודעות החדשות בהצללה לאורך מלא עם רשימת האפשרויות המלאה.
- מוצעות פעולות ספציפיות לשיחה (חלקן זמינות בלחיצה ארוכה):
- סימון השיחה בעדיפות גבוהה
- להפוך את השיחה הזו לבועה (האפשרות הזו מוצגת רק אם האפליקציה תומכת בבועות)
- השתקת ההתראות לגבי השיחה הזו
- הגדרת צלילים או רטט מותאמים אישית לשיחה הזו
שיחות בבועות
החל מ-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
.
- אפשר לפרסם קיצורי דרך לשיחות נכנסות ויוצאות באפליקציה בלי התראות. למזהה קיצור הדרך של הודעות נכנסות ויוצאות באותה שיחה צריך להיות אותו ערך. משתמשים ב-
בדיקת התראות על שיחות וקיצורי דרך
אם תצייתו להנחיות של המרחב המשותף, השיחות אמורות להופיע אוטומטית במרחב המשותף. כדי לוודא שמקש הקיצור משולב בצורה תקינה, אפשר ללחוץ לחיצה ארוכה על ההתראה. אם השילוב בוצע כראוי, בממשק המשתמש יוצגו פעולות שקשורות לשיחת הצ'אט. אם ההתראה לא מקושרת למקש קיצור, בממשק המשתמש יופיע טקסט עם ההודעה שהאפליקציה לא תומכת בתכונות השיחה.
קיצורי הדרך שנוספו מוצגים בלחיצה ארוכה על מרכז האפליקציות. חשוב לבדוק שהקיצורים מביאים אתכם למקום הנכון באפליקציה.
קיצורי דרך לשיתוף שהוספתם יוצגו בשורה של שיתוף ישיר בחלונית השיתוף כשאתם משתפים תוכן שקיצור הדרך לשיתוף יכול לקבל.
ווידג'טים של שיחות
ב-Android 12, התכונה 'ווידג'ט של שיחה' מבוססת על התכונה 'אנשים ושיחות' שנוספה ב-Android 11, ומאפשרת לאפליקציות להציג את סטטוס השיחה בווידג'טים של שיחות.
ווידג'טים של שיחות מעודדים אינטראקציה של המשתמשים, כי הם מאפשרים להם לפתוח בצורה קלה שיחות בצ'אט במסך הבית. הווידג'טים האלה הם קיצורי דרך משופרים שמאפשרים למשתמשים לחזור ביעילות לשיחות שלהם ולהציג קטעים של סטטוס השיחה או מידע רלוונטי אחר.
איך לוודא שהאפליקציה תומכת בווידג'טים של שיחות
כדי לוודא שהאפליקציה תומכת בווידג'טים של שיחות, צריך לפחות שני מכשירי Android (שניהם עם Android מגרסה 12 ואילך) ושני חשבונות משתמשים (אחד בכל מכשיר) כדי להחליף הודעות. לצורך התהליך הזה, אנחנו קוראים לחשבונות 'משתמש א' ו'משתמש ב'.
מבצעים את השלבים הבאים:
- במכשיר של משתמש א', לוחצים לחיצה ארוכה על מרכז האפליקציות. בבורר הווידג'טים, מקישים על ווידג'ט חדש של שיחה, כפי שמוצג באיור 2.
- גוררים את הווידג'ט למסך הבית. אמורה להופיע רשימה של שיחות פעילות או שיחות מהזמן האחרון מהאפליקציה של משתמש א'.
- עכשיו, במכשיר של משתמש ב', שולחים הודעת בדיקה למשתמש א'.
- במכשיר של משתמש א', מוודאים שהווידג'ט מעודכן ומשקף את ההתראה על ההודעה ממשתמש ב'.
- אופציונלי: מגדירים למשתמש א' ולמשתמש ב' ערכים שונים של סטטוס השיחה כדי לוודא שהווידג'טים שלהם ישקפו אותם בצורה נכונה. רשימה של ערכי הסטטוס מפורטת במאמר ConversationStatus.