การแจ้งเตือนใน Wear OS

การแจ้งเตือนในนาฬิกาใช้ API เดียวกันและมีโครงสร้างเดียวกับการแจ้งเตือนในโทรศัพท์

การแจ้งเตือนจะปรากฏบนนาฬิกาได้ 2 วิธีดังนี้

  1. แอปบนอุปกรณ์เคลื่อนที่จะสร้างการแจ้งเตือนและระบบจะเชื่อมต่อการแจ้งเตือนนั้นกับนาฬิกาโดยอัตโนมัติ
  2. แอปสำหรับอุปกรณ์สวมใส่จะสร้างการแจ้งเตือน

สำหรับทั้ง 2 สถานการณ์ ให้ใช้คลาส NotificationCompat.Builder เพื่อสร้างการแจ้งเตือน เมื่อสร้างการแจ้งเตือนด้วยคลาส Builder ระบบ จะดูแลการแสดงการแจ้งเตือนอย่างเหมาะสม เช่น เมื่อคุณส่งการแจ้งเตือนจาก แอปบนอุปกรณ์เคลื่อนที่ การแจ้งเตือนแต่ละรายการจะปรากฏเป็นการ์ดในสตรีมการแจ้งเตือน

ดูตัวอย่างต่อไปนี้เพื่อดูว่าการแจ้งเตือนจะแสดงอย่างไร notification-cards

รูปที่ 1 การแจ้งเตือนเดียวกันที่แสดงบนโทรศัพท์และนาฬิกา

ใช้คลาสย่อยรายการใดรายการหนึ่งต่อไปนี้เพื่อให้ได้ผลลัพธ์ที่ดีที่สุดNotificationCompat.Style

หมายเหตุ: การใช้ RemoteViews จะนำเลย์เอาต์ที่กำหนดเองออกจากข้อความแจ้ง และอุปกรณ์ที่สวมใส่ได้จะแสดงเฉพาะข้อความและไอคอน

การแจ้งเตือนที่แนะนำสำหรับอุปกรณ์ที่สวมใส่ได้

ใช้การแจ้งเตือนที่ขยายได้เป็นจุดเริ่มต้นสำหรับการแจ้งเตือนทั้งหมด เนื่องจากเป็นวิธีที่ยอดเยี่ยมในการดึงดูดผู้ใช้ที่สวมใส่อุปกรณ์ สถานะที่ยุบจะแสดงในถาดการแจ้งเตือนเพื่อให้ดูได้อย่างรวดเร็ว หากผู้ใช้แตะการแจ้งเตือนดังกล่าว การแจ้งเตือนจะขยายออก เผยให้เห็นประสบการณ์การใช้งานแบบสมจริงที่เลื่อนได้ของเนื้อหาและการดำเนินการเพิ่มเติม

คุณสร้างการแจ้งเตือนที่ขยายได้ ในลักษณะเดียวกับที่ทำในอุปกรณ์เคลื่อนที่ โดยใช้คลาสย่อยใดก็ได้ของ NotificationCompat.Style ตัวอย่างเช่น การแจ้งเตือนมาตรฐานที่ใช้ NotificationCompat.MessagingStyle จะมีลักษณะดังนี้ expandable-notification

รูปที่ 2 ตัวอย่างMessagingStyleการแจ้งเตือนใน Wear OS

คุณจะเห็นว่าการแจ้งเตือนมีการดำเนินการหลายรายการซ้อนกันอยู่ที่ด้านล่างของสถานะที่ขยาย

ดูตัวอย่าง NotificationCompat.BigPictureStyle, NotificationCompat.BigTextStyle, NotificationCompat.InboxStyle, และ NotificationCompat.MessagingStyle ได้ในตัวอย่างการแจ้งเตือน บน GitHub

เคล็ดลับ: หากการแจ้งเตือนมีการดำเนินการ "ตอบกลับ" เช่น สำหรับแอปส่งข้อความ คุณจะเพิ่มประสิทธิภาพลักษณะการทำงานของการแจ้งเตือนได้ เช่น คุณสามารถเปิดใช้การป้อนด้วยเสียง ตอบกลับจากอุปกรณ์ที่สวมใส่ได้โดยตรง หรือใช้การตอบกลับเป็นข้อความที่กำหนดไว้ล่วงหน้าด้วย setChoices() ดูข้อมูลเพิ่มเติมได้ที่เพิ่มปุ่มตอบกลับ

หลีกเลี่ยงการแจ้งเตือนที่ซ้ำกัน

โดยค่าเริ่มต้น ระบบจะบริดจ์การแจ้งเตือนจากแอปโทรศัพท์ที่ใช้ร่วมกันไปยังนาฬิกาที่จับคู่ไว้ ซึ่งเป็นตัวเลือกที่ยอดเยี่ยมหากคุณไม่ได้ติดตั้งแอปบนอุปกรณ์ที่สวมใส่ได้

อย่างไรก็ตาม หากคุณสร้างแอปนาฬิกาแบบสแตนด์อโลนและแอปโทรศัพท์ที่ใช้ร่วมกัน แอปจะสร้างการแจ้งเตือนที่ซ้ำกัน

