Android Automotive OS'e genel bakış

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

Android Automotive OS, Android'in temel Android platformunu genişleten ve araç içi kullanım için optimize edilmiş bir sürümüdür. Google desteğiyle araçlarda Android Automotive işletim sistemi kullanılır ve Google Play, Google Asistan ve Google Haritalar gibi Google uygulama ve hizmetleri bulunur.

Android Automotive OS donanımı hakkında bilgi

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

Ekran kesimleri

Diğer Android form faktörlerinde olduğu gibi, ekran kesimleri de dikdörtgen olmayan ekranlara sahip Android Automotive OS cihazlarda desteklenir. Ancak arabalarda bulunan kesiklerin boyutu ve şekli, diğer form faktörlerindeki kesiklerden oldukça farklı olabilir. Ayrıntılı bilgi için Pencere içe eklemeleri ve ekran kesikleriyle çalışma başlıklı makaleyi inceleyin.

Ses

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

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

Android Automotive OS, diğer form faktörlerinin kullandığı temel işletim sistemini temel alsa da uygulama geliştirme ve kullanma şeklini etkileyebilecek, Android Automotive OS'ye özgü bazı ek özellikler vardır.

Sistem Arayüzü

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

Diğer form faktörlerinin aksine, Android Automotive OS cihazların donanım veya yazılım geri düğmesi olması gerekmez. Uyumluluk modunda çalıştırılmadığında, uygulamanız tarafından uygulanan etkinlikler, AN-1 kalite yönergesine uymak için uygulama içi gezinmeyi etkinleştirmek üzere kullanıcı arayüzü kolaylıklarını içermelidir.

Sistem çubuğu düzeni

Diğer form faktörlerinde olduğu gibi Android Automotive OS'te de durum çubukları ve gezinme çubukları gibi sistem çubukları bulunur. Bu çubuklar, araçlarda diğer form faktörlerine kıyasla farklı boyut ve konumlarda olabilir. Örneğin, gezinme çubukları ekranın sol, sağ veya alt kısmında konumlandırılabilir. Üstte bir durum çubuğu ve altta bir gezinme çubuğu olsa bile (çoğu telefon ve tablette olduğu gibi), bu öğelerin boyutu arabalarda büyük olasılıkla çok daha büyük olacaktır.

Ayrıca, mobil cihazlardaki ekran kesikleri genellikle sistem çubuklarının sınırları içinde yer alırken arabalarda bu durum geçerli değildir.

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

Yoğun içerik modu

Android Automotive OS, OEM'lerin uygulamaların tam sayfa moduna girmek ve bu moddan çıkmak için sistem çubuklarını gösterip gizlemeyeceğ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 sorunlarını ele almak için Android Automotive OS'te yerleşik olarak bulunan bir özelliktir. Kullanıcı deneyimi kısıtlamaları, sürüş sırasında kullanım için optimize edilmemiş uygulamaların otomatik olarak engellenmesinden sorumludur.

Etkinliği engelleyen etkinliğin, dikkat dağıtıcı unsurlar için optimize edilmiş olarak işaretlenmemiş bir uygulamanın üzerinde gösterilmesi
Ş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 dizisi araç üreticileri tarafından belirlenir. Bu kurallar coğrafyaya göre değişiklik gösterebilir. Örneğin, Avrupa'da satılan aynı aracın ABD'de satılanlardan farklı kuralları olabilir.

Kullanıcı deneyimi kısıtlama kuralları, araçtaki ekrana göre de değişiklik gösterebilir. Örneğin, sürücünün görüş alanındaki bir merkez ekranın, araç hareket halindeyken kısıtlanması ve 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. Uygulamanızın bu kısıtlamalara uyum sağlaması için uygulamanızın tersine mühendislik işlemine tabi tutulmasına ç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ülerin dikkatini dağıtabilecek durumları sınırlamak için kullanıcı deneyimi kısıtlamaları etkinken etkinlikler çalıştırılamaz. Sisteme, araç hareket halindeyken bir etkinliğin çalışmaya devam etmesi gerektiğini 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 veriler, yalnızca Car App Library kullanılarak oluşturulmuş bir uygulamanın CarAppActivity için <activity> manifest öğesini tanımlarken manifest dosyanızda bulunmalıdır. Başka hiçbir etkinlik dikkat dağıtıcı olarak optimize edilmiş olarak işaretlenmemelidir. Aksi takdirde uygulamanız Google Play Store'a gönderildiğinde reddedilir.

Erişilebilirlik

Android Automotive OS için erişilebilirlik desteği, diğer form faktörlerinde olduğu 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ı kullanın başlıklı makaleyi inceleyin.

Ağ seçimi

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

Çoğu uygulama yalnızca kendilerine atanan varsayılan ağı kullanır ve bu özellikten yalnızca yararlanabilir. Örneğin, kullanıcının kendi veri planı olmasa bile OEM, uygulamanızdan gelen ağ trafiği için ödeme yapabilir. Uygulamanız (veya bağımlılarından biri) varsayılan ağ dışındaki ağları kullanıyorsa OEM tarafından belirlenen tercihlerden yararlanamayabilir. Varsayılan ağ dışındaki ağları kullanma hakkında daha fazla bilgi için Ağ durumunu okuma başlıklı makaleyi inceleyin.

Sistem özellikleri

PackageManager::hasSystemFeature kullanarak belirli bir özelliğin kullanılıp kullanılamadığını algılayabilir 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önü

TV'ler gibi arabalar da sabit yöne sahip cihazlardır. TV'lerin aksine, hem dikey hem de yatay yönlerde kullanılabilirler. Android Automotive OS için geliştirilen uygulamaların tüm araçlara dağıtılabilmesi için uygulamaların android.hardware.screen.landscape veya android.hardware.screen.portrait özellikleri için açık veya örtülü bir özellik koşulu bulunmamalıdır.

Ağ konumu

Birçok Android Automotive OS cihazı, ağ konumunu sağlamak için kullanılan telefon yığını uygulamadığından android.hardware.location.network sistem özelliğini bildirmez. Ağ konumu kullanılamayabilir ancak yaklaşık konuma erişmeye devam edilebilir. 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 aracında kullanılamaz:

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

Android Automotive OS için oluşturulan uygulamaların, Google Play üzerinden arabalara dağıtılabilmesi için AndroidManifest.xml dosyasında android.hardware.type.automotive özelliği için bir <uses-feature> öğesi 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 koşulu varsa uygulamanızın özellik koşullarının, uyumlu olan diğer araçlara dağıtılmasını engellememesi için bunları güncellemeniz veya kaldırmanız gerekir:

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

  • Özellik dolaylı olarak gerekli değilse <uses-feature> öğesini silin.
  • Özelliği android:required="false" ile açıkça belirtin.

Anlamlı olarak zorunlu özellikler için aşağıdakilerden birini yapabilirsiniz:

  • Özelliği android:required="false" ile açıkça belirtin.
  • Özellikle ilgili örtülü koşulu tanıtan 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ığından emin olun.

Sık sorulan sorular

Google destekli hangi araçlar var?

Yerleşik Google uygulamalarına sahip modelleri olan OEM'lerin listesi için Yerleşik Google uygulamalarına sahip arabalar sitesine bakın. Donanım özellikleri ve diğer cihaz ayrıntıları Play Console'un Cihaz Kataloğu'ndan edinilebilir.