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.
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
:- Anlamsal işlem
Action.SEMANTIC_ACTION_MARK_AS_READ
olarak ayarlandı. Action
, tetiklendiğinde hiçbir kullanıcı arayüzü göstermediğini belirtir.
- Anlamsal işlem
Bildirimde
Action
yanıtı varsaAction
aşağıdaki gereksinimleri karşılar:- Anlamsal işlem
Action.SEMANTIC_ACTION_REPLY
olarak ayarlandı. Action
, tetiklendiğinde hiçbir kullanıcı arayüzü göstermediğini belirtir.Action
, tek birRemoteInput
içerir.
- Anlamsal işlem
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çinsetMediaSession
'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:
CATEGORY_CALL
hesabına ait- Tam ekran intent'i ayarlama
setOngoing()
yöntemini kullanarak devam ediyor olarak işaretlenmelidir
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 | ||
---|---|---|---|---|
|
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. |
||
|
İşlemsiz | RemoteViews ve özel içerik görünümleri desteklenmez. |
||
|
İşlemsiz | Bildirim rozetleri desteklenmez. | ||
| İş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.
|
İş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 |
---|---|---|
|
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:
|
|
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. |