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

การ์ดการแจ้งเตือนที่โปรโมตมีลักษณะต่อไปนี้
- ขยายโดยค่าเริ่มต้น
- ยุบไม่ได้
การแจ้งเตือนต้องเป็นไปตามข้อกำหนดต่อไปนี้จึงจะมีสิทธิ์เป็นข้อมูลอัปเดตแบบสด
- ต้องเป็นแบบมาตรฐาน/ไม่มีสไตล์
BigTextStyle
,CallStyle
หรือProgressStyle
- ต้องขอสิทธิ์ที่ไม่ใช่รันไทม์ต่อไปนี้ในไฟล์ AndroidManifest
android.permission.POST_PROMOTED_NOTIFICATIONS
- ต้องขอรับโปรโมชันโดยใช้
EXTRA_REQUEST_PROMOTED_ONGOING
หรือNotificationCompat.Builder#requestPromotedOngoing
- ต้องเป็น
ongoing
(ตั้งค่าFLAG_ONGOING_EVENT
) - ต้องมีชุด
contentTitle
- ต้องไม่มีการตั้งค่า
customContentView
(ไม่มีRemoteViews
) - ต้องไม่ใช่ข้อมูลสรุปของกลุ่มที่ใช้
setGroupSummary
- ต้องไม่
setColorized
ถึงTRUE
- ช่องทางการแจ้งเตือนต้องไม่มี
IMPORTANCE_MIN
ลักษณะของโปรโมชัน
API ต่อไปนี้จะช่วยคุณพิจารณาว่าระบบจะโปรโมตการแจ้งเตือนหรือไม่
Notification.FLAG_PROMOTED_ONGOING
ระบุว่ามีการโปรโมตการแจ้งเตือนหรือไม่Notification.hasPromotableCharacteristics()
ตรวจสอบว่าระบบ สามารถโปรโมตการแจ้งเตือนได้หรือไม่ วิธีนี้จะไม่พิจารณาว่าผู้ใช้ ปิดใช้การอัปเดตแบบเรียลไทม์สำหรับแอปในการตั้งค่าหรือไม่NotificationManager.canPostPromotedNotifications()
ตรวจสอบว่าแอปของคุณ โพสต์การแจ้งเตือนที่ได้รับการโปรโมตได้หรือไม่ เช่น หากผู้ใช้เปิดหรือ ปิดใช้ในการตั้งค่าSettings.ACTION_MANAGE_APP_PROMOTED_NOTIFICATIONS
คือการดำเนินการตาม Intent ที่อนุญาตให้แอปส่งผู้ใช้ไปยังการตั้งค่าเพื่อเปิดใช้ฟีเจอร์นี้
เกณฑ์การใช้งาน
ใช้การอัปเดตแบบเรียลไทม์สำหรับกิจกรรมที่กำลังดำเนินอยู่ ซึ่งผู้ใช้เป็นผู้เริ่มและมีความไวต่อเวลา
ดำเนินอยู่
การอัปเดตสดต้องแสดงถึงกิจกรรมที่กำลังดำเนินการอยู่ โดยมี จุดเริ่มต้นและจุดสิ้นสุดที่ชัดเจน หากกิจกรรมเกิดขึ้นในอดีต อย่าใช้ Live Update แต่ให้ใช้การแจ้งเตือนมาตรฐานแทน ซึ่งรวมถึงกิจกรรมที่ยังไม่เริ่มด้วย แม้ว่ากิจกรรมที่กำลังจะเริ่มจะใช้การอัปเดตสดได้ก็ตาม
ข้อมูลอัปเดตแบบเรียลไทม์แสดงกิจกรรมที่กำลังดำเนินอยู่ อย่าใช้การอัปเดตแบบเรียลไทม์เพื่อเสนอ การเข้าถึงฟังก์ชันการทำงานของแอปที่รวดเร็วขึ้น หากต้องการทำเช่นนี้ ให้ใช้วิดเจ็ตแอป หรือการ์ดการตั้งค่าด่วนที่กำหนดเอง
- การใช้งานที่เหมาะสม: การนำทางที่ใช้งานอยู่ การโทรที่กำลังดำเนินการ การติดตามการแชร์รถที่ใช้งานอยู่ และการติดตามการนำส่งอาหารที่ใช้งานอยู่
- การใช้งานที่ไม่เหมาะสม: โฆษณา โปรโมชัน ข้อความแชท การแจ้งเตือน กิจกรรมในปฏิทินที่กำลังจะมาถึง และการเข้าถึงฟีเจอร์แอปอย่างรวดเร็ว
เริ่มโดยผู้ใช้
การอัปเดตแบบเรียลไทม์ส่วนใหญ่ควรแสดงกิจกรรมที่ผู้ใช้เรียกใช้โดยชัดแจ้ง เช่น การเริ่มออกกำลังกาย การเริ่มการนำทางขณะขับรถ หรือการเรียกรถร่วมเดินทาง อย่าแสดงข้อมูลแวดล้อม เช่น ข้อมูลเกี่ยวกับสภาพแวดล้อม ความสนใจ หรือกิจกรรมที่กำลังจะมาถึงของผู้ใช้ ในการอัปเดตแบบสด ไม่อนุญาต ให้กิจกรรมที่บุคคลอื่นเป็นผู้ทริกเกอร์สร้างการอัปเดตแบบสด
บางครั้งผู้ใช้อาจดำเนินการที่เริ่มต้นกิจกรรมในอนาคต เช่น หากผู้ใช้ซื้อตั๋วเครื่องบินหรือ คอนเสิร์ต ลงชื่อสมัครเข้าร่วมการแข่งขัน หรือระบุการเข้าร่วม กิจกรรมที่ต้องดำเนินการภายในระยะเวลาที่กำหนดในอนาคต ในกรณีเช่นนี้ การแสดงการอัปเดตสดโดยอัตโนมัติเมื่อกิจกรรมที่กำหนดเวลาไว้เริ่มขึ้นอาจเป็นเรื่องที่เหมาะสม อย่างไรก็ตาม แอป ต้องปรับทริกเกอร์ให้ปรากฏเฉพาะเมื่อกิจกรรมกำลังจะเกิดขึ้น หากผู้ใช้ระบุอย่างชัดเจนว่าต้องการเริ่มติดตามกิจกรรมในเบื้องหลัง เช่น การแข่งขันกีฬา คุณจะเริ่มโพสต์การอัปเดตสดสำหรับกิจกรรมนั้นได้ อย่างไรก็ตาม คุณควรใส่การดำเนินการเลิกปักหมุดในการแจ้งเตือนที่เกี่ยวข้องด้วย
มีความละเอียดอ่อนด้านเวลา
แสดงข้อมูลอัปเดตแบบเรียลไทม์เฉพาะในกรณีที่ต้องให้ผู้ใช้สนใจตลอดกิจกรรม กรณีการใช้งานที่สำคัญสำหรับการอัปเดตสดคือการตรวจสอบ เมื่อผู้ใช้ได้รับ ประโยชน์อย่างมากจากการดูการอัปเดตสดเพื่อติดตาม สถานะที่เปลี่ยนแปลงไปของกิจกรรม
โดยปกติแล้วการอัปเดตแบบเรียลไทม์จะเหมาะสำหรับกิจกรรมที่เปลี่ยนจากการอัปเดตแบบเรียลไทม์เป็นการแจ้งเตือนปกติ ตัวอย่างเช่น การแสดงการแจ้งเตือนบัตรขึ้นเครื่อง เป็นเวลาหลายชั่วโมงก่อนที่ผู้ใช้จะขึ้นเครื่องเป็นเรื่องที่เหมาะสม แต่ การแจ้งเตือนควรกลายเป็นการอัปเดตแบบเรียลไทม์เฉพาะเมื่อผู้ใช้มีความจำเป็นเร่งด่วน เช่น เมื่อผู้ใช้มาถึงสนามบินหรือสถานที่จัดงาน หรือเมื่อเริ่มขึ้นเครื่อง แล้ว ในทางตรงกันข้าม การอัปเดตแบบเรียลไทม์ไม่เหมาะสําหรับการติดตามแพ็กเกจเนื่องจากผู้ใช้ไม่จําเป็นต้องตรวจสอบอยู่ตลอดเวลา
ชิปสถานะ
ชิปสถานะช่วยให้ผู้ใช้ติดตามข้อมูลอัปเดตแบบเรียลไทม์ได้เมื่อการแจ้งเตือน
ไม่อยู่ในมุมมอง ใช้ setShortCriticalText
หรือ setWhen
เพื่อสื่อถึง
ข้อมูลสถานะที่สำคัญเกี่ยวกับการแจ้งเตือนที่เน้นความคืบหน้า

