ภาพรวมของ Android Automotive OS

อินเทอร์เฟซผู้ใช้ของ Android Automotive OS
รูปที่ 1: ระบบปฏิบัติการ Android Automotive OS

Android Automotive OS เป็น Android เวอร์ชันที่เพิ่มประสิทธิภาพสำหรับการใช้งานในรถยนต์ ซึ่ง ต่อยอดจากแพลตฟอร์มหลักของ Android รถยนต์ที่มาพร้อมแอปและบริการของ Google จะใช้ Android Automotive OS และมาพร้อมแอปและบริการของ Google ซึ่งรวมถึง Google Play, Gemini, Google Assistant และ Google Maps

ดูข้อมูลเกี่ยวกับฮาร์ดแวร์ของ Android Automotive OS

ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อกำหนดฮาร์ดแวร์ขั้นต่ำสำหรับอุปกรณ์ Android Automotive OS ได้ที่ส่วนข้อกำหนดสำหรับยานยนต์ของเอกสารนิยามความเข้ากันได้ของ Android (CDD) สำหรับ Android เวอร์ชันที่แอปของคุณรองรับ

คัตเอาท์ดิสเพลย์

เช่นเดียวกับรูปแบบของอุปกรณ์ Android อื่นๆ อุปกรณ์ Android Automotive OS ที่มีจอแสดงผลที่ไม่ใช่สี่เหลี่ยมผืนผ้ารองรับรอยบากบนจอแสดงผล อย่างไรก็ตาม ขนาดและรูปร่าง ของช่องเจาะที่พบในรถยนต์อาจแตกต่างจากที่พบในอุปกรณ์รูปแบบอื่นๆ อย่างมาก ดูคำแนะนำโดยละเอียดได้ที่ทำงานร่วมกับขอบหน้าต่างและรอยบากบนจอแสดงผล

เสียง

โดยทั่วไปแล้ว อุปกรณ์ Android Automotive OS จะเป็นอุปกรณ์ที่มีระดับเสียงคงที่ ดูข้อมูลเพิ่มเติม เกี่ยวกับผลกระทบที่อาจมีต่อแอปได้ที่การทำงานกับอุปกรณ์ที่มีระดับเสียงคงที่

ทำความเข้าใจซอฟต์แวร์ Android Automotive OS

แม้ว่า Android Automotive OS จะใช้ระบบปฏิบัติการหลักเดียวกันกับที่อุปกรณ์รูปแบบอื่นๆ ใช้ แต่ก็มีฟีเจอร์เพิ่มเติมบางอย่างที่เฉพาะเจาะจงสำหรับระบบนี้ ซึ่งอาจส่งผลต่อวิธีพัฒนาและใช้แอป

UI ของระบบ

คุณควรทราบว่าองค์ประกอบ UI ของระบบเหล่านี้ทำงานในรถยนต์แตกต่างกันอย่างไร

อุปกรณ์ Android Automotive OS ไม่จำเป็นต้องมีฮาร์ดแวร์หรือซอฟต์แวร์ที่รองรับการย้อนกลับ ซึ่งต่างจากอุปกรณ์รูปแบบอื่นๆ เมื่อไม่ได้เรียกใช้ในโหมดความเข้ากันได้ กิจกรรมที่แอปของคุณใช้ควรมี UI affordances เพื่อเปิดใช้การนำทางในแอปให้เป็นไปตามหลักเกณฑ์ด้านคุณภาพของ AN-1

เลย์เอาต์แถบระบบ

Android Automotive OS มีแถบระบบ เช่น แถบสถานะและแถบนำทาง เช่นเดียวกับรูปแบบของอุปกรณ์อื่นๆ ในรถยนต์ แถบเหล่านี้อาจมีขนาดและ ตำแหน่งแตกต่างจากอุปกรณ์อื่นๆ เช่น แถบนำทาง อาจวางไว้ที่ด้านซ้าย ขวา หรือด้านล่างของหน้าจอ แม้ในกรณีที่ มีแถบสถานะที่ด้านบนและแถบนำทางที่ด้านล่าง (เช่นเดียวกับ โทรศัพท์และแท็บเล็ตส่วนใหญ่) ขนาดขององค์ประกอบเหล่านี้ก็มีแนวโน้มที่จะ ใหญ่กว่ามากในรถยนต์

นอกจากนี้ แม้ว่าโดยทั่วไปแล้วรอยบากบนจอแสดงผลในอุปกรณ์เคลื่อนที่จะอยู่ภายในขอบเขตของแถบระบบ แต่ในรถยนต์จะไม่เป็นเช่นนั้น

ดูคำแนะนำโดยละเอียดได้ที่ทำงานร่วมกับขอบหน้าต่างและรอยบากบนจอแสดงผล

โหมดใหญ่พิเศษ

