การแจ้งเตือนจะให้ข้อมูลสั้นๆ ที่ทันท่วงทีเกี่ยวกับเหตุการณ์จากแอปของคุณแก่คนขับขณะที่ไม่ได้ใช้งานแอป การแจ้งเตือนจะปรากฏในศูนย์การแจ้งเตือน และการแจ้งเตือนบางรายการจะปรากฏเป็นการแจ้งเตือนแบบลอยบนจอแสดงผลด้วย หากต้องการสร้างการแจ้งเตือนสำหรับ
Android Automotive OS คุณต้องใช้
NotificationBuilder API เดียวกัน
กับที่ใช้สำหรับอุปกรณ์อื่นๆ อย่างไรก็ตาม เมธอดและคลาส API บางรายการจะถูกจำกัดหรือทำงานแตกต่างออกไปเพื่อช่วยให้มั่นใจในความปลอดภัยของผู้ขับขี่และลดสิ่งรบกวน
ความแตกต่างของการแจ้งเตือนในรถยนต์
เพื่อสร้างสภาพแวดล้อมการขับขี่ที่ปลอดภัยและปราศจากสิ่งรบกวน การแจ้งเตือนใน Android Automotive OS จึงแตกต่างจากการแจ้งเตือนในอุปกรณ์อื่นๆ ดังนี้
- การโต้ตอบกับผู้ใช้ที่ง่ายขึ้น
 - ข้อจำกัด UX ตามสถานะไดรฟ์
 
การโต้ตอบกับผู้ใช้ที่ง่ายขึ้น
การแจ้งเตือนในรถยนต์มี รูปแบบการโต้ตอบกับผู้ใช้ที่เรียบง่ายพร้อมฟีเจอร์ต่อไปนี้ เพื่อช่วยให้มั่นใจว่าผู้ขับจะสามารถมุ่งความสนใจไปที่ท้องถนนได้
- ไม่มีการควบคุมที่ซับซ้อน
 - การแจ้งเตือนไม่อนุญาตให้ใช้การควบคุมที่ซับซ้อน เช่น การแตะเพื่อขยายการแจ้งเตือน การกดการแจ้งเตือนค้างไว้เพื่อดูตัวเลือกเพิ่มเติม หรือการใช้การควบคุมตามท่าทางสัมผัสแบบปัด
 - เสียงการแจ้งเตือน
 - การแจ้งเตือนจะเล่นเสียงเฉพาะในกรณีที่ทริกเกอร์การแจ้งเตือนล่วงหน้าเท่านั้น
 Android Automotive OS จะเพิ่มปุ่มเล่นและปิดเสียงโดยอัตโนมัติ ในการแจ้งเตือนการรับส่งข้อความที่ใช้ได้กับรถยนต์ทั้งหมด
- เล่น: อ่านการแจ้งเตือนให้ผู้ขับฟังโดยใช้ผู้ช่วยดิจิทัลเริ่มต้นของ ผู้ใช้ เช่น Google Assistant หรือระบบแปลงข้อความเป็นคำพูดเริ่มต้นของ รถ
 ปิดเสียง: ป้องกันไม่ให้การแจ้งเตือนแบบผุดขึ้นปรากฏสำหรับข้อความในอนาคตในการสนทนาที่เหลือของการเดินทาง การแจ้งเตือน ข้อความจากการสนทนาที่ปิดเสียงไว้จะยังคงปรากฏในศูนย์ การแจ้งเตือน และคนขับยังสามารถเปิดเสียงการสนทนาจากศูนย์ การแจ้งเตือนได้ด้วย
- ตัวเลือกการแสดงการแจ้งเตือนที่ง่ายขึ้น
 RemoteViewsและมุมมองเนื้อหาที่กําหนดเอง นอกจากนี้ ระบบยังไม่รองรับรูปแบบการแจ้งเตือนต่อไปนี้BigPictureStyleBigTextStyleInboxStyleProgressStyle
หากแอปส่งการแจ้งเตือนไปยัง Android Automotive OS โดยใช้รูปแบบการแจ้งเตือนใดรูปแบบหนึ่งต่อไปนี้ ระบบจะแสดงเฉพาะข้อความสรุป
- การจัดการช่องทางการแจ้งเตือนที่ง่ายขึ้น
 Android Automotive OS ไม่รองรับแชแนลการแจ้งเตือนและ 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รายการเดียว
- ตั้งค่าการดำเนินการเชิงความหมายเป็น 
 
ศูนย์การแจ้งเตือน
การแจ้งเตือนเกือบทั้งหมดจะปรากฏในศูนย์การแจ้งเตือน แม้ว่าการแจ้งเตือนเหล่านั้นจะทริกเกอร์เป็นการแจ้งเตือนแบบผุดขึ้นด้วยก็ตาม การแจ้งเตือน จะยังคงอยู่ในศูนย์การแจ้งเตือนตลอดระยะเวลาการเดินทาง
คนขับสามารถโต้ตอบกับการแจ้งเตือนในศูนย์การแจ้งเตือนได้ คนขับจะเข้าถึงศูนย์การแจ้งเตือนได้ด้วยวิธีใดวิธีหนึ่งหรือทั้ง 2 วิธีต่อไปนี้ ทั้งนี้ขึ้นอยู่กับผู้ผลิตรถยนต์
- ปัดลงจากด้านบนของหน้าจอ คล้ายกับลิ้นชักการแจ้งเตือน ในอุปกรณ์อื่นๆ
 - การแตะปุ่มในอินเทอร์เฟซระบบ
 
