اعلانهای ساعتها از همان API استفاده میکنند و ساختاری مشابه اعلانهای گوشیها دارند.
اعلان ها می توانند به دو صورت در ساعت ظاهر شوند:
- یک برنامه تلفن همراه یک اعلان ایجاد می کند و سیستم به طور خودکار آن اعلان را به ساعت متصل می کند .
- یک برنامه پوشیدنی یک اعلان ایجاد می کند.
برای هر دو سناریو، از کلاس NotificationCompat.Builder
برای ایجاد اعلان ها استفاده کنید. وقتی اعلانها را با کلاس سازنده میسازید، سیستم از نمایش صحیح اعلانها مراقبت میکند. به عنوان مثال، هنگامی که از برنامه تلفن همراه خود اعلان صادر می کنید، هر اعلان به عنوان یک کارت در جریان اعلان ظاهر می شود.
برای مشاهده نحوه نمایش اعلان ها، مثال زیر را مرور کنید.
برای بهترین نتیجه از یکی از زیر کلاس های NotificationCompat.Style
استفاده کنید.
توجه: استفاده از RemoteViews
اعلانهای طرحبندی سفارشی را حذف میکند و ابزار پوشیدنی فقط متن و نمادها را نمایش میدهد.
اعلانهای توصیهشده برای پوشیدنیها
از اعلانهای قابل ارتقا بهعنوان نقطه شروع برای همه اعلانها استفاده کنید، زیرا این اعلانها یک راه عالی برای جذب کاربران پوشیدنی هستند. حالت جمع شده در سینی اعلان برای تجربه ای کوتاه و قابل مشاهده نمایش داده می شود. اگر کاربر روی آن ضربه بزند، اعلان گسترش مییابد و تجربهای همهجانبه و قابل پیمایش از محتوا و اقدامات اضافی را نشان میدهد.
میتوانید با استفاده از هر یک از زیر کلاسهای NotificationCompat.Style
، یک اعلان قابل ارتقا به همان روشی که در تلفن همراه ایجاد میکنید، ایجاد کنید . برای مثال، یک اعلان استاندارد با استفاده از NotificationCompat.MessagingStyle
به شکل زیر است:
میتوانید ببینید که اعلان دارای چندین عملکرد است که در پایین حالت توسعهیافته انباشته شدهاند.
برای مثالهایی از NotificationCompat.BigPictureStyle
، NotificationCompat.BigTextStyle
، NotificationCompat.InboxStyle
، و NotificationCompat.MessagingStyle
، نمونه Notification را در GitHub بررسی کنید.
نکته: اگر اعلانهای شما شامل یک عملکرد «پاسخ» است، مانند یک برنامه پیامرسان، میتوانید رفتار اعلان را بهبود ببخشید. برای مثال، میتوانید پاسخهای ورودی صوتی را مستقیماً از پاسخهای متنی پوشیدنی یا از پیش تعریفشده با setChoices()
فعال کنید. برای اطلاعات بیشتر، افزودن دکمه پاسخ را بخوانید.
از اعلان های تکراری خودداری کنید
به طور پیشفرض، اعلانها از یک برنامه تلفن همراه به ساعتهای جفت شده متصل میشوند. اگر اپلیکیشن پوشیدنی نصب نکرده اید، این گزینه عالی است.
با این حال، اگر یک برنامه ساعت مستقل و یک برنامه تلفن همراه بسازید، برنامهها اعلانهای تکراری ایجاد میکنند.
Wear OS راهی برای متوقف کردن اعلانهای تکراری با APIهای Bridge ارائه میکند. این امر به ویژه برای برنامههای موجود در دستگاههایی که دارای سیستم عامل Wear OS 5 یا بالاتر هستند، مهم است، زیرا برخی از اعلانهایی که در یک دستگاه تلفن همراه غیرقابل قبول هستند، در دستگاه Wear OS قابل رد نیستند. برای اطلاعات بیشتر، گزینههای پل زدن برای اعلانها را بخوانید.
ویژگیهای مخصوص پوشیدنیها را به اعلان اضافه کنید
اگر نیاز به افزودن ویژگیهای خاص پوشیدنی به اعلان دارید، مانند پنهان کردن نماد برنامه از اعلان پوشیدنی یا اجازه دادن به کاربران برای دیکته پاسخ متنی با ورودی صوتی، میتوانید از کلاس NotificationCompat.WearableExtender
برای تعیین گزینهها استفاده کنید. برای استفاده از این API موارد زیر را انجام دهید:
- یک نمونه از
WearableExtender
ایجاد کنید و گزینههای مخصوص پوشیدنی را برای اعلان تنظیم کنید. - یک نمونه از
NotificationCompat.Builder
ایجاد کنید و ویژگی های مورد نظر را برای اعلان خود همانطور که قبلا در این راهنما توضیح داده شد تنظیم کنید. -
extend()
را در اعلان فراخوانی کنید و درWearableExtender
ارسال کنید. این گزینههای پوشیدنی را در اعلان اعمال میکند. - برای ساخت اعلان
build()
فراخوانی کنید.
توجه: اگر از NotificationManager
چارچوب استفاده میکنید، برخی از ویژگیهای NotificationCompat.WearableExtender
کار نمیکنند، بنابراین حتماً از NotificationCompat
استفاده کنید.
میتوانید اخراج یا لغو اعلانها را در دستگاههای کاربر همگامسازی کنید. برای همگام سازی رد کردن، از متد setDismissalId()
استفاده کنید. هنگام فراخوانی setDismissalId()
برای هر اعلان، یک شناسه منحصر به فرد جهانی را به عنوان رشته ارسال کنید. وقتی اعلان رد میشود، سایر اعلانها با همان شناسه حذف در ساعت و تلفن همراه حذف میشوند. برای بازیابی شناسه رد کردن، از getDismissalId()
استفاده کنید.
اقدامات فقط پوشیدنی را مشخص کنید
اگر میخواهید اکشنهای مختلفی در ساعت و تلفن در دسترس باشد، از WearableExtender.addAction()
استفاده کنید. هنگامی که اکشنی را با این متد اضافه میکنید، پوشیدنی هیچ اقدام دیگری را که با NotificationCompat.Builder.addAction()
اضافه شده است نمایش نمیدهد. اقدامات اضافه شده با WearableExtender.addAction()
فقط در پوشیدنی ظاهر می شود، نه در تلفن.