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.
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
RemoteViewsve ö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_MESSAGEbildirimleri 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_MESSAGEkategorisine aittir.Notification.MessagingStylestilini kullanır.- Yalnızca okunmamış mesajları içerir.
Aşağıdaki koşulları karşılayan bir "okundu olarak işaretle"
Actiondüğmesi olmalıdır:- Anlamsal işlem
Action.SEMANTIC_ACTION_MARK_AS_READolarak ayarlanır. Action, tetiklendiğinde herhangi bir kullanıcı arayüzü göstermediğini belirtir.
- Anlamsal işlem
Bildirimde yanıt
ActionvarsaActionaşağıdaki koşulları karşılar:- Anlamsal işlem
Action.SEMANTIC_ACTION_REPLYolarak ayarlanır. Action, tetiklendiğinde herhangi bir kullanıcı arayüzü göstermediğini belirtir.Action, tek birRemoteInputiçeriyor.
- Anlamsal işlem
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 playbackbildirimler. 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çinsetMediaSessionişlevini boş olmayan bir jetonla çağırmanız gerektiğini unutmayın.CATEGORY_NAVIGATIONiç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_HIGHveya daha yüksek bir değere ayarlayarak uyarı bildirimi tetikleyebilir. - Tüm diğer uygulamalar
Uygulama, bildirim kanalının önemini
IMPORTANCE_HIGHveya 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:
CATEGORY_CALLadlı gruba ait olmalıdır.- Tam ekran intent'i ayarlama
setOngoing()yöntemi kullanılarak devam ediyor olarak işaretlenmelidir.
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 |
|---|---|---|
|
|
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. |
|
|
İşlemsiz | RemoteViews
ve özel içerik görünümleri desteklenmez. |
|
|
İşlemsiz | Bildirim rozetleri desteklenmez. |
|
|
İş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.
Sürücüler diğer tüm uyarı bildirimlerini kapatabilir. |
|
|
İş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 |
|---|---|---|
|
|
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:
|
|
|
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. |