Android Automotive işletim sisteminde bildirimler

Bildirimler, sürücülere uygulamanız kullanılmıyorken etkinliklerle ilgili kısa ve zamanında bilgiler sağlar. Bildirimler Bildirim Merkezi'nde görünebilir. Bazı bildirimler ekranda önemli bildirimler olarak da görünebilir. Android Automotive OS için bildirim oluşturmak üzere diğer cihazlarda kullandığınız NotificationBuilder API'yi kullanırsınız. Ancak 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ı şekilde çalışır.

Bildirimlerin araçlardaki farklılıkları

Sürüş sırasında dikkatin dağılmasını önlemek için Android Automotive OS'teki bildirimler diğer cihazlardaki bildirimlerden şu açılardan farklıdı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 odaklanabilmesini sağlamak için arabadaki bildirimlerde aşağıdaki özelliklere sahip basitleştirilmiş bir kullanıcı etkileşimi modeli bulunur:

Karmaşık kontroller yok
Bildirimler, karmaşık kontrollere (ör. bildirimi genişletmek için dokunma, ek seçenekler için bildirime uzun basma veya kaydırma uzunluğu hareketlerine dayalı kontrolleri kullanma) izin vermez.
Bildirim sesleri
Bildirimler yalnızca uyarı bildirimi tetiklediklerinde ses çıkarır.
Mesajlaşma bildirimleri için otomatik oynatma ve sessize alma düğmeleri

Android Automotive OS, Play ve Sessize Al düğmelerini tüm arabayla uyumlu mesajlaşma bildirimlerine otomatik olarak ekler.

  • Oynat: Google Asistan gibi kullanıcının varsayılan dijital asistanını veya aracın varsayılan metin okuma sistemini kullanarak bildirimi sürücüye okur.
  • Sesi kapat: Sürüşün geri kalanında, görüşmedeki gelecekteki mesajlar için pop-up bildirimlerin görünmesini engeller. Yoksayılan bir görüşmeden gelen mesaj bildirimleri, bildirim merkezinde görünmeye devam eder. Sürücü, bildirim merkezinden görüşmenin yoksayılmasını da kaldırabilir.

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:

Uygulamanız bu bildirim stillerinden birini kullanarak Android Automotive OS'e bildirim gönderiyorsa yalnızca özet metni 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'te bir kullanıcı deneyimi kısıtlama motoru bulunur. Otomobil üreticileri, aşağıdaki şekillerde arabanın sürüş durumuna göre bildirimleri kısıtlamak için bu motoru kullanabilir:

  • Bildirim dizelerini belirli bir karakter uzunluğunda kısaltma
  • CATEGORY_MESSAGE bildirimleri için mesaj özetlerini gizleme
  • Bildirim Merkezi'nin gösterebileceği bildirim sayısını sınırlama

Desteklenen kaynak türleri

Android Automotive OS, varsayılan olarak diğer cihazlardaki 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:

  • Çizilebilir öğeler
  • Simgeler
  • Resimler

Mesajlaşma bildirimleriyle ilgili uyumluluk koşulları

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

Aşağıdaki koşulları karşılayan mesajlaşma bildirimleri arabayla uyumludur:

  • CATEGORY_MESSAGE kategorisine aittir.
  • Notification.MessagingStyle stilini kullanır.
  • Yalnızca okunmamış mesajları içerir.
  • Aşağıdaki koşulları karşılayan bir "okundu olarak işaretle" Action düğmesi olmalıdır:

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

Bildirim Merkezi

Bu bildirimler, heads-up bildirim olarak tetiklenmiş olsa bile 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 merkezindeki bildirimlerle etkileşimde bulunabilir. Sürücüler, arabanın üreticisine bağlı olarak Bildirim Merkezi'ne aşağıdaki yöntemlerden biriyle veya her ikisiyle erişir:

  • Ekranın üst kısmından aşağı kaydırma (diğer cihazlardaki bildirim çekmecesine benzer).
  • Sistem arayüzünde bir düğmeye dokunma

Gruplandırılmış bildirimler

İlgili bildirimler, diğer cihazlardaki bildirim çekmecesinde olduğu gibi Bildirim Merkezi'nde otomatik olarak gruplandırılır. Ancak bir sürücü, Bildirim Merkezi'nde bir grubun özetine dokunduğunda PendingIntent başlatılmaz. Bunun yerine, gruptaki tüm bildirimler gösterilir.