Notification.Builder#setSmallIcon

Notification.Builder#setShortCriticalText
เพื่อแสดงเวลาที่แน่นอน
Notification.Builder#setShortCriticalText
เพื่อสื่อสารข้อมูลสำคัญเมื่อเวลา
เวลา "เมื่อ" จะทริกเกอร์การนับถอยหลังสำหรับอายุของการแจ้งเตือน เว้นแต่ จะมีการปิดหรืออัปเดตการแจ้งเตือน
- หากเวลา "เมื่อ" อยู่ในอนาคตอย่างน้อย 2 นาที เช่น หากเวลาปัจจุบันคือ 10:05 น. และตั้งเวลา "เมื่อ" เป็น 10:10 น. ชิปจะแสดงว่า "5 นาที"
- หากเวลา "เมื่อ" ย้อนหลังไปมากกว่า 1 นาที ระบบจะไม่แสดงการแจ้งเตือน
- ใช้
setShowWhen
เพื่อFALSE
หากไม่ต้องการให้การแจ้งเตือนที่แสดงใน เฉดสีมีเวลา
ลักษณะของชิปสถานะ
ชิปสถานะจะมีไอคอนเสมอ และอาจมีข้อความด้วย ชิป มีความกว้างสูงสุด 96dp แสดงข้อความตามเกณฑ์ต่อไปนี้
- หากมีอักขระน้อยกว่า 7 ตัว ให้แสดงข้อความทั้งหมด
- หากข้อความแสดงไม่ถึงครึ่ง ให้แสดงเฉพาะไอคอน
- หากข้อความจะแสดงมากกว่าครึ่ง ให้แสดงข้อความให้มากที่สุด
การปิด
ผู้ใช้ควบคุมระดับการมองเห็นการแจ้งเตือนได้ในแผงการแจ้งเตือน การโพสต์ข้อมูลอัปเดตแบบเรียลไทม์ที่ไม่ต้องการอาจทำให้ผู้ใช้เพิกถอนสิทธิ์การโพสต์ของแอป
หากต้องการป้องกันไม่ให้ผู้ใช้ปิดใช้ข้อมูลอัปเดตแบบเรียลไทม์โดยสมบูรณ์ ให้หลีกเลี่ยงการโพสต์ข้อมูลอัปเดต
ที่ผู้ใช้อาจปิด อย่าโพสต์ข้อมูลอัปเดตแบบเรียลไทม์ที่ผู้ใช้ปิดไปแล้วซ้ำ ใช้
setDeleteIntent
เพื่อตรวจหาการอัปเดตที่ถูกปิด
ดูแอปตัวอย่างเพื่อทดลองใช้ API เหล่านี้