การแจ้งเตือนจะให้ข้อมูลสั้นๆ เกี่ยวกับเหตุการณ์จากแอปของคุณในขณะที่ไม่ได้ใช้งานแก่ผู้ขับขี่ การแจ้งเตือนอาจปรากฏในศูนย์การแจ้งเตือน และการแจ้งเตือนบางอย่างอาจปรากฏเป็นการแจ้งเตือนแบบข้อความแจ้งเตือนบนจอแสดงผลด้วย หากต้องการสร้างการแจ้งเตือนสำหรับ Android Automotive OS คุณจะใช้ NotificationBuilder
API เดียวกันกับที่ใช้สำหรับอุปกรณ์อื่นๆ อย่างไรก็ตาม เมธอดและคลาส API บางรายการจะได้รับการจำกัดหรือทำงานต่างจากปกติเพื่อช่วยดูแลความปลอดภัยของผู้ขับขี่และลดสิ่งรบกวน
ความแตกต่างของการแจ้งเตือนในรถยนต์
การแจ้งเตือนใน Android Automotive OS จะแตกต่างจากการแจ้งเตือนในอุปกรณ์อื่นๆ ดังนี้ เพื่อให้ได้สภาพแวดล้อมการขับขี่ที่ปลอดภัยและปราศจากการรบกวน
- การโต้ตอบของผู้ใช้ที่ง่ายขึ้น
- ข้อจำกัด UX ตามสถานะของไดรฟ์
การโต้ตอบของผู้ใช้ที่ง่ายขึ้น
การแจ้งเตือนในรถมีรูปแบบการโต้ตอบกับผู้ใช้ที่เรียบง่ายพร้อมฟีเจอร์ต่อไปนี้เพื่อช่วยให้ผู้ขับขี่จดจ่อกับถนนได้
- ไม่มีการควบคุมที่ซับซ้อน
- การแจ้งเตือนไม่อนุญาตให้ใช้การควบคุมที่ซับซ้อน เช่น การแตะเพื่อขยายการแจ้งเตือน การกดการแจ้งเตือนค้างไว้เพื่อดูตัวเลือกเพิ่มเติม หรือการใช้การควบคุมตามท่าทางสัมผัสด้วยการปัด
- เสียงการแจ้งเตือน
- การแจ้งเตือนจะเล่นเสียงก็ต่อเมื่อมีการแจ้งเตือนล่วงหน้าเท่านั้น
Android Automotive OS จะเพิ่มปุ่มเล่นและปิดเสียงโดยอัตโนมัติในการแจ้งเตือนการรับส่งข้อความที่เข้ากันได้กับรถยนต์ทั้งหมด
- เล่น: อ่านการแจ้งเตือนให้ผู้โดยสารฟังโดยใช้ผู้ช่วยดิจิทัลเริ่มต้นของผู้ใช้ เช่น Google Assistant หรือระบบการอ่านออกเสียงข้อความเริ่มต้นของรถ
ปิดเสียง: ป้องกันไม่ให้มีการแจ้งเตือนแบบแจ้งเตือนล่วงหน้าสำหรับข้อความในอนาคตในการสนทนาจนกว่าจะสิ้นสุดการเดินทาง การแจ้งเตือนข้อความจากการสนทนาที่ปิดเสียงไว้จะยังคงปรากฏในศูนย์การแจ้งเตือน และคนขับสามารถเลิกปิดเสียงการสนทนาจากศูนย์การแจ้งเตือนได้ด้วย
- ตัวเลือกการแสดงการแจ้งเตือนแบบง่าย
RemoteViews
และข้อมูลพร็อพเพอร์ตี้เนื้อหาที่กำหนดเอง นอกจากนี้ ระบบยังไม่รองรับรูปแบบการแจ้งเตือนต่อไปนี้BigPictureStyle
BigTextStyle
InboxStyle
หากแอปส่งการแจ้งเตือนไปยัง Android Automotive OS โดยใช้รูปแบบการแจ้งเตือนรูปแบบใดรูปแบบหนึ่งเหล่านี้ ระบบจะแสดงเฉพาะข้อความสรุป
- การจัดการช่องทางการแจ้งเตือนที่ง่ายขึ้น
ระบบปฏิบัติการ Android Automotive ไม่รองรับช่องทางการแจ้งเตือนและความสามารถของ UI ที่เกี่ยวข้อง เพื่อลดงานการจัดการที่ซับซ้อนในอุปกรณ์ยานยนต์
ข้อจำกัด UX ตามสถานะของไดรฟ์
Android Automotive OS มีเครื่องมือข้อจำกัด UX ผู้ผลิตรถยนต์สามารถใช้เครื่องมือนี้เพื่อจำกัดการแจ้งเตือนตามสถานะการขับขี่ของรถยนต์ได้ดังนี้
- การตัดสตริงการแจ้งเตือนให้สั้นลงตามความยาวอักขระที่เจาะจง
- การซ่อนสรุปข้อความสําหรับการแจ้งเตือน
CATEGORY_MESSAGE
- จำกัดจำนวนการแจ้งเตือนที่ศูนย์การแจ้งเตือนจะแสดงได้
ประเภททรัพยากรที่รองรับ
โดยค่าเริ่มต้น Android Automotive OS จะรองรับประเภททรัพยากรชุดย่อยแบบจำกัดซึ่งสามารถใช้สำหรับการแจ้งเตือนในอุปกรณ์อื่นๆ ชุดย่อยนี้ประกอบด้วยประเภททรัพยากรต่อไปนี้
- เนื้อหาที่ถอนออกได้
- ไอคอน
- รูปภาพ
ข้อกำหนดความเข้ากันได้สำหรับการแจ้งเตือนการรับส่งข้อความ
การแจ้งเตือนการรับส่งข้อความมีข้อกำหนดพิเศษใน Android Automotive OS เพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่สอดคล้องกันและรบกวนน้อยที่สุด
การแจ้งเตือนการรับส่งข้อความจะใช้งานร่วมกับรถยนต์ได้หากเป็นไปตามข้อกำหนดต่อไปนี้
- เนื้อหาดังกล่าวอยู่ในหมวดหมู่
CATEGORY_MESSAGE
- โดยใช้รูปแบบ
Notification.MessagingStyle
- โดยจะรวมเฉพาะข้อความที่ยังไม่ได้อ่าน
มีเครื่องหมาย "อ่านแล้ว"
Action
ที่เป็นไปตามข้อกำหนดต่อไปนี้- การกระทำตามความหมายตั้งค่าเป็น
Action.SEMANTIC_ACTION_MARK_AS_READ
Action
บ่งบอกว่าไม่แสดงอินเทอร์เฟซผู้ใช้เมื่อเรียกใช้
- การกระทำตามความหมายตั้งค่าเป็น
หากการแจ้งเตือนมีการตอบกลับ
Action
Action
จะต้องเป็นไปตามข้อกำหนดต่อไปนี้- การกระทำตามความหมายตั้งค่าเป็น
Action.SEMANTIC_ACTION_REPLY
Action
บ่งบอกว่าไม่แสดงอินเทอร์เฟซผู้ใช้เมื่อเรียกใช้Action
มีRemoteInput
รายการเดียว
- การกระทำตามความหมายตั้งค่าเป็น
ศูนย์การแจ้งเตือน
การแจ้งเตือนเกือบทั้งหมดจะปรากฏในศูนย์การแจ้งเตือน แม้ว่าการแจ้งเตือนเหล่านั้นจะได้รับการเรียกให้แสดงเป็นการแจ้งเตือนล่วงหน้าด้วยก็ตาม การแจ้งเตือนจะยังคงอยู่ในศูนย์การแจ้งเตือนตลอดระยะเวลาที่ขับรถ
ผู้ขับขี่โต้ตอบกับการแจ้งเตือนได้ในศูนย์การแจ้งเตือน ผู้ขับขี่จะเข้าถึงศูนย์การแจ้งเตือนได้ 1 หรือทั้ง 2 วิธีต่อไปนี้ โดยขึ้นอยู่กับผู้ผลิตรถยนต์
- ปัดลงจากด้านบนของหน้าจอ ซึ่งคล้ายกับลิ้นชักการแจ้งเตือนในอุปกรณ์อื่นๆ
- การแตะปุ่มในอินเทอร์เฟซของระบบ
การแจ้งเตือนแบบกลุ่ม
การแจ้งเตือนที่เกี่ยวข้องจะจัดกลุ่มไว้ในศูนย์การแจ้งเตือนโดยอัตโนมัติ เช่นเดียวกับในลิ้นชักการแจ้งเตือนของอุปกรณ์อื่นๆ อย่างไรก็ตาม เมื่อผู้ขับขี่แตะสรุปของกลุ่มในศูนย์การแจ้งเตือน แทนที่จะเปิดPendingIntent
กลุ่มจะขยายเพื่อแสดงการแจ้งเตือนทั้งหมด
การแจ้งเตือนที่ไม่ปรากฏในศูนย์การแจ้งเตือน
การแจ้งเตือนต่อไปนี้จะไม่ปรากฏในศูนย์การแจ้งเตือน
Media playback
การแจ้งเตือน Android Automotive OS จะรวบรวมข้อมูลเกี่ยวกับการเล่นสื่อที่กำลังดำเนินอยู่และแสดงในตำแหน่งเฉพาะในอินเทอร์เฟซผู้ใช้ โปรดทราบว่าต้องเรียกใช้setMediaSession
ด้วยโทเค็นที่ไม่ใช่ค่าว่างเพื่อให้ระบบจดจำการแจ้งเตือนเป็นการเล่นสื่อ- การแจ้งเตือนการนำทางแบบเลี้ยวต่อเลี้ยวสำหรับ
CATEGORY_NAVIGATION
- การแจ้งเตือนบริการที่ทำงานอยู่เบื้องหน้าสำหรับแอปที่มีสิทธิ์ระดับระบบและแอปที่ลงนามด้วยคีย์แพลตฟอร์มที่มีระดับความสำคัญต่ำกว่า
IMPORTANCE_DEFAULT
การแจ้งเตือนล่วงหน้า
การแจ้งเตือนล่วงหน้าจะปรากฏเป็นการ์ดการแจ้งเตือนที่ด้านบนของหน้าจอ เนื่องจากการแจ้งเตือนล่วงหน้าดึงดูดความสนใจของผู้ขับขี่ ให้เรียกใช้การแจ้งเตือนล่วงหน้าเฉพาะในกรณีที่ข้อมูลมีความสําคัญต่อการเดินทาง เกี่ยวข้องกับเวลา และนําไปใช้ได้จริง เฉพาะการแจ้งเตือนบางหมวดหมู่เท่านั้นที่เรียกให้แสดงการแจ้งเตือนล่วงหน้าได้
ผู้ผลิตรถยนต์จะเลือกได้ว่าจะให้การแจ้งเตือนล่วงหน้าปรากฏขึ้นขณะที่ศูนย์การแจ้งเตือนเปิดอยู่หรือไม่
วิธีที่แอปเรียกให้แสดงการแจ้งเตือนล่วงหน้า
แอปมีข้อกำหนดที่แตกต่างกันในการเรียกให้ระบบแสดงการแจ้งเตือนเพื่อแจ้งเตือนล่วงหน้า โดยขึ้นอยู่กับว่ามีสิทธิ์ระดับระบบหรือไม่
- แอปที่มีสิทธิ์ระดับระบบและแอปที่ลงชื่อด้วยคีย์แพลตฟอร์ม
- แอปสามารถเรียกให้แสดงการแจ้งเตือนล่วงหน้าได้โดยการตั้งค่าความสำคัญของแชแนลการแจ้งเตือนเป็น
IMPORTANCE_HIGH
ขึ้นไป - แอปอื่นๆ ทั้งหมด
แอปสามารถเรียกให้แสดงการแจ้งเตือนล่วงหน้าได้โดยการตั้งค่าความสำคัญของแชแนลการแจ้งเตือนเป็น
IMPORTANCE_HIGH
หรือสูงกว่า และตรวจสอบว่าการแจ้งเตือนอยู่ในหมวดหมู่ใดหมวดหมู่หนึ่งต่อไปนี้
อายุการใช้งานของการแจ้งเตือนล่วงหน้า
หลังจากแอปเรียกให้แสดงการแจ้งเตือนล่วงหน้า การแจ้งเตือนจะปรากฏขึ้นบนหน้าจอของรถทันที หากผู้ขับขี่ไม่ดำเนินการใดๆ การแจ้งเตือนเพื่อแจ้งเตือนล่วงหน้าจะปิดโดยอัตโนมัติหลังจากผ่านไป 8 วินาที ยกเว้นในกรณีต่อไปนี้
การแจ้งเตือนล่วงหน้าสำหรับสายเรียกเข้าบางสายจะปิดไม่ได้ และการแจ้งเตือนล่วงหน้าจะยังคงอยู่จนกว่าคนขับจะรับสายหรือสายสิ้นสุดลง การแจ้งเตือนต้องเป็นไปตามข้อกำหนดต่อไปนี้จึงจะถือว่าเป็นการแจ้งเตือนแบบ Heads-Up ที่ปิดไม่ได้สำหรับสายเรียกเข้า
- เป็นของ
CATEGORY_CALL
- ตั้งค่า Intent แบบเต็มหน้าจอ
- มีการทำเครื่องหมายว่าอยู่ระหว่างดำเนินการโดยใช้วิธีการ
setOngoing()
- เป็นของ
การแจ้งเตือนล่วงหน้าจะยังคงอยู่หากแอปอัปเดตการแจ้งเตือนภายในกรอบเวลา 8 วินาที
เมื่อปิดการแจ้งเตือนแบบ Heads-Up แล้ว การแจ้งเตือนจะแสดงอยู่ในศูนย์การแจ้งเตือน เว้นแต่จะเป็นการแจ้งเตือน CATEGORY_NAVIGATION
การเปลี่ยนแปลงและข้อจํากัดของ Notification API สําหรับรถยนต์
ส่วนนี้จะสรุปความแตกต่างของคลาสแต่ละคลาสที่ Notifications API ทำงานแตกต่างกันหรือมีข้อจำกัดสำหรับ Android Automotive OS
Notification.Builder
ตารางที่ 1 และ 2 อธิบายการเปลี่ยนแปลงและข้อจํากัดของ API ในคลาส Notification.Builder
ตารางที่ 1 การเปลี่ยนแปลงเมธอดสาธารณะสําหรับ Notification.Builder
เมธอดสาธารณะ | เอฟเฟ็กต์ | คำอธิบาย | ||
---|---|---|---|---|
|
ไม่มีการดำเนินการแบบมีเงื่อนไข | การแจ้งเตือน Notification.MessagingStyle ต้องเพิ่มการดำเนินการที่ระบุไว้ในข้อกำหนดด้านความเข้ากันได้ การดําเนินการเพิ่มเติมที่เพิ่มจะไม่แสดงผลเป็นปุ่มการแจ้งเตือน |
||
|
ไม่มีการดำเนินการ | RemoteViews
และระบบไม่รองรับมุมมองเนื้อหาที่กำหนดเอง |
||
|
ไม่มีการดำเนินการ | ไม่รองรับป้ายการแจ้งเตือน | ||
| ไม่มีการดำเนินการ | ไม่รองรับตัวจับเวลานับถอยหลัง | ||
setColorized() |
เปลี่ยนข้อจำกัดแล้ว |
แอปที่เซ็นชื่อโดยแพลตฟอร์ม: กําหนดค่าได้ อนุญาตโดยค่าเริ่มต้น แอปที่มีสิทธิ์ระดับระบบ: กำหนดค่าโดยแพลตฟอร์ม ไม่อนุญาตโดยค่าเริ่มต้น แอปอื่นๆ ทั้งหมด: กำหนดค่าโดยแพลตฟอร์ม ไม่อนุญาตโดยค่าเริ่มต้น |
||
setFullScreenIntent() |
ลักษณะการทำงานมีการเปลี่ยนแปลง | ไม่เปิด Intent โดยอัตโนมัติ | ||
setLargeIcon() |
ลักษณะการทำงานมีการเปลี่ยนแปลง | ไอคอนขนาดใหญ่จะแสดงทางด้านขวาของการแจ้งเตือน | ||
setLights() |
ไม่มีการดำเนินการ | อุปกรณ์ Android Automotive OS ไม่มีไฟบอกสถานะ LED | ||
setOngoing() |
ลักษณะการทำงานมีการเปลี่ยนแปลง |
ลักษณะการทํางานจะแตกต่างกันเมื่อการแจ้งเตือนทริกเกอร์การแจ้งเตือนล่วงหน้าด้วย
|
ไม่มีการดำเนินการ | ไม่รองรับโหมดส่วนตัว |
setSettingsText() |
ไม่มีการดำเนินการ | การแจ้งเตือนไม่รองรับสิ่งต่างๆ ที่พร้อมใช้งานซึ่งลิงก์กับการตั้งค่าแอป คนขับจะเข้าถึงการตั้งค่าแอปผ่านแอปแทน | ||
setTicker() |
ไม่มีการดำเนินการ | ระบบไม่รองรับข้อความทิกเกอร์ |
ตารางที่ 2 การเปลี่ยนแปลงคลาสที่ฝังสำหรับ Notification.Builder
ชั้นเรียนที่ซ้อนกัน | เอฟเฟ็กต์ | คำอธิบาย |
---|---|---|
|
ไม่ใช้ | เฉพาะข้อความสรุปเท่านั้นที่จะแสดง ระบบไม่รองรับการแจ้งเตือนแบบละเอียดสำหรับสไตล์เหล่านี้ |
Notification.BubbleMetadata |
ไม่ใช้ | ไม่รองรับฟองข้อความ |
Notification.MediaStyle |
ซ่อนอยู่ | ระบบจะซ่อนการแจ้งเตือนที่มีสไตล์นี้ Android Automotive OS จัดการการโต้ตอบกับอินเทอร์เฟซผู้ใช้สำหรับการแจ้งเตือนและการเล่นสื่อ |
Notification.MessagingStyle |
ลักษณะการทำงานมีการเปลี่ยนแปลง |
การแจ้งเตือนที่มีสไตล์นี้จะแตกต่างกันดังนี้
|
|
ไม่ใช้ | ไม่รองรับส่วนขยาย |
Notification.Action.Builder
ตารางที่ 3 อธิบายการเปลี่ยนแปลงและข้อจํากัดของ API ในคลาส Notification.Action.Builder
ตารางที่ 3 การเปลี่ยนแปลงเมธอดสาธารณะสําหรับ Notification.Action.Builder
เมธอดสาธารณะ | เอฟเฟ็กต์ | คำอธิบาย |
---|---|---|
ตัวสร้างแบบสาธารณะ | ลักษณะการทำงานมีการเปลี่ยนแปลง | ระบบจะไม่สนใจไอคอนที่ระบุไว้ในตัวสร้างแบบสาธารณะ |
addRemoteInput |
ลักษณะการทำงานมีการเปลี่ยนแปลง | ผู้ช่วยดิจิทัล เช่น Google Assistant จะแทรกคำตอบสำหรับข้อความของผู้ใช้เพื่อลดสิ่งรบกวนคนขับ ผู้ใช้พิมพ์ข้อความไม่ได้ |
setAllowGeneratedReplies |
ไม่มีการดำเนินการ | ไม่รองรับฟีเจอร์ช่วยตอบ |