การแจ้งเตือนแบบจัดกลุ่ม
การแจ้งเตือนที่เกี่ยวข้อง
จะจัดกลุ่มโดยอัตโนมัติในศูนย์การแจ้งเตือน
เช่นเดียวกับในลิ้นชักการแจ้งเตือนในอุปกรณ์อื่นๆ อย่างไรก็ตาม เมื่อคนขับแตะสรุปของกลุ่มในศูนย์การแจ้งเตือน ระบบจะขยายกลุ่มเพื่อแสดงการแจ้งเตือนทั้งหมดแทนที่จะเปิดPendingIntent
การแจ้งเตือนที่ไม่ปรากฏในศูนย์การแจ้งเตือน
การแจ้งเตือนต่อไปนี้จะไม่ปรากฏในศูนย์การแจ้งเตือน
Media playbackการแจ้งเตือน Android Automotive OS จะรวบรวมข้อมูลเกี่ยวกับการเล่นสื่อที่กำลังดำเนินการอยู่และแสดงในตำแหน่งเฉพาะในอินเทอร์เฟซผู้ใช้ โปรดทราบว่าต้องเรียกใช้setMediaSessionพร้อมโทเค็นที่ไม่ใช่ค่าว่างเพื่อให้ระบบ จดจำการแจ้งเตือนเป็นการเล่นสื่อ- การแจ้งเตือนการนำทางแบบเลี้ยวต่อเลี้ยวสำหรับ
CATEGORY_NAVIGATION - การแจ้งเตือนบริการที่ทำงานอยู่เบื้องหน้าสำหรับแอปที่มีสิทธิ์ของระบบและแอปที่
ลงชื่อด้วยคีย์แพลตฟอร์มซึ่งมีระดับความสำคัญต่ำกว่า
IMPORTANCE_DEFAULT 
การแจ้งเตือนล่วงหน้า
การแจ้งเตือนล่วงหน้าจะปรากฏเป็นการ์ดการแจ้งเตือนที่ด้านบนของหน้าจอ เนื่องจากการแจ้งเตือนล่วงหน้าจะดึงดูดความสนใจของผู้ขับขี่ ให้ทริกเกอร์การแจ้งเตือนล่วงหน้าเมื่อข้อมูลมีความสำคัญต่อการขับขี่ มีความเร่งด่วน และสามารถนำไปใช้ได้เท่านั้น เฉพาะการแจ้งเตือนบางหมวดหมู่เท่านั้นที่ ทริกเกอร์การแจ้งเตือนแบบลอยได้
ผู้ผลิตรถยนต์สามารถตัดสินใจได้ว่าจะอนุญาตให้การแจ้งเตือนล่วงหน้าปรากฏขณะที่ศูนย์การแจ้งเตือนเปิดอยู่หรือไม่
วิธีที่แอปทริกเกอร์การแจ้งเตือนล่วงหน้า
แอปมีข้อกำหนดที่แตกต่างกันในการทริกเกอร์การแจ้งเตือนแบบผุดขึ้น ขึ้นอยู่กับว่าแอปมีสิทธิ์ของระบบหรือไม่
- แอปที่มีสิทธิ์ของระบบและแอปที่ลงนามด้วยคีย์แพลตฟอร์ม
 - แอปสามารถทริกเกอร์การแจ้งเตือนล่วงหน้าได้โดยตั้งค่าความสำคัญของช่องการแจ้งเตือนเป็น 
IMPORTANCE_HIGHหรือสูงกว่า - แอปอื่นๆ ทั้งหมด
 แอปสามารถทริกเกอร์การแจ้งเตือนล่วงหน้าได้โดยตั้งค่าความสำคัญของแชแนลการแจ้งเตือนเป็น
IMPORTANCE_HIGHหรือสูงกว่า และตรวจสอบว่าการแจ้งเตือนอยู่ในหมวดหมู่ใดหมวดหมู่หนึ่งต่อไปนี้
อายุการใช้งานของการแจ้งเตือนล่วงหน้า
หลังจากที่แอปทริกเกอร์การแจ้งเตือนล่วงหน้า การแจ้งเตือนจะปรากฏขึ้นบนหน้าจอของรถทันที หากผู้ขับไม่ดำเนินการใดๆ การแจ้งเตือนแบบป็อปอัปจะปิดโดยอัตโนมัติหลังจากผ่านไป 8 วินาที ยกเว้นในกรณีต่อไปนี้
การแจ้งเตือนล่วงหน้าสำหรับสายเรียกเข้าบางสายจะปิดไม่ได้ และ การแจ้งเตือนล่วงหน้าจะยังคงอยู่จนกว่าผู้ขับจะรับสายหรือ สายจะสิ้นสุด การแจ้งเตือนต้องเป็นไปตามข้อกำหนดต่อไปนี้จึงจะมีสิทธิ์เป็นข้อความแจ้งเตือนที่ปิดไม่ได้สำหรับสายเรียกเข้า
- เป็นของ
CATEGORY_CALL - ตั้งค่า Intent แบบเต็มหน้าจอ
 - ทำเครื่องหมายว่ากำลังดำเนินการโดยใช้วิธี 
setOngoing() 
- เป็นของ
 การแจ้งเตือนล่วงหน้าจะยังคงอยู่หากแอป อัปเดตการแจ้งเตือน ภายในกรอบเวลา 8 วินาที
เมื่อปิดการแจ้งเตือนแบบลอย การแจ้งเตือนจะปรากฏในศูนย์การแจ้งเตือน ยกเว้นการแจ้งเตือน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 | 
    ไม่มีการดำเนินการ | ระบบไม่รองรับฟีเจอร์ช่วยตอบ |