Wear OS มีวิธีหยุดการแจ้งเตือนที่ซ้ำกันด้วย Bridging API ซึ่งมีความสำคัญเป็นอย่างยิ่งสำหรับแอปในอุปกรณ์ที่ใช้ Wear OS 5 ขึ้นไป เนื่องจาก การแจ้งเตือนบางอย่างที่ปิดได้ในอุปกรณ์เคลื่อนที่จะปิดไม่ได้ในอุปกรณ์ Wear OS อ่านข้อมูลเพิ่มเติมได้ที่ตัวเลือกการเชื่อมต่อสำหรับการแจ้งเตือน

เพิ่มฟีเจอร์เฉพาะสำหรับอุปกรณ์ที่สวมใส่ได้ในการแจ้งเตือน

หากต้องการเพิ่มฟีเจอร์เฉพาะอุปกรณ์ที่สวมใส่ได้ลงในการแจ้งเตือน เช่น ซ่อน ไอคอนแอปจากการแจ้งเตือนของอุปกรณ์ที่สวมใส่ได้ หรืออนุญาตให้ผู้ใช้ป้อนข้อความตอบกลับ ด้วยเสียง คุณสามารถใช้คลาส NotificationCompat.WearableExtender เพื่อระบุตัวเลือกได้ หากต้องการใช้ API นี้ ให้ทำดังนี้

  1. สร้างอินสแตนซ์ของ WearableExtender โดยตั้งค่าตัวเลือกเฉพาะอุปกรณ์สวมใส่สำหรับการแจ้งเตือน
  2. สร้างอินสแตนซ์ของ NotificationCompat.Builder โดยตั้งค่าพร็อพเพอร์ตี้ที่ต้องการสำหรับ การแจ้งเตือนตามที่อธิบายไว้ก่อนหน้านี้ในคู่มือนี้
  3. โทร extend() ในการแจ้งเตือนและส่ง WearableExtender ซึ่งจะใช้ตัวเลือกของอุปกรณ์สวมใส่กับการแจ้งเตือน
  4. Call build() เพื่อสร้างการแจ้งเตือน

หมายเหตุ: หากคุณใช้ NotificationManager ของเฟรมเวิร์ก ฟีเจอร์บางอย่างจาก NotificationCompat.WearableExtender จะไม่ทำงาน ดังนั้นโปรดใช้ NotificationCompat

คุณสามารถซิงค์การปิดหรือการยกเลิกการแจ้งเตือนในอุปกรณ์ของผู้ใช้ หากต้องการ ซิงค์การปิด ให้ใช้วิธี setDismissalId() สำหรับการแจ้งเตือนแต่ละรายการ ให้ส่งรหัสที่ไม่ซ้ำกันทั่วโลก เป็นสตริงเมื่อเรียกใช้ setDismissalId() เมื่อปิดการแจ้งเตือนแล้ว การแจ้งเตือนอื่นๆ ทั้งหมดที่มีรหัสการปิดเดียวกันจะถูกปิดบนนาฬิกาและโทรศัพท์คู่กัน หากต้องการเรียกข้อมูลรหัสการปฏิเสธ ให้ใช้ getDismissalId()

ระบุการดำเนินการสำหรับอุปกรณ์ที่สวมใส่ได้เท่านั้น

หากต้องการให้มีการดำเนินการที่แตกต่างกันในนาฬิกาและโทรศัพท์ ให้ใช้ WearableExtender.addAction() เมื่อเพิ่มการดำเนินการด้วยวิธีนี้ อุปกรณ์ที่สวมใส่ได้จะไม่แสดงการดำเนินการอื่นๆ ที่เพิ่มด้วย NotificationCompat.Builder.addAction() การดำเนินการที่เพิ่มด้วย WearableExtender.addAction() จะปรากฏในอุปกรณ์ที่สวมใส่ได้เท่านั้น ไม่ปรากฏ ในโทรศัพท์

เปิดแอปโทรศัพท์จากอุปกรณ์ที่สวมใส่ได้

หากใช้การแจ้งเตือนที่เชื่อมต่อไว้ การแจ้งเตือนใดๆ จะมีปุ่มเปิดแอปในโทรศัพท์โดยอัตโนมัติ อย่างไรก็ตาม หากคุณใช้การแจ้งเตือนในเครื่องที่สร้างบนนาฬิกา ให้ทำตามขั้นตอนต่อไปนี้เพื่อสร้างปุ่มที่เปิดแอปในโทรศัพท์

  1. สร้าง Activity ใหม่ที่ขยาย ConfirmationActivity
  2. ใช้ RemoteActivityHelper ใน Activity ใหม่เพื่อเปิดแอปโทรศัพท์
  3. เมื่อสร้าง Intent เพื่อเปิด Activity จากการแจ้งเตือน ให้ตั้งค่า EXTRA_ANIMATION_TYPE เพิ่มเติมเป็น OPEN_ON_PHONE_ANIMATION
แนวทางนี้จะแนะนำให้ผู้ใช้โต้ตอบบนโทรศัพท์และเป็นไปตาม ข้อกำหนดของแพลตฟอร์มสำหรับการเปิดใช้กระบวนการทำงานเบื้องหลัง

หมายเหตุ: คุณไม่สามารถใช้ BroadcastReceiver เป็นเป้าหมาย ของการดำเนินการแจ้งเตือนได้