Android Automotive OS'e genel bakış

Android Automotive OS kullanıcı arayüzü
Şekil 1: Android Automotive OS

Android Automotive OS, Android'in araç içi kullanım için optimize edilmiş bir sürümüdür ve temel Android platformunu genişletir. Google donanımlı arabalar Android Automotive OS'i çalıştırır ve Google Play, Gemini, Google Asistan ve Google Haritalar gibi Google uygulama ve hizmetleriyle birlikte gelir.

Android Automotive OS donanımı hakkında bilgi

Android Automotive OS cihazların minimum donanım özellikleri hakkında daha fazla bilgi edinmek için uygulamanızın desteklediği Android sürümleriyle ilgili Android Uyumluluk Tanımlama Belgesi (CDD)'nin Otomotiv Gereksinimleri bölümüne bakın.

Ekran kesimleri

Diğer Android form faktörlerinde olduğu gibi, Android Automotive OS cihazlarda da dikdörtgen olmayan ekranlarda ekran kesikleri desteklenir. Ancak arabalarda bulunan kesiklerin boyutu ve şekli, diğer form faktörlerinde bulunanlardan oldukça farklı olabilir. Ayrıntılı bilgi için Pencere yerleşimleri ve ekran kesikleriyle çalışma başlıklı makaleyi inceleyin.

Ses

Android Automotive OS cihazlar genellikle sabit ses seviyeli cihazlardır. Bu durumun uygulamanızı nasıl etkileyebileceği hakkında daha fazla bilgi edinmek için Sabit ses seviyeli cihazlarla çalışma başlıklı makaleyi inceleyin.

Android Automotive OS yazılımını anlama

Android Automotive OS, diğer form faktörlerinde kullanılan işletim sistemiyle aynı temel işletim sistemine dayalı olsa da uygulamaların geliştirilme ve kullanılma şeklini etkileyebilecek, bu işletim sistemine özgü bazı ek özellikler vardır.

Sistem Arayüzü

Bu sistem kullanıcı arayüzü öğelerinin, otomobillerdeki işleyiş şekliyle ilgili bilmeniz gereken bazı farklılıklar vardır.

Diğer form faktörlerinin aksine, Android Automotive OS cihazlarında donanım veya yazılım geri dönüşü özelliği bulunması gerekmez. Uyumluluk modunda çalıştırılmadığında, uygulamanız tarafından uygulanan etkinlikler, AN-1 kalite yönergesini karşılamak için uygulama içi gezinmeyi etkinleştirecek kullanıcı arayüzü olanakları içermelidir.

Sistem çubuğu düzeni

Diğer form faktörlerinde olduğu gibi Android Automotive OS'de de durum çubukları ve gezinme çubukları gibi sistem çubukları bulunur. Bu çubuklar, arabalarda diğer form faktörlerine göre farklı boyutlandırılıp konumlandırılabilir. Örneğin, gezinme çubukları ekranın solunda, sağında veya altında yer alabilir. Üstte durum çubuğu, altta gezinme çubuğu olsa bile (çoğu telefon ve tablette olduğu gibi) bu öğelerin boyutu arabalarda muhtemelen çok daha büyük olacaktır.

Ayrıca, mobil cihazlardaki ekran kesikleri genellikle sistem çubuklarının sınırları içinde yer alsa da bu durum arabalar için geçerli değildir.

Ayrıntılı bilgi için Pencere yerleşimleri ve ekran kesikleriyle çalışma başlıklı makaleyi inceleyin.

Yoğun içerik modu

Android Automotive OS, OEM'lerin uygulamaların tam ekran moduna girmek ve bu moddan çıkmak için sistem çubuklarını gösterip göstermeyeceğini kontrol etmesine olanak tanır. OEM'ler, uygulamaların sistem çubuklarını gizlemesini engelleyerek klima kontrolleri gibi araç kontrollerinin ekranda her zaman erişilebilir olmasını sağlayabilir.

Kullanıcı deneyimi kısıtlamaları

Kullanıcı deneyimi (UX) kısıtlamaları, sürücünün dikkatini dağıtma durumlarını ele almak için Android Automotive OS'e yerleştirilmiş bir özelliktir. Kullanıcı deneyimi kısıtlamaları, sürüş sırasında kullanılmak üzere optimize edilmemiş uygulamaların kullanımını otomatik olarak engeller.

Dikkat dağıtmayacak şekilde optimize edilmemiş bir uygulamanın üzerinde etkinlik engelleme etkinliği gösteriliyor.
Şekil 2: Kullanıcı deneyimi kısıtlamaları nedeniyle engellenen bir uygulama

Kullanıcı deneyimi kısıtlamalarının nasıl ve ne zaman etkin olacağını belirleyen kurallar, araç üreticileri tarafından belirlenir. Bu kurallar coğrafi bölgeye göre değişebilir. Örneğin, Avrupa'da satılan aynı araç, ABD'de satılan araçlardan farklı kurallara tabi olabilir.

Kullanıcı deneyimi kısıtlama kuralları, araç içindeki ekrana göre de değişebilir. Örneğin, araç hareket halindeyken sürücünün görüş alanındaki bir orta ekranın kısıtlanması, yolcu ekranının ise kısıtlanmaması mümkündür.

Uygulamanızın kullanıcı deneyimi kısıtlamalarına uyum sağlaması gerekiyorsa bu kısıtlamalara doğrudan referans verin. Uygulanmalarını tersine mühendislik yoluyla belirlemeye çalışmayın. Örneğin, vites Park konumunda değilken kullanıcı deneyimi kısıtlamalarının etkin olduğunu varsayarsanız yolcu ekranında çalışan bir uygulamayı gereksiz yere kısıtlayabilirsiniz.