Bildirim Merkezi'nde görünmeyen bildirimler

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

  • Media playback bildirimler. Android Automotive OS, devam eden medya oynatma işlemleriyle ilgili bilgileri toplar ve kullanıcı arayüzünde özel bir yerde gösterir. Sistemin bildirimi medya oynatma olarak tanıması için setMediaSession işlevini boş olmayan bir jetonla çağırmanız gerektiğini unutmayın.
  • CATEGORY_NAVIGATION için adım adım rota bildirimleri.
  • Sistem ayrıcalıklı uygulamalar ve IMPORTANCE_DEFAULT'dan daha düşük ö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 sürüş açısından kritik, zamana duyarlı ve harekete geçirici bilgiler olduğunda uyarı bildirimi tetikleyin. Yalnızca belirli bildirim kategorileri, uyarı bildirimi tetikleyebilir.

Otomobil üreticileri, Bildirim Merkezi açıkken uyarı bildirimlerinin gösterilmesine izin verilip verilmeyeceğine karar verebilir.

Uygulamalar uyarı bildirimlerini nasıl tetikler?

Uygulamalar, sistem ayrıcalıklarına sahip olup olmamalarına bağlı olarak, uyarı bildirimini tetiklemek için farklı koşullara sahiptir.

Sistem ayrıcalıklı uygulamalar ve platform anahtarıyla imzalanmış uygulamalar
Uygulama, bildirim kanalının önemini IMPORTANCE_HIGH veya daha yüksek bir değere ayarlayarak uyarı bildirimi tetikleyebilir.
Tüm diğer uygulamalar

Uygulama, bildirim kanalının önemini IMPORTANCE_HIGH veya daha yüksek bir değere ayarlayıp bildirimin aşağıdaki kategorilerden birine ait olduğunu doğrulayarak uyarı bildirimi tetikleyebilir:

Uyarı bildiriminin ömrü

Bir uygulama uyarı bildirimi tetikledikten sonra bildirim, arabanın ekranında hemen görünür. Sürücü herhangi bir işlem yapmazsa aşağıdaki durumlar hariç olmak üzere 8 saniye sonra uyarı bildirimi otomatik olarak kapatılır:

  • Belirli gelen aramalar için uyarı bildirimleri kapatılamaz ve 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 nitelendirilebilmesi için bildirimin aşağıdaki koşulları karşılaması gerekir:

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

Bir anlık bildirim kapatıldığında, CATEGORY_NAVIGATION bildirimi olmadığı sürece bildirim merkezinde 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'te kısıtlamalara sahip olduğu her sınıf için farklılıklar özetlenmiştir.

Notification.Builder

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

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

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

addAction()

Koşullu no-op Notification.MessagingStyle bildirimleri, uyumluluk koşullarında belirtilen işlemleri eklemelidir. Eklenen diğer işlemler, bildirim düğmeleri olarak oluşturulmaz.

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 sayaçları desteklenmez.
setColorized() Kısıtlamalar değiştirildi

Platform tarafından imzalanmış uygulamalar: Yapılandırılabilir; varsayılan olarak izin verilir.

Sistem ayrıcalıklı uygulamalar: Platform tarafından yapılandırılır; varsayılan olarak engellenir.

Diğer tüm uygulamalar: Platforma göre yapılandırılır; varsayılan olarak izin verilmez.

setFullScreenIntent() Davranış değiştirildi Intent'i otomatik olarak başlatmaz.
setLargeIcon() Davranış değiştirildi Büyük simgeler, bildirimin sağ tarafında gösterilir.
setLights() İşlemsiz Android Automotive OS cihazlarda LED gösterge ışıkları yoktur.
setOngoing() Davranış değiştirildi

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

setOngoing(), uyarı bildirimi yalnızca gelen bir arama içinse uyarı bildiriminin kapatılamamasını sağlar. Gelen arama için kapatılamayan bir uyarı bildirimi olarak nitelendirilmek üzere, bildirimin belirtilen koşulları karşılaması gerekir.

Sürücüler diğer tüm uyarı bildirimlerini kapatabilir.

setPublicVersion()

setVisibility()

İşlemsiz Gizli mod desteklenmez.
setSettingsText() İşlemsiz Bildirimler, uygulama ayarlarına bağlantı veren affordance'ları desteklemez. Sürücüler, uygulama ayarlarına uygulama üzerinden erişir.
setTicker() İşlemsiz Kaydırma metni desteklenmez.

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 Efekt Açıklama

Notification.BigPictureStyle

Notification.BigTextStyle

Notification.InboxStyle

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

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

Notification.CarExtender

Notification.WearableExtender

Kullanılmadı Genişleticiler 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.

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

Herkese açık yöntemler Efekt Açıklama
Herkese açık oluşturucular Davranış değiştirildi Herkese açık oluşturucularda belirtilen simgeler yoksayılır.
addRemoteInput Davranış değiştirildi Sürücünün dikkatinin dağılmasını en aza indirmek için Google Asistan gibi bir dijital asistan, kullanıcının mesajına yanıt ekler. Kullanıcılar mesaj yazamaz.
setAllowGeneratedReplies İşlemsiz Akıllı Yanıt desteklenmez.