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 odaklanabilmesi 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, arabayla uyumlu tüm mesajlaşma bildirimlerine otomatik olarak Oynat ve Sessize al düğmelerini 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:BigPictureStyle
BigTextStyle
InboxStyle
ProgressStyle
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 yöntemlerle bu motoru kullanarak bildirimleri arabanın sürüş durumuna göre kısıtlayabilir:
- Bildirim dizelerini belirli bir karakter uzunluğunda kısaltma
CATEGORY_MESSAGE
bildirimlerinde 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:
- Çekilebilir öğ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 bildirimleri Android Automotive OS'te özel şartlara tabidir.
Aşağıdaki koşulları karşılayan mesajlaşma bildirimleri arabayla uyumludur:
CATEGORY_MESSAGE
kategorisine aittir.Notification.MessagingStyle
stili kullanılı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:- Anlamsal işlem
Action.SEMANTIC_ACTION_MARK_AS_READ
olarak ayarlanır. Action
, tetiklendiğinde herhangi bir kullanıcı arayüzü göstermediğini belirtir.
- Anlamsal işlem
Bildirimde yanıt
Action
varsaAction
aşağıdaki koşulları karşılar:- Anlamsal işlem
Action.SEMANTIC_ACTION_REPLY
olarak ayarlanır. Action
, tetiklendiğinde herhangi bir kullanıcı arayüzü göstermediğini belirtir.Action
, tek birRemoteInput
iç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ılmak yerine grup genişleyerek tüm bildirimlerini gösterir.
Bildirim Merkezi'nde görünmeyen bildirimler
Aşağıdaki bildirimler, Bildirim Merkezi'nde görünmez:
Media playback
bildirimler. Devam eden medya oynatma ile 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ınması içinsetMediaSession
yönteminin boş olmayan bir jetonla çağrılması gerektiğini unutmayın.CATEGORY_NAVIGATION
için adım adım rota bildirimleri.- Sistem ayrıcalıklı uygulamalar ve
IMPORTANCE_DEFAULT
önem düzeyinden daha düşük bir önem düzeyine sahip olan, 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 için 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ı ö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 ayarlayarak ve bildirimin aşağıdaki kategorilerden birine ait olmasını sağlayarak 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ü işlem yapmazsa aşağıdaki durumlar hariç, uyarı bildirimi sekiz saniye sonra 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:
- Şuna ait:
CATEGORY_CALL
- Tam ekran intent'i ayarlama
setOngoing()
yöntemi kullanılarak devam ediyor olarak işaretlenmelidir.
- Şuna ait:
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
1. ve 2. tablolarda, 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 | Amacı 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.
|
İş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. |