Android Automotive işletim sisteminde bildirimler

Bildirimler, sürücülere, uygulamanızı kullanmadığınızda gerçekleştirilecek etkinlikler hakkında kısa ve zamanında bilgi sağlar. Bildirimler, Bildirim Merkezi'nde ve bazı bildirimler ekranda uyarı bildirimleri olarak da görünebilir. Android Automotive OS için bildirimler oluşturmak üzere diğer cihazlarda kullandığınız NotificationBuilder API'sini kullanırsınız. Bununla birlikte, sürücülerin güvenliğini sağlamak ve dikkat dağıtıcı unsurları en aza indirmek için bazı API yöntemleri ve sınıfları kısıtlanmıştır veya farklı davranır.

Araçlarda bildirimler nasıl farklılık gösterir?

Dikkat dağıtıcı unsurlardan uzak güvenli bir sürüş ortamı oluşturmak için Android Automotive OS'teki bildirimler, diğer cihazlardaki bildirimlerden şu yönleriyle ayrılır:

  • Basitleştirilmiş kullanıcı etkileşimi
  • Sürüş durumuna göre kullanıcı deneyimi kısıtlamaları

Basitleştirilmiş kullanıcı etkileşimi

Sürücülerin yola odaklanabilmelerini sağlamak için araçtaki bildirimler, aşağıdaki özelliklere sahip basitleştirilmiş bir kullanıcı etkileşimi modeline sahiptir:

Karmaşık kontroller yoktur
Bildirimler, bir bildirimi genişletmek için dokunma, ek seçenekler için bildirime uzun basma veya kaydırma uzunluğuna dayalı hareketlere dayalı kontrolleri kullanma gibi karmaşık kontrollere izin vermez.
Bildirim sesleri
Bildirimler yalnızca uyarı bildirimini tetiklerse sesli uyarı verir.
Mesajlaşma bildirimleri için otomatik oynatma ve sesi kapatma düğmeleri

Android Automotive OS, tüm araba uyumlu mesajlaşma bildirimlerine Oynat ve Sesi kapat düğmelerini otomatik olarak ekler.

  • Oynat: Kullanıcının Google Asistan gibi varsayılan dijital asistanını veya aracın varsayılan metin okuma sistemini kullanarak bildirimi sürücüye okur.
  • Yoksay: Sürücünün geri kalanı boyunca, görüşmede gelecekte gönderilecek mesajlar için uyarı bildirimlerinin gösterilmesini engeller. Sesi kapatılan bir sohbetten gelen mesaj bildirimleri Bildirim Merkezi'nde görünmeye devam eder. Sürücü, Görüşmenin sesini Bildirim Merkezi'nden de açabilir.

Basitleştirilmiş bildirim görüntüleme seçenekleri

RemoteViews ve özel içerik görünümleri desteklenmez. Ayrıca aşağıdaki bildirim stilleri desteklenmez:

  • BigPictureStyle
  • BigTextStyle
  • InboxStyle

Uygulamanız bu bildirim stillerinden birini kullanarak Android Automotive OS'a bildirim gönderirse yalnızca özet metin gösterilir.

Basitleştirilmiş bildirim kanalı yönetimi

Android Automotive OS, Automotive cihazlarda zengin yönetim görevlerinin yaygınlığını azaltmak için bildirim kanallarını ve ilgili kullanıcı arayüzü olanaklarını desteklemez.

Sürüş durumuna göre kullanıcı deneyimi kısıtlamaları

Android Automotive OS, bir Kullanıcı Deneyimi Kısıtlamaları Motoru içerir. Araba üreticileri, arabanın sürüş durumuna göre bildirimleri aşağıdaki şekillerde kısıtlamak için bu motoru kullanabilir:

  • Bildirim dizelerini belirli bir karakter uzunluğunda kesme
  • CATEGORY_MESSAGE bildirimleri için mesaj özetleri gizleniyor
  • Bildirim Merkezi'nin görüntüleyebileceği bildirim sayısını sınırlama

Desteklenen kaynak türleri

Varsayılan olarak Android Automotive OS, diğer cihazlarda bildirimler için kullanılabilecek kaynak türlerinin sınırlı bir alt kümesini destekler. Bu alt küme aşağıdaki kaynak türlerini içerir:

  • Çekilebilir
  • Simgeler
  • Resimler

Mesajlaşma bildirimleri için uyumluluk gereksinimleri

Tutarlı ve minimum düzeyde dikkat dağıtan bir kullanıcı deneyimi sağlamak için Android Automotive OS'te mesajlaşma bildirimlerinin özel gereksinimleri vardır.