Distraction Optimization

Varsayılan olarak, sürücünün dikkatini dağıtmayı önlemek için kullanıcı deneyimi kısıtlamaları etkin durumdayken etkinlikler çalıştırılamaz. Bir etkinliğin araç hareket halindeyken çalışmaya devam etmesi gerektiğini sisteme belirtmek için ilgili <activity> öğesine aşağıdaki <meta-data> öğesi eklenebilir.

<activity ...>
  <meta-data android:name="distractionOptimized" android:value="true">
</activity>

Android Automotive OS için uygulama geliştirirken bu meta verilerin manifest dosyanızda bulunması gereken tek zaman, Car App Library kullanılarak oluşturulan bir uygulamanın CarAppActivity için <activity> manifest öğesini bildirirken olur. Başka hiçbir etkinliğin dikkat dağıtmayacak şekilde optimize edilmiş olarak işaretlenmemesi gerekir. Aksi takdirde, uygulamanız Google Play Store'a gönderildiğinde reddedilir.

Erişilebilirlik

Android Automotive OS'te erişilebilirlik desteği, diğer form faktörlerindeki kadar kapsamlı değildir. TalkBack, Anahtar Erişimi ve Sesli Erişim, Android Automotive OS cihazlarda kullanılamaz.

Altyazı tercihleri, Android Automotive OS cihazlarda desteklenir. Entegrasyon ayrıntıları için Sistem altyazı ayarlarını kullanma başlıklı makaleyi inceleyin.

Ağ seçimi

Android Automotive OS, uygulama başına ağ seçimi (PANS) özelliğini destekler. Bu özellik, OEM'lerin mobil ağ trafiğini uygulama bazında farklı ağlara yönlendirmesine olanak tanır.

Çoğu uygulama yalnızca kendilerine atanan varsayılan ağı kullanır ve bu özellikten yalnızca yararlanır. Örneğin, kullanıcı kendi veri planına sahip olmasa bile OEM, uygulamanızdaki ağ trafiği için ödeme yapabilir. Uygulamanız (veya bağımlılıklarından biri) varsayılan ağlar dışında ağlara bağlıysa OEM tarafından ayarlanan tercihlerden yararlanamayabilir. Varsayılan ağ dışındaki ağları kullanma hakkında daha fazla bilgi için Ağ durumunu okuma bölümüne bakın.

Sistem özellikleri

PackageManager::hasSystemFeature kullanarak belirli bir özelliğin kullanılabilir olup olmadığını tespit edebilir ve uygulamanızın davranışını buna göre ayarlayabilirsiniz.

Donanım özellikleri

Mobil olmayan diğer form faktörlerinde olduğu gibi, arabalarda bulunan donanım özellikleri mobil cihazlardakilerden farklı olabilir.

Ekran yönlendirme

TV'ler gibi arabalar da sabit yönlü cihazlardır. TV'lerden farklı olarak hem dikey hem de yatay yönde kullanılabilirler. Android Automotive OS için geliştirilen uygulamaların tüm araçlarda dağıtılabilmesi için uygulamaların android.hardware.screen.landscape veya android.hardware.screen.portrait özellikleriyle ilgili açık ya da örtülü bir özellik şartı olmaması gerekir.

Ağ konumu

Birçok Android Automotive OS cihazı, ağ konumu sağlamak için kullanılan telefon yığınını uygulamadığından android.hardware.location.network sistem özelliğini bildirmez. Ağ konumu kullanılamasa da yaklaşık konuma erişim desteklenmeye devam eder. Android Automotive OS'te yaklaşık konum başlıklı makaleyi inceleyin.

Yazılım özellikleri

Diğer form faktörlerinde yaygın olarak bulunan bazı yazılım özellikleri, Android Automotive OS cihazlarda desteklenmeyebilir. Örneğin, aşağıdaki özellikler birçok Android Automotive OS araçta kullanılamaz:

Google Play özellik şartlarını karşılama

Android Automotive OS için geliştirilen uygulamaların Google Play üzerinden arabalara dağıtılabilmesi için android.hardware.type.automotive özelliğine ait AndroidManifest.xml dosyasında <uses-feature> öğesinin bulunması gerekir:

<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>

Ayrıca, uygulamanızda aşağıdaki özelliklerden herhangi biri için android:required="true" ile açık özellik beyanı veya örtülü özellik şartı varsa uygulamanızın özellik şartlarının, aksi takdirde uyumlu araçlara dağıtılmasını engellememesi için bunları güncellemeniz veya kaldırmanız gerekir:

android:required="true" ile açıkça belirtilen özellikler için aşağıdakilerden birini yapabilirsiniz:

  • Özellik başka bir şekilde açıkça gerekli değilse <uses-feature> öğesini silin.
  • Özelliği android:required="false" ile açıkça bildirin.

Dolaylı olarak gerekli özellikler için aşağıdakilerden birini yapabilirsiniz:

  • Özelliği android:required="false" ile açıkça bildirin.
  • Özellikle ilgili örtülü şartı ortaya çıkaran manifest değerlerini kaldırın veya güncelleyin.

Manifestinizdeki özellik beyanlarını değiştirmek uygulamanızın gerçek işleyişini etkilemez. Bu nedenle, uygulamanızın bu özellikler olmadan da düzgün şekilde çalıştığını kontrol edin.

Sık sorulan sorular

Hangi araçlarda Google destekli bulunur?

Google destekli modelleri olan OEM'lerin listesi için Google destekli arabalar sitesine bakın. Donanım özellikleri ve diğer cihaz ayrıntıları, Play Console'un Cihaz Kataloğu kullanılarak elde edilebilir.