Canlı güncelleme bildirimi oluşturma

Sistem, canlı güncelleme bildirimlerini teşvik eder. Tanıtılan bildirimler, bildirim çekmecesinin ve kilit ekranının üst kısmında ve durum çubuğunda çip olarak da dahil olmak üzere sistem yüzeylerinde daha belirgin bir şekilde gösterilir.

Şekil 1. Canlı güncelleme bildirimi örneği.

Tanıtılan bildirim kartlarının görünüm özellikleri şunlardır:

  • Varsayılan olarak genişletilir
  • Daraltılamıyor

Bildiriminiz, canlı güncelleme olarak kabul edilmek için aşağıdaki koşulları karşılamalıdır:

  • Standart/Stil Yok, BigTextStyle, CallStyle veya ProgressStyle olmalıdır.
  • Android manifest dosyasında aşağıdaki çalışma zamanı dışındaki izni istemelidirandroid.permission.POST_PROMOTED_NOTIFICATIONS.
  • EXTRA_REQUEST_PROMOTED_ONGOING veya NotificationCompat.Builder#requestPromotedOngoing kullanılarak promosyon isteğinde bulunulmalıdır.
  • ongoing olmalıdır (FLAG_ONGOING_EVENT olarak ayarlayın).
  • contentTitle ayarlanmalıdır.
  • customContentView ayarlanmış OLMAMALISI gerekir (RemoteViews olmamalıdır).
  • setGroupSummary kullanan bir grubun özeti OLAMAZ.
  • Bildirim kanalında IMPORTANCE_MIN YOKTUR.

Promosyon özellikleri

Aşağıdaki API'ler, sistemin bildiriminizi tanıtıp tanıtmayacağını belirlemenize yardımcı olur:

  • Notification.FLAG_PROMOTED_ONGOING, bildirimin tanıtılıp tanıtılmadığını gösterir.
  • Notification.hasPromotableCharacteristics(), sistemin bildirimi öne çıkarıp çıkaramayacağını doğrular. Bu yöntem, kullanıcının ayarlar bölümünde uygulama için Canlı Güncellemeleri devre dışı bırakıp bırakmadığını dikkate almaz.
  • NotificationManager.canPostPromotedNotifications(), uygulamanızın tanıtılan bir bildirim yayınlayıp yayınlayamayacağını (ör. kullanıcının ayarlarda bildirimi etkinleştirip etkinleştirmediğini) kontrol eder.
  • Settings.ACTION_MANAGE_APP_PROMOTED_NOTIFICATIONS, uygulamaların bu özelliği etkinleştirmek için kullanıcıları Ayarlar'a göndermesine olanak tanıyan intent işlemidir.

Kullanım ölçütleri

Devam eden, kullanıcı tarafından başlatılan ve zamana duyarlı etkinlikler için canlı güncellemeleri kullanın.

Devam ediyor

Canlı güncellemeler, belirli bir başlangıç ve bitiş zamanı olan, devam eden bir etkinliği temsil etmelidir. Geçmişte gerçekleşen bir etkinlik için canlı güncelleme kullanmayın. Bunun yerine standart bir bildirim kullanın. Bu durum, henüz başlamamış etkinlikler için de geçerlidir. Ancak başlamak üzere olan etkinliklerde canlı güncelleme kullanılabilir.

Canlı güncellemeler, devam eden etkinlikleri gösterir. Uygulama işlevlerine hızlı erişim sunmak için Canlı Güncellemeler'i kullanmayın. Bunu yapmak istiyorsanız bir uygulama widget'ı veya özel Hızlı Ayarlar kutusu kullanın.

  • Uygun kullanım alanları: Etkin navigasyon, devam eden telefon aramaları, etkin araç paylaşma izleme ve etkin yemek siparişi izleme.
  • Uygunsuz kullanımlar: Reklamlar, promosyonlar, sohbet mesajları, uyarılar, yaklaşan takvim etkinlikleri ve uygulama özelliklerine hızlı erişim.

Kullanıcı tarafından başlatılan

Canlı güncellemelerin çoğu, kullanıcı tarafından açıkça tetiklenen aktiviteleri (ör. egzersiz başlatma, sürüş navigasyonunu başlatma veya araç paylaşma çağırma) temsil etmelidir. Canlı güncellemelerde kullanıcının ortamı, ilgi alanları veya yaklaşan etkinlikler gibi ortam bilgilerini göstermeyin. Diğer tarafların tetiklediği etkinliklerin canlı güncelleme oluşturmasına izin vermeyin.

