התראות ב-Wear OS

ההתראות בשעונים משתמשות באותם ממשקי API, ובמבנה שלהן זהה להתראות בטלפונים.

התראות יכולות להופיע בשעון בשתי דרכים:

  1. אפליקציה לנייד יוצרת התראה והמערכת מגשר באופן אוטומטי התראה לשעון.
  2. אפליקציה לבישה יוצרת התראה.

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

בדוגמה הבאה אפשר לראות איך מוצגות ההתראות. כרטיסי התראות

איור 1. אותה התראה מוצגת בטלפון ובשעון.

משתמשים באחד NotificationCompat.Style כדי לקבל את התוצאות הכי טובות.

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

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

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

אפשר ליצור התראה ניתנת להרחבה בדיוק כמו בנייד, באמצעות כל אחד NotificationCompat.Style תת-מחלקות. לדוגמה, התראה רגילה באמצעות NotificationCompat.MessagingStyle נראה כך: התראה שניתנת להרחבה

איור 2. דוגמה להתראה מסוג MessagingStyle ב-Wear OS.

ניתן לראות שלהתראה יש כמה הפעולות שמופיעות מעל במצב מורחב.

דוגמאות של NotificationCompat.BigPictureStyle, NotificationCompat.BigTextStyle, NotificationCompat.InboxStyle, ו-NotificationCompat.MessagingStyle, כדאי לעיין בהתראה לדוגמה ב-GitHub.

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

איך נמנעים מכפילויות של התראות

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

עם זאת, אם יוצרים אפליקציית שעון נפרדת ואפליקציה נלווית לטלפון, האפליקציות ליצור התראות כפולות.

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

הוספת תכונות ספציפיות לגאדג'טים לבישים להודעה

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

  1. יוצרים מופע של WearableExtender, שמגדירה את האפשרויות הספציפיות לגאדג'טים הלבישים עבור התראה.
  2. יוצרים מופע של NotificationCompat.Builder, הגדרת המאפיינים הרצויים בהודעה שתוארו קודם לכן במדריך הזה.
  3. שיחת טלפון extend() בהתראה ומעבירים WearableExtender הפעולה הזו מחילה את האפשרויות הלבישות על ההתראה.
  4. שיחת טלפון build() כדי ליצור את ההתראה.

הערה: אם משתמשים ב-NotificationManager של המסגרת, חלק מהתכונות של NotificationCompat.WearableExtender לא עובד, אז כדאי לוודא NotificationCompat.

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

הגדרת פעולות לבישים בלבד

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