Android Automotive OS เป็น Android เวอร์ชันที่เพิ่มประสิทธิภาพสำหรับการใช้งานในรถยนต์โดยต่อยอดจากแพลตฟอร์ม Android หลัก รถยนต์ที่มาพร้อมแอปและบริการของ Google จะใช้ Android Automotive OS และมาพร้อมแอปและบริการของ Google ซึ่งรวมถึง Google Play, Gemini, Google Assistant และ Google Maps
ดูข้อมูลเกี่ยวกับฮาร์ดแวร์ของ Android Automotive OS
ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อกำหนดฮาร์ดแวร์ขั้นต่ำสำหรับอุปกรณ์ Android Automotive OS ได้ในส่วน ข้อกำหนดของ Automotive ใน เอกสารนิยามความเข้ากันได้ของ Android (CDD) สำหรับ Android เวอร์ชันที่แอปของคุณ รองรับ
คัตเอาท์ดิสเพลย์
อุปกรณ์ Android Automotive OS ที่มีจอแสดงผลที่ไม่ใช่สี่เหลี่ยมผืนผ้ารองรับคัตเอาท์ดิสเพลย์เช่นเดียวกับรูปแบบของอุปกรณ์ Android อื่นๆ อย่างไรก็ตาม ขนาดและรูปร่างของคัตเอาท์ในรถยนต์อาจแตกต่างจากคัตเอาท์ในรูปแบบของอุปกรณ์อื่นๆ อย่างมาก ดูคำแนะนำโดยละเอียดได้ที่ทำงานร่วมกับระยะขอบหน้าต่างและคัตเอาท์ดิสเพลย์
เสียง
โดยทั่วไปแล้วอุปกรณ์ Android Automotive OS จะเป็นอุปกรณ์ที่มีระดับเสียงคงที่ ดูข้อมูลเพิ่มเติม เกี่ยวกับวิธีที่การตั้งค่านี้อาจส่งผลต่อแอปของคุณได้ที่ การทำงานกับอุปกรณ์ที่มีระดับเสียงคงที่
ทำความเข้าใจซอฟต์แวร์ของ Android Automotive OS
แม้ว่า Android Automotive OS จะใช้ระบบปฏิบัติการหลักแบบเดียวกับที่ใช้ในรูปแบบของอุปกรณ์อื่นๆ แต่ก็มีฟีเจอร์เพิ่มเติมบางอย่างที่เป็นเอกลักษณ์ ซึ่งอาจส่งผลต่อวิธีที่สามารถพัฒนาและใช้แอปได้
UI ของระบบ
คุณควรทราบถึงความแตกต่างบางประการในการทำงานขององค์ประกอบ UI ของระบบเหล่านี้ในรถยนต์
การนำทาง
อุปกรณ์ Android Automotive OS ไม่จำเป็นต้องมีฟังก์ชันย้อนกลับของฮาร์ดแวร์หรือซอฟต์แวร์ ซึ่งแตกต่างจากรูปแบบของอุปกรณ์อื่นๆ เมื่อไม่ได้เรียกใช้ใน
โหมดความเข้ากันได้ กิจกรรมที่แอปของคุณใช้ควรมีฟังก์ชัน UI
เพื่อเปิดใช้การนำทางในแอปให้เป็นไปตามAN-1หลักเกณฑ์ด้านคุณภาพ
เลย์เอาต์แถบระบบ
Android Automotive OS มี แถบระบบ เช่น แถบสถานะและแถบการนำทาง เช่นเดียวกับรูปแบบของอุปกรณ์อื่นๆ ในรถยนต์ แถบเหล่านี้อาจมีขนาดและตำแหน่งแตกต่างจากในรูปแบบของอุปกรณ์อื่นๆ เช่น แถบการนำทางอาจอยู่ที่ด้านซ้าย ด้านขวา หรือด้านล่างของหน้าจอ แม้ว่าจะมีแถบสถานะอยู่ด้านบนและแถบการนำทางอยู่ด้านล่าง (เช่นเดียวกับโทรศัพท์และแท็บเล็ตส่วนใหญ่) ขนาดขององค์ประกอบเหล่านี้ในรถยนต์ก็มีแนวโน้มที่จะใหญ่กว่ามาก
นอกจากนี้ แม้ว่าโดยทั่วไปแล้วคัตเอาท์ดิสเพลย์ในอุปกรณ์เคลื่อนที่จะอยู่ในขอบเขตของแถบระบบ แต่ในรถยนต์จะไม่เป็นเช่นนั้น
ดูคำแนะนำโดยละเอียดได้ที่ทำงานร่วมกับระยะขอบหน้าต่างและคัตเอาท์ดิสเพลย์
โหมดใหญ่พิเศษ
Android Automotive OS อนุญาตให้ OEM ควบคุมได้ว่าแอปจะแสดงหรือ ซ่อนแถบระบบเพื่อเข้าสู่และออกจากโหมดใหญ่พิเศษได้หรือไม่ การป้องกันไม่ให้แอปซ่อนแถบระบบช่วยให้ OEM มั่นใจได้ว่าการควบคุมรถยนต์ เช่น การควบคุมสภาพอากาศ จะเข้าถึงได้บนหน้าจอเสมอ
ข้อจำกัดด้านประสบการณ์ของผู้ใช้
ข้อจำกัดด้านประสบการณ์ของผู้ใช้ (UX) เป็นความสามารถที่สร้างขึ้นใน Android Automotive OS เพื่อจัดการกับข้อควรพิจารณาในการลดการเสียสมาธิของผู้ขับ ข้อจำกัดด้าน UX มีหน้าที่ป้องกันไม่ให้ใช้แอปที่ยังไม่ได้รับการเพิ่มประสิทธิภาพสำหรับการใช้งานขณะขับรถโดยอัตโนมัติ
ผู้ผลิตรถยนต์จะเป็นผู้กำหนดกฎเกี่ยวกับวิธีและเวลาที่ข้อจำกัดด้าน UX จะทำงาน กฎเหล่านี้อาจแตกต่างกันไปตามพื้นที่ เช่น รถยนต์รุ่นเดียวกันที่ขายในยุโรปอาจมีกฎแตกต่างจากรถยนต์ที่ขายในสหรัฐอเมริกา
กฎข้อจำกัดด้าน UX อาจแตกต่างกันไปตามจอแสดงผลภายในรถยนต์ด้วย เช่น จอแสดงผลตรงกลางที่อยู่ในแนวสายตาของผู้ขับอาจถูกจำกัดขณะที่รถเคลื่อนที่ ในขณะที่จอแสดงผลของผู้โดยสารยังคงไม่ถูกจำกัด
หากแอปของคุณต้องปรับให้เข้ากับข้อจำกัดด้าน UX ให้อ้างอิงข้อจำกัดเหล่านั้นโดยตรง อย่าถอดรหัสการติดตั้งใช้งาน ตัวอย่างเช่น หากคุณคิดว่าข้อจำกัดด้าน UX จะทำงานเมื่อเกียร์ไม่ได้อยู่ที่ตำแหน่งจอด คุณอาจจำกัดแอปที่ทำงานบนจอแสดงผลของผู้โดยสารโดยไม่จำเป็น
การเพิ่มประสิทธิภาพเพื่อลดการเสียสมาธิ
โดยค่าเริ่มต้น ระบบจะไม่สามารถเรียกใช้กิจกรรมขณะที่ข้อจำกัดด้าน UX ทำงานอยู่เพื่อจำกัดการเสียสมาธิของผู้ขับ หากต้องการระบุให้ระบบทราบว่าควรเรียกใช้กิจกรรมต่อไปขณะที่รถเคลื่อนที่ คุณสามารถเพิ่มองค์ประกอบ <meta-data>
ต่อไปนี้ภายในองค์ประกอบ <activity> ที่เกี่ยวข้อง
<activity ...>
<meta-data android:name="distractionOptimized" android:value="true">
</activity>
เมื่อพัฒนาแอปสำหรับ Android Automotive OS คุณควรใส่ข้อมูลเมตานี้
ในไฟล์ Manifest เฉพาะเมื่อประกาศองค์ประกอบ<activity>ของไฟล์ Manifest
สำหรับCarAppActivityของแอปที่สร้างขึ้นโดยใช้ไลบรารีแอปในรถยนต์
ไม่ควรทำเครื่องหมายกิจกรรมอื่นๆ ว่าได้รับการเพิ่มประสิทธิภาพเพื่อลดการเสียสมาธิ หากมีการทำเครื่องหมายไว้ ระบบจะปฏิเสธแอปของคุณเมื่อส่งไปยัง Google Play Store
การช่วยเหลือพิเศษ
การรองรับการช่วยเหลือพิเศษสำหรับ Android Automotive OS ไม่ครอบคลุมเท่ากับในรูปแบบของอุปกรณ์อื่นๆ TalkBack, การเข้าถึงด้วยสวิตช์ และ การเข้าถึงด้วยเสียง ไม่พร้อมใช้งานในอุปกรณ์ Android Automotive OS
อุปกรณ์ Android Automotive OS รองรับค่ากำหนดคำบรรยายแทนเสียง ดูรายละเอียดการผสานรวมได้ที่ รับการตั้งค่าคำบรรยายระบบ
การเลือกเครือข่าย
Android Automotive OS รองรับ การเลือกเครือข่ายต่อแอปพลิเคชัน (PANS), ซึ่งช่วยให้ OEM กำหนดเส้นทางการจราจรของข้อมูลในเครือข่ายมือถือไปยังเครือข่ายต่างๆ ได้ทีละแอปพลิเคชัน
แอปส่วนใหญ่ใช้เฉพาะเครือข่ายเริ่มต้นที่กำหนดให้ และจะได้รับ ประโยชน์จากฟีเจอร์นี้เท่านั้น เช่น OEM อาจชำระค่าการรับส่งข้อมูลเครือข่าย จากแอปของคุณ แม้ว่าผู้ใช้จะไม่มีแพ็กเกจอินเทอร์เน็ตของตนเองก็ตาม หากแอปของคุณ (หรือแอปใดแอปหนึ่งที่แอปของคุณต้องพึ่งพา) อาศัยเครือข่ายอื่นที่ไม่ใช่เครือข่ายเริ่มต้น แอปอาจไม่ได้รับประโยชน์จากค่ากำหนดที่ OEM ตั้งไว้ ดูคำแนะนำเพิ่มเติมเกี่ยวกับการใช้เครือข่ายอื่นที่ไม่ใช่เครือข่ายเริ่มต้นได้ที่ อ่านสถานะเครือข่าย สำหรับเพิ่มเติม
ฟีเจอร์ของระบบ
คุณสามารถตรวจหาว่าฟีเจอร์หนึ่งๆ พร้อมใช้งานหรือไม่โดยใช้
PackageManager::hasSystemFeature และปรับลักษณะการทำงานของแอป
ตามนั้น
ฟีเจอร์ของฮาร์ดแวร์
ฟีเจอร์ของฮาร์ดแวร์ที่พร้อมใช้งานในรถยนต์อาจแตกต่างจากฟีเจอร์ที่พบในอุปกรณ์เคลื่อนที่ เช่นเดียวกับรูปแบบของอุปกรณ์อื่นๆ ที่ไม่ใช่แบบเคลื่อนที่
การวางแนวหน้าจอ
รถยนต์เป็นอุปกรณ์ที่มีการวางแนวคงที่เช่นเดียวกับทีวี แต่รถยนต์มีการวางแนวทั้งแนวตั้งและแนวนอน ซึ่งแตกต่างจากทีวี เพื่อให้มั่นใจว่าแอปที่สร้างขึ้นสำหรับ Android Automotive OS สามารถเผยแพร่ไปยังรถยนต์ทุกรุ่นได้ แอปต้องตรวจสอบว่าไม่มีข้อกำหนดฟีเจอร์ที่ชัดเจนหรือโดยนัยสำหรับฟีเจอร์ android.hardware.screen.landscape หรือ android.hardware.screen.portrait
ตำแหน่งของเครือข่าย
อุปกรณ์ Android Automotive OS หลายรุ่นไม่ได้ใช้สแต็กโทรคมนาคมที่ใช้
ในการระบุตำแหน่งของเครือข่าย จึงไม่รายงานฟีเจอร์ของระบบ
android.hardware.location.network แม้ว่าตำแหน่งของเครือข่าย
อาจไม่พร้อมใช้งาน แต่ระบบยังคงรองรับการเข้าถึงตำแหน่งคร่าวๆ อยู่
โปรดดูตำแหน่งคร่าวๆ ใน Android Automotive OS
ฟีเจอร์ของซอฟต์แวร์
อุปกรณ์ Android Automotive OS อาจไม่รองรับฟีเจอร์ของซอฟต์แวร์บางอย่างที่พบได้ทั่วไปในรูปแบบของอุปกรณ์อื่นๆ เช่น ฟีเจอร์ต่อไปนี้ไม่พร้อมใช้งานในรถยนต์ Android Automotive OS หลายรุ่น
ปฏิบัติตามข้อกำหนดฟีเจอร์ของ Google Play
หากต้องการเผยแพร่ไปยังรถยนต์ผ่าน Google Play แอปที่สร้างขึ้นสำหรับ Android Automotive
OS ต้องมีองค์ประกอบ <uses-feature> ในไฟล์
AndroidManifest.xml สำหรับฟีเจอร์ android.hardware.type.automotive
ดังนี้
<manifest ...>
...
<!--
See Choose a track for Android Automotive OS
for details on how to choose which value to use for the android:required attribute.
-->
<uses-feature
android:name="android.hardware.type.automotive"
android:required="[true|false]">
...
</manifest>
นอกจากนี้ หากแอปของคุณมีการประกาศฟีเจอร์ที่ชัดเจนด้วย
android:required="true" หรือมีข้อกำหนดฟีเจอร์โดยนัยสำหรับฟีเจอร์ใดฟีเจอร์หนึ่งต่อไปนี้ คุณต้องอัปเดตหรือนำฟีเจอร์เหล่านั้นออกเพื่อให้ข้อกำหนดฟีเจอร์ของแอปไม่ขัดขวางการเผยแพร่แอปไปยังรถยนต์ที่เข้ากันได้
android.hardware.wifiandroid.hardware.screen.portraitandroid.hardware.screen.landscapeandroid.hardware.camera
สำหรับฟีเจอร์ที่ประกาศอย่างชัดเจนด้วย android:required="true" คุณสามารถทำ
อย่างใดอย่างหนึ่งต่อไปนี้
- ลบองค์ประกอบ
<uses-feature>หากฟีเจอร์นั้นไม่ได้จำเป็นโดยนัย - ประกาศฟีเจอร์อย่างชัดเจนด้วย
android:required="false"
สำหรับฟีเจอร์ที่จำเป็นโดยนัย คุณสามารถทำอย่างใดอย่างหนึ่งต่อไปนี้
- ประกาศฟีเจอร์อย่างชัดเจนด้วย
android:required="false" - นำค่าไฟล์ Manifest ที่ทำให้เกิดข้อกำหนดโดยนัยในฟีเจอร์ออกหรืออัปเดตค่าเหล่านั้น
การเปลี่ยนการประกาศฟีเจอร์ในไฟล์ Manifest จะไม่ส่งผลต่อการทำงานจริงของแอป ดังนั้นโปรดตรวจสอบว่าแอปยังคงทำงานได้อย่างถูกต้องโดยไม่มีฟีเจอร์เหล่านี้
คำถามที่พบบ่อย
รถยนต์รุ่นใดที่มาพร้อมแอปและบริการของ Google
ดูรายชื่อ OEM ที่มีรถยนต์รุ่นที่มาพร้อมแอปและบริการของ Google ได้ที่เว็บไซต์รถยนต์ที่มาพร้อมแอปและบริการของ Google คุณดูข้อกำหนดฮาร์ดแวร์และรายละเอียดอื่นๆ ของอุปกรณ์ได้โดยใช้แคตตาล็อกอุปกรณ์ของ Play Console