Android Automotive OS อนุญาตให้ OEM ควบคุมได้ว่าจะให้แอปแสดงหรือซ่อนแถบระบบเพื่อเข้าและออกจากโหมดสมจริงหรือไม่ การป้องกันไม่ให้แอปซ่อนแถบระบบจะช่วยให้ OEM มั่นใจได้ว่าการควบคุมรถ เช่น การควบคุมสภาพอากาศ จะเข้าถึงได้บนหน้าจอเสมอ

ข้อจำกัดด้านประสบการณ์ของผู้ใช้

ข้อจำกัดด้านประสบการณ์ของผู้ใช้ (UX) คือความสามารถที่สร้างขึ้นใน Android Automotive OS เพื่อจัดการข้อควรพิจารณาเรื่องการรบกวนสมาธิของผู้ขับขี่ ข้อจำกัดด้าน UX มีหน้าที่ป้องกันไม่ให้ใช้แอปที่ยังไม่ได้ ปรับให้เหมาะกับการใช้งานขณะขับรถโดยอัตโนมัติ

การบล็อกกิจกรรมไม่ให้แสดงเหนือแอปที่ไม่ได้ทำเครื่องหมายว่า
    เพิ่มประสิทธิภาพเพื่อลดสิ่งรบกวน
รูปที่ 2: แอปที่ถูกบล็อกเนื่องจากข้อจำกัดด้าน 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 อาจชำระค่าการรับส่งข้อมูลเครือข่ายจากแอปของคุณแม้ว่าผู้ใช้จะไม่มีแพ็กเกจอินเทอร์เน็ตของตนเองก็ตาม หากแอป (หรือ หนึ่งในทรัพยากร Dependency) อาศัยเครือข่ายอื่นที่ไม่ใช่เครือข่ายเริ่มต้น แอปอาจไม่ได้รับประโยชน์จากค่ากำหนดที่ OEM ตั้งไว้ ดูคำแนะนำเพิ่มเติมเกี่ยวกับการใช้เครือข่ายอื่นที่ไม่ใช่เครือข่ายเริ่มต้นได้ที่อ่านสถานะเครือข่าย

ฟีเจอร์ของระบบ

คุณตรวจหาว่าฟีเจอร์หนึ่งๆ พร้อมใช้งานหรือไม่ได้โดยใช้ PackageManager::hasSystemFeature และปรับลักษณะการทำงานของแอป ตามนั้น

ฟีเจอร์ของฮาร์ดแวร์

เช่นเดียวกับอุปกรณ์อื่นๆ ที่ไม่ใช่โทรศัพท์มือถือ ฟีเจอร์ฮาร์ดแวร์ที่มีในรถยนต์ อาจแตกต่างจากฟีเจอร์ที่มีในอุปกรณ์เคลื่อนที่

การวางแนวหน้าจอ

รถยนต์เป็นอุปกรณ์ที่มีการวางแนวคงที่เช่นเดียวกับทีวี ซึ่งต่างจากทีวีตรงที่มาพร้อมทั้ง แนวตั้งและแนวนอน เพื่อให้มั่นใจว่าแอปที่สร้างขึ้นสำหรับระบบปฏิบัติการ Android Automotive จะเผยแพร่ในยานพาหนะทั้งหมดได้ แอปต้องตรวจสอบว่าไม่มีข้อกำหนดฟีเจอร์ที่ชัดเจนหรือโดยนัยสำหรับฟีเจอร์ 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:required="true" คุณจะทำอย่างใดอย่างหนึ่งต่อไปนี้ได้

  • ลบองค์ประกอบ <uses-feature> หากไม่จำเป็นต้องใช้ฟีเจอร์นี้โดยนัย
  • ประกาศฟีเจอร์อย่างชัดเจนด้วย android:required="false"

สำหรับฟีเจอร์ที่จำเป็นโดยนัย คุณสามารถทำอย่างใดอย่างหนึ่งต่อไปนี้

  • ประกาศฟีเจอร์อย่างชัดเจนด้วย android:required="false"
  • นำหรืออัปเดตค่าในไฟล์ Manifest ที่ทำให้เกิดข้อกำหนดโดยนัย ในฟีเจอร์

การเปลี่ยนประกาศฟีเจอร์ในไฟล์ Manifest จะไม่ส่งผลต่อการทำงานจริงของแอป ดังนั้นโปรดตรวจสอบว่าแอปยังคงทำงานได้อย่างถูกต้องโดยไม่มีฟีเจอร์เหล่านี้

คำถามที่พบบ่อย

รถยนต์รุ่นใดบ้างที่มาพร้อมแอปและบริการของ Google

ดูรายชื่อ OEM ที่มีรุ่นที่มาพร้อมแอปและบริการของ Google ได้ที่เว็บไซต์รถยนต์ที่มาพร้อมแอปและบริการของ Google คุณดูข้อกำหนดของฮาร์ดแวร์และรายละเอียดอื่นๆ ของอุปกรณ์ได้โดยใช้แคตตาล็อกอุปกรณ์ของ Play Console