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

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

Notification.Builder#setSmallIcon

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