Mesajlaşma bildirimleri, aşağıdaki şartları karşılıyorsa arabalarla uyumludur:

  • CATEGORY_MESSAGE kategorisine aittir.
  • Notification.MessagingStyle stilini kullanır.
  • Yalnızca okunmamış iletileri içerir.
  • Aşağıdaki gereksinimleri karşılayan bir okundu olarak işaretle Action:

  • Bildirimde Action yanıtı varsa Action aşağıdaki gereksinimleri karşılar:

Bildirim Merkezi

Uyarı bildirimleri olarak da tetiklenmiş olsalar bile, bildirimlerin neredeyse tamamı Bildirim Merkezi'nde görünür. Bildirimler, sürüş süresi boyunca Bildirim Merkezi'nde kalır.

Sürücüler, Bildirim Merkezi'nde bildirimlerle etkileşimde bulunabilir. Arabanın üreticisine bağlı olarak, sürücüler Bildirim Merkezi'ne aşağıdaki yollardan birini veya her ikisini kullanarak erişebilir:

  • Diğer cihazlardaki bildirim çekmecesine benzer şekilde, ekranın üst kısmından aşağı kaydırma.
  • Sistem arayüzünde bir düğmeye dokunma.

Gruplandırılmış bildirimler

İlgili bildirimler, diğer cihazların bildirim çekmecesinde olduğu gibi Bildirim Merkezi'nde otomatik olarak gruplandırılır. Ancak, sürücü Bildirim Merkezi'nde bir grubun özetine dokunduğunda, PendingIntent başlatmak yerine grup tüm bildirimlerini gösterecek şekilde genişler.

Bildirim Merkezi'nde görünmeyen bildirimler

Aşağıdaki bildirimler Bildirim Merkezi'nde görünmez:

  • Media playback bildirimleri. Devam eden medya oynatmayla ilgili bilgiler Android Automotive OS tarafından toplanır ve kullanıcı arayüzünde özel bir yerde gösterilir. Bildirimin Medya oynatma olarak tanınabilmesi için setMediaSession'in boş olmayan bir jetonla çağrılması gerektiğini unutmayın.
  • CATEGORY_NAVIGATION için adım adım navigasyon bildirimleri.
  • Sistem ayrıcalığı olan uygulamalar ve IMPORTANCE_DEFAULT değerinden daha düşük bir önem düzeyine sahip platform anahtarıyla imzalanmış uygulamalar için ön plan hizmeti bildirimleri.

Uyarı bildirimleri

Uyarı bildirimleri, ekranın üst kısmında bildirim kartı olarak görünür. Uyarı bildirimi sürücünün dikkatini çektiği için yalnızca bu bilgiler sürüş açısından kritik, zamana duyarlı ve işlem yapılabilir olduğunda uyarı bildirimi tetikleyin. Yalnızca belirli bildirim kategorileri bir uyarı bildirimini tetikleyebilir.

Araba üreticileri, Bildirim Merkezi açıkken uyarı bildirimlerinin gösterilmesine izin verip vermemeye karar verebilir.

Uygulamalar, uyarı bildirimlerini nasıl tetikler?

Uygulamaların uyarı bildirimini tetiklemek için, sistem ayrıcalıklarına sahip olup olmadıklarına bağlı olarak farklı gereksinimleri vardır.

Platform anahtarıyla imzalanmış, sistem ayrıcalığı olan uygulamalar ve uygulamalar
Uygulama, bildirim kanalı önem düzeyini IMPORTANCE_HIGH veya daha yüksek bir değere ayarlayarak uyarı bildirimi tetikleyebilir.
Tüm diğer uygulamalar

Uygulama, bildirim kanalı önem düzeyini IMPORTANCE_HIGH veya daha yüksek bir değere ayarlayarak ve bildirimin aşağıdaki kategorilerden birine ait olmasını sağlayarak uyarı bildirimi tetikleyebilir:

Uyarı bildirimlerinin ömrü

Bir uygulama uyarı bildirimini tetiklediğinde, bildirim hemen araba ekranında görünür. Sürücü hiçbir işlem yapmazsa uyarı bildirimi, aşağıdaki durumlar haricinde sekiz saniye sonra otomatik olarak kapanır:

  • Belirli gelen aramalarla ilgili uyarı bildirimleri kapatılamaz. Sürücü, aramayı kabul edene veya arama sonlandırılana kadar uyarı bildirimi gösterilmeye devam eder. Gelen arama için kapatılamayan bir uyarı bildirimi olarak nitelendirilmek için bildirimin aşağıdaki gereksinimleri karşılaması gerekir:

  • Bir uygulama sekiz saniyelik zaman aralığı içinde bildirimi güncellerse uyarı bildirimleri görünmeye devam eder.