Bazen kullanıcılar, gelecekte bir etkinlik başlatan işlemler gerçekleştirebilir. Örneğin, kullanıcı bir uçuş veya konser bileti satın alırsa, turnuvaya kaydolursa ya da zamana duyarlı bir etkinliğe katılacağını başka bir şekilde belirtirse. Bu durumlarda, planlanan etkinlik başladığında otomatik olarak bir Canlı Güncelleme göstermek uygun olabilir. Ancak uygulamaların tetikleyicilerini yalnızca etkinlik yaklaştığında görünecek şekilde ayarlamaları gerekir. Kullanıcı, spor maçı gibi bir arka plan etkinliğini izlemeye başlamak istediğini açıkça belirtirse söz konusu etkinlik için canlı güncellemeler yayınlamaya başlayabilirsiniz. Bununla birlikte, ilişkili bildirime Sabitlemeyi Kaldır işlemini de eklemeniz gerekir.

Zamana duyarlı

Canlı güncellemeyi yalnızca etkinlik boyunca kullanıcının dikkatini gerektiriyorsa gösterin. Canlı güncellemelerin önemli kullanım alanlarından biri izlemedir. Kullanıcı, etkinliğin değişen durumunu takip etmek için canlı güncellemeye göz atarak önemli ölçüde fayda elde eder.

Canlı güncellemeler, genellikle canlı güncellemeler ile normal bildirimler arasında geçiş yapan etkinlikler için uygundur. Örneğin, kullanıcının uçuşundan saatler önce biniş kartı bildirimi gösterilmesi uygundur ancak bildirim yalnızca kullanıcının acil bir ihtiyacı olduğunda (ör. havaalanına veya etkinlik yerine geldiğinde ya da biniş işlemi başladığında) canlı güncelleme olarak gösterilmelidir. Buna karşılık, kullanıcının sürekli olarak izlemesi gerekmediğinden canlı güncelleme, bir paketi izlemek için uygun değildir.

Durum çipleri

Durum çipleri, kullanıcıların bildirim görünmediğinde canlı güncellemeleri takip etmesine olanak tanır. İlerleme odaklı bildiriminizle ilgili önemli durum bilgilerini iletmek için setShortCriticalText veya setWhen öğesini kullanın.

simge içeren durum çipi
Şekil 2. Belirsiz durumda küçük Notification.Builder#setSmallIcon simgesi gösterilir.
Saat içeren durum çipi
3. şekil. Mutlak zamanı göstermek için Notification.Builder#setShortCriticalText simgesini kullanın.
bilgi içeren durum çipi
Şekil 4. Kritik bilgileri iletmek için Notification.Builder#setShortCriticalText kullanın.

Zaman

Bildirim kapatılmadığı veya güncellenmediği sürece, zaman bilgisi bildirimin ne kadar süreyle gösterileceğini belirten bir geri sayım başlatır.

  • Zaman ayarı şu andan en az 2 dakika sonraysa: Mevcut saat 10:05 ve zaman ayarı 10:10 olarak ayarlanmışsa çipte "5dk" yazar.
  • Zaman 1 dakikadan daha uzun bir süre önceyse bildirim gösterilmez.
  • Gölgede gösterilen bildirimin saat içermesini istemiyorsanız setShowWhen ile FALSE arasında seçim yapın.

Durum çipi görünümü

Durum çipi her zaman bir simge ve isteğe bağlı olarak metin içerir. Çipin maksimum genişliği 96 dp'dir. Metni aşağıdaki ölçütlere göre gösterin:

  • 7 karakterden kısaysa metnin tamamını gösterin.
  • Metnin yarısından azı gösterilecekse yalnızca simgeyi gösterin.
  • Metnin yarısından fazlası gösterilecekse mümkün olduğunca fazla metin gösterin.

Kapatma

Kullanıcılar, bildirim gölgesindeki bildirim görünürlüğünü kontrol edebilir. İstenmeyen canlı güncellemeler yayınlamak, kullanıcıların bir uygulamanın yayınlama iznini iptal etmesine neden olabilir.

Kullanıcıların canlı güncellemeleri tamamen devre dışı bırakmasını önlemek için kullanıcıların kapatabileceği güncellemeler yayınlamayın. Kullanıcının reddettiği canlı güncellemeleri yeniden yayınlamayın. Reddedilen güncellemeleri algılamak için setDeleteIntent simgesini kullanın.