Bir uyarı bildirimi kapatıldığında söz konusu bildirim, CATEGORY_NAVIGATION bildirimi olmadığı sürece Bildirim Merkezi'nde listelenir.

Arabalar için Notification API değişiklikleri ve kısıtlamaları

Bu bölümde, Notifications API'nin farklı davrandığı veya Android Automotive OS için kısıtlamaların bulunduğu her bir sınıf için farklılıklar özetlenmektedir.

Notification.Builder (Bildirim.Oluşturucu)

Tablo 1 ve 2'de, Notification.Builder sınıfındaki API değişiklikleri ve kısıtlamaları açıklanmıştır.

Tablo 1. Notification.Builder için herkese açık yöntemlerde yapılan değişiklikler

Herkese açık yöntemler Etki Açıklama

addAction()

Koşullu işlem yapılamaması Notification.MessagingStyle bildirimleri, uyumluluk gereksinimlerinde belirtilen işlemleri eklemelidir. Eklenen diğer işlemler Bildirim düğmesi olarak işlenmez.

createBigContentView()

createContentView()

createHeadsUpContentView()

setContent()

setCustomBigContentView()

setCustomContentView()

setCustomHeadsUpContentView()

İşlemsiz RemoteViews ve özel içerik görünümleri desteklenmez.

setBadgeIconType()

setNumber()

İşlemsiz Bildirim rozetleri desteklenmez.

setChronometerCountDown()

setUsesChronometer()

İşlemsiz Geri sayım zamanlayıcıları desteklenmez.
setColorized() Sınırlamalar değişti

Platform imzalı uygulamalar: yapılandırılabilir; varsayılan olarak izin verilir.

Sistem ayrıcalığı olan uygulamalar: Platform tarafından yapılandırılır; varsayılan olarak izin verilmez.

Diğer tüm uygulamalar: Platform tarafından yapılandırılır; varsayılan olarak izin verilmez.

setFullScreenIntent() Davranış değişti Amacı otomatik olarak başlatmaz.
setLargeIcon() Davranış değişti Bildirimin sağ tarafında büyük simgeler gösterilir.
setLights() İşlemsiz Android Automotive OS cihazlarda LED gösterge ışıkları bulunmaz.
setOngoing() Davranış değişti

Bildirim aynı zamanda bir uyarı bildirimi de tetiklediğinde davranış farklıdır.

setOngoing(), yalnızca uyarı bildirimi gelen aramayla ilgiliyse uyarı bildirimini kapatamaz. Gelen bir aramayla ilgili kapatılamaz uyarı bildirimi olarak nitelendirilmek için bir bildirimin setPublicVersion() işlevini yerine getirmesi gerekir.

setVisibility()

İşlemsiz Gizli mod desteklenmez.
setSettingsText() İşlemsiz Bildirimler, uygulama ayarlarına bağlantı veren satın alma işlemlerini desteklemez. Sürücüler, uygulama ayarlarına artık uygulama üzerinden erişiyor.
setTicker() İşlemsiz Şerit metni desteklenmiyor.

Tablo 2. Notification.Builder için iç içe yerleştirilmiş sınıflarda yapılan değişiklikler

İç içe yerleştirilmiş sınıflar Etki Açıklama

Notification.BigPictureStyle

Notification.BigTextStyle

Notification.InboxStyle

Kullanılmadı Yalnızca özet metinleri gösterilir. Bu stiller için ayrıntılı bildirimler desteklenmiyor.
Notification.BubbleMetadata Kullanılmadı Baloncuklar desteklenmiyor.
Notification.MediaStyle Gizli Bu stile sahip bildirimler gizlendi. Android Automotive OS, medya bildirimleri ve oynatma için kullanıcı arayüzü etkileşimlerini yönetir.
Notification.MessagingStyle Davranış değişti

Bu stile sahip bildirimler aşağıdaki farklılıklara sahiptir:

Notification.CarExtender

Notification.WearableExtender

Kullanılmadı Uzatmalar desteklenmez.

Notification.Action.Builder

Tablo 3'te Notification.Action.Builder sınıfındaki API değişiklikleri ve kısıtlamaları açıklanmaktadır.

3. Tablo. Notification.Action.Builder için herkese açık yöntemlerde yapılan değişiklikler

Herkese açık yöntemler Etki Açıklama
Kamu inşaatçıları Davranış değişti Herkese açık oluşturucularda belirtilen simgeler yoksayılır.
addRemoteInput Davranış değişti Google Asistan gibi bir dijital asistan, sürücünün dikkatinin dağılmasını en aza indirmek için mesaja yanıt ekler. Kullanıcılar mesaj yazamaz.
setAllowGeneratedReplies İşlemsiz Akıllı Yanıt desteklenmiyor.