Bildirimlere genel bakış

Bildirim, Android'in kullanıcıya hatırlatıcıları, diğer kullanıcıların iletişimlerini veya zamanında uygulamanızdan gelen diğer bilgileri sağlamak için uygulamanızın kullanıcı arayüzü dışında gösterdiği mesajdır. Kullanıcılar, bildirime dokunarak uygulamanızı açabilir veya bir işlemi doğrudan bildirimden gerçekleştirebilirler.

Bu sayfada bildirimlerin göründükleri yerler ve kullanabileceğiniz özellikleriyle ilgili genel bir bakış sunulmaktadır. Bildirim oluşturmaya başlamak için Bildirim oluşturma başlıklı makaleyi okuyun.

Bildirim tasarımı ve etkileşim kalıpları hakkında daha fazla bilgi için Bildirim tasarımı rehberini inceleyin.

Cihazlardaki görünümler

Bildirimler, farklı konum ve biçimlerdeki kullanıcılara otomatik olarak gösterilir. Bildirimler, durum çubuğunda bir simge, bildirim çekmecesinde daha ayrıntılı bir giriş ve uygulama simgesi üzerinde bir rozet biçiminde görünür. Bildirimler de görünebilir.

Durum çubuğu ve bildirim çekmecesi

Yayınladığınız bir bildirim ilk olarak durum çubuğunda bir simge olarak görünür.

Şekil 1. Bildirim simgeleri durumun sol tarafında görünür çubuk.

Kullanıcılar, durum çubuğunu aşağı kaydırarak bildirim çekmecesini açabilirler. Burada, Daha fazla ayrıntı görebilir ve bildirimle işlem yapabilir.

Şekil 2. Bildirim çekmecesindeki bildirimler'e dokunun.

Kullanıcılar, sağlanan ek içerik ve işlem düğmelerini gösteren genişletilmiş görünümü açmak için çekmecedeki bir bildirimi aşağı doğru sürükleyebilirler. Android 13'ten itibaren bu genişletilmiş görünümde, kullanıcıların devam eden ön plan hizmetleri olan bir uygulamayı durdurmasına olanak tanıyan bir düğme yer alır.

Bildirimler, uygulama veya kullanıcı tarafından kapatılıncaya kadar bildirim çekmecesinde görünmeye devam eder.

Uyarı bildirimi

Android 5.0 sürümünden itibaren bildirimler kısa bir süre için uyarı bildirimi adı verilen kayan bir pencerede gösterilmeye başlanmıştır. Bu davranış normalde kullanıcının hemen bilmesi gereken ve bu bildirimleri cihazın kilidini açın.

Şekil 3. Bir uyarı bildirimi, ön plan uygulaması.

Uygulamanız bildirimi yayınladığında uyarı bildirimi görünür. Bildirim, kısa bir süre sonra kaybolur ancak bildirim çekmecesinde her zaman olduğu gibi görünür durumda kalır.

Uyarı bildirimlerini tetikleyebilecek koşullar şunlardır:

  • Kullanıcının etkinliği tam ekran modundadır (ör. uygulama fullScreenIntent kullanırken).

  • Bildirim yüksek önceliğe sahip ve açık zil sesleri veya titreşimler kullanıyor Android 7.1 (API düzeyi 25) ve önceki sürümleri çalıştıran cihazlar.

  • Bildirim kanalı, Android 8.0 (API seviyesi 26) ve sonraki sürümleri çalıştıran cihazlarda yüksek önem düzeyine sahiptir.

Kilit ekranı

Android 5.0 sürümünden itibaren bildirimler kilit ekranında görünebilir.

Uygulamanız tarafından yayınlanan bildirimlerin güvenli kilit ekranını ve varsa görünür ayrıntı düzeyini belirleyin.

Kullanıcılar, kilitde görünecek ayrıntı düzeyini seçmek için sistem ayarlarını kullanabilir veya tüm kilit ekranı bildirimlerini devre dışı bırakabilirsiniz. Başlangıç Android 8.0 ile birlikte, kullanıcılar her biri için kilit ekranı bildirimlerini devre dışı bırakabilir veya etkinleştirebilir bildirim kanalı.

Şekil 4. Hassas içeriğe sahip kilit ekranında gizlenen bildirimler

Daha fazla bilgi edinmek için Kilit ekranını ayarlama konusuna bakın. görünürlük.

Uygulama simgesi rozeti

Android 8.0 (API seviyesi 26) ve sonraki sürümlerini çalıştıran cihazlardaki desteklenen başlatıcılarda, uygulama simgeleri, yeni bildirimleri ilgili uygulama başlatıcı simgesinde bildirim noktası olarak bilinen renkli bir rozet ile belirtir.

Kullanıcılar, bir uygulama simgesine dokunup basılı tutarak ilgili uygulamanın bildirimlerini görebilirler. Kullanıcılar, bildirim çekmecesine benzer şekilde, bu menüdeki bildirimleri kapatabilir veya bildirimlerden işlem yapabilirler.

5. Şekil. Bildirim rozetleri ve dokunma & basılı tutma menüsünü kullanın.

Rozetlerin işleyiş şekli hakkında daha fazla bilgi edinmek için Bildirimde değişiklik yapma rozeti ekleyin.

Wear OS cihazlar

Kullanıcının eşlenmiş bir Wear OS cihazı varsa genişletilebilir ayrıntı ve işlem düğmeleri de dahil olmak üzere tüm bildirimleriniz söz konusu cihazda otomatik olarak görünür.

Reklamınızın görünümünü özelleştirerek deneyimi geliştirebilirsiniz. Android cihazlarda farklı işlemler (ör. önerilen yanıtlar ve ses girişi yanıtları. Daha fazla bilgi için bildiriminize giyilebilir cihazlara özel özellikleri nasıl ekleyebileceğinizi öğrenin.

6. Şekil. Bildirimler eşlenmiş bir Wear OS cihazında otomatik olarak görünür.

Bildirim anatomisi

Bir bildirimin tasarımı, sistem şablonlarına ve uygulamanıza göre belirlenir şablonun her bölümünün içeriğini tanımlar. Bununla ilgili bazı bildirim yalnızca genişletilmiş görünümde görünür.

Şekil 7. Temel ayrıntılara sahip bir bildirim.

Bildirimlerin en yaygın kısımları Şekil 7'de aşağıdaki gibi belirtilmiştir:

  1. Küçük simge: zorunlu; şunu kullanarak ayarla: setSmallIcon()
  2. Uygulama adı: Sistem tarafından sağlanır.
  3. Zaman damgası: Sistem tarafından sağlanır ancak setWhen() kullanarak geçersiz kılabilir veya setShowWhen(false) kullanarak gizleyebilirsiniz.
  4. Büyük simge: İsteğe bağlıdır; genellikle yalnızca kişi fotoğrafları için kullanılır. Uygulama simgeniz için kullanmayın. setLargeIcon() ile ayarlayın.
  5. Başlık: isteğe bağlı; şunu kullanarak ayarla: setContentTitle()
  6. Metin: isteğe bağlı; şunu kullanarak ayarla: setContentText()

Tüm cihazlarda doğru tasarım uyumluluğu için sistem şablonlarını kullanmanızı önemle tavsiye ederiz. Gerekirse özel bir bildirim oluşturabilirsiniz düzen seçeneğini belirleyin.

Bu özelliklerle bildirim oluşturma ve daha fazlası hakkında bilgi edinmek için Bildirim oluşturma konusunu okuyun.

Bildirim işlemleri

Zorunlu olmamakla birlikte, her bildirim dokunulduğunda uygun bir uygulama etkinliğini açmalıdır. Bu varsayılan ayara ek olarak bildirim işlemine ilişkin bir bildirimle, uygulamayla ilgili bir işlemi tamamlayan bildirimdeki bir görevi (genellikle herhangi bir etkinlik açmadan) Şekil 8'de gösterilmiştir.

8. Şekil. İşlem düğmeleri bulunan bir bildirim.

Android 7.0 (API düzeyi 24) sürümünden başlayarak, doğrudan bildirimden mesajları yanıtlamak veya başka bir metin girmek için bir işlem de ekleyebilirsiniz.

Android 10'dan (API düzeyi 29) itibaren platform, önerilen amaca dayalı işlemler içeren işlem düğmeleri.

İşlem düğmelerinin eklenmesi Bildirim oluşturma konusunda daha ayrıntılı bir biçimde açıklanmaktadır.

Kilidi açılmış cihazı zorunlu kılma

Kullanıcılar cihazın kilit ekranında bildirim işlemleri görebilir. bildirim işlemi, uygulamanın bir etkinlik başlatmasına veya doğrudan yanıt göndermesine neden oluyorsa Uygulamanın bu bildirim işlemini çağırabilmesi için önce kullanıcıların cihazın kilidini açması gerekir.

Android 12 (API düzeyi 31) ve sonraki sürümlerde bir bildirim işlemi yapılandırabilirsiniz. uygulamanızın bu işlemi çağırması için cihazın kilidinin açık olması gerekir. hangi iş akışını başlattığınız önemli. Bu seçenek, kilitli cihazlardaki bildirimlere ek bir güvenlik katmanı ekler.

Uygulamanız belirli bir bildirimi çağırmadan önce cihazın kilidinin açılmasını zorunlu tutmak için true parametresini setAuthenticationRequired() aşağıdaki kod snippet'inde gösterildiği gibi bildirim işleminizi oluştururken:

Kotlin

val moreSecureNotification = Notification.Action.Builder(...)

    // This notification always requests authentication when invoked
    // from a lock screen.
    .setAuthenticationRequired(true)
    .build()

Java

Notification moreSecureNotification = new Notification.Action.Builder(...)

    // This notification always requests authentication when invoked
    // from a lock screen.
    .setAuthenticationRequired(true)
    .build();

Genişletilebilir bildirim

Varsayılan olarak, bildirimin metin içeriği bir satıra sığacak şekilde kesilir. Eğer bildiriminizin daha uzun olmasını istiyorsanız, daha geniş bir metin alanı etkinleştirebilirsiniz genişletilebilir, Şekil 9'da gösterildiği gibi ek bir şablon uygulanarak genişletilebilir.

Şekil 9. Büyük boyutlu reklamlar için genişletilebilir metin.

Ayrıca, gelen kutusu stilinde, bir resme, sohbet ileti dizisine veya medya oynatma denetimlerine sahip genişletilebilir bildirim oluşturabilirsiniz. Daha fazla bilgi için Genişletilebilir bildirim oluşturma başlıklı makaleyi okuyun.

Bildirim güncellemeleri ve grupları

Ek güncellemeleriniz olduğunda kullanıcılarınızı birden fazla veya gereksiz bildirimlere maruz bırakmamak için, yeni bir bildirim yayınlamak yerine mevcut bir bildirimi güncelleyin veya ileti dizisi güncellemeleri göstermek için gelen kutusu stilindeki bildirimi kullanın.

Bununla birlikte, birden fazla bildirim göndermek gerekiyorsa bunları gruplandırmayı düşünebilirsiniz. Android 7.0 ve sonraki sürümlerde kullanılabilen bu ayrı bildirimleri grup halinde oluşturabilirsiniz.

Bildirim grubu, birden fazla bildirimi, bildirim çekmecesinde özet içeren tek bir yayına daraltmanıza olanak tanır. Kullanıcı, daha fazla ayrıntı için bildirim grubunu ve içindeki her bir bildirimi aşamalı olarak genişletebilir (Şekil 10).

Şekil 10. Daraltılmış ve genişletilmiş bir bildirim grubu.

Bir gruba nasıl bildirim ekleyeceğinizi öğrenmek için Grup bildirimlerine bakın.

Bildirim kanalları

Android 8.0 (API düzeyi 26) sürümünden itibaren, tüm bildirimlerin reklamlar gösterilmez. Bu, kullanıcıların belirli bildirimleri devre dışı bırakmasına olanak tanır tüm bildirimlerinizi devre dışı bırakmak yerine, uygulamanızın kanallarını izlemek istediğiniz başka bildirimler de alabilirsiniz. Kullanıcılar şunları yapabilir: Android sisteminden her kanal için görsel ve işitsel seçenekleri kontrol et ayarlarını değiştirebilirsiniz. Ayrıca kullanıcılar, ilgili kanalın davranışlarını değiştirmek için bir bildirime dokunup basılı tutabilirler.

Kullanıcılar, Android 7.1 (API düzeyi 25) ve önceki sürümleri çalıştıran cihazlarda yalnızca uygulama bazında bildirim almaktır. Her uygulamanın etkili bir şekilde yalnızca bir kanalı vardır Android 7.1 ve önceki sürümlerde.

Şekil 11. Saat uygulaması ve kanallarından biri için bildirim ayarları.

Bir uygulamanın, uygulamanın yayınladığı her bildirim türü için ayrı kanalları olabilir. Ayrıca, uygulama tarafından yapılan seçimlere yanıt olarak bildirim kanalları da yardımcı olur. Örneğin, her etkinlik için ayrı bildirim kanalları oluşturabilirsiniz. Kullanıcı tarafından bir mesajlaşma uygulamasında oluşturulan görüşme grubu.

Kanal aynı zamanda ekibinizin önem düzeyini Android 8.0 ve sonraki sürümlerde bildirimler alır. Böylece, tüm bildirimler aynı aynı davranışa sahip olduğunu görebilirsiniz. Bu konu aşağıdaki bölümde açıklanmıştır.

Daha fazla bilgi için Bildirim oluşturma ve yönetme kanalları görebilirsiniz.

Bildirimlerin önemi

Android, bir bildirimin kullanıcının çalışmasını ne kadar keseceğini (görsel ve işitsel olarak) belirlemek için bildirimin önem değerini kullanır. Önem derecesi bir bildirimin etkisi o kadar fazla olur.

Android'de 7.1 (API düzeyi 25) ve önceki sürümlerde bir bildirimin önemi bildirimin priority.

Android 8.0 (API düzeyi 26) ve sonraki sürümlerde bir bildirimin önemi, bildirimin yayınlandığı kanalın importance değerine göre belirlenir. Kullanıcılar, Şekil 12'de gösterildiği gibi sistem ayarlarında bir bildirim kanalına gidin.

Şekil 12. Kullanıcılar Android'de her kanalın önemini değiştirebilir 8.0 ve sonraki sürümler.

Olası önem düzeyleri ve ilişkili bildirim davranışları şunlardır:

  • Acil: Bir ses çıkarır ve uyarı bildirimi olarak görünür.

  • Yüksek: Ses çıkarır.

  • Orta: Ses çıkarmaz.

  • Düşük: Ses çıkarmaz ve durum çubuğunda görünmez.

Önem derecesi ne olursa olsun tüm bildirimler rahatsız edici olmayan bir sistemde görünür Bildirim çekmecesi ve başlatıcıdaki bir rozet gibi kullanıcı arayüzü konumları simgesini tıklayın. Ancak bildirim rozetinin görünümünü değiştirebilirsiniz.

Daha fazla bilgi için önem taşır.

Rahatsız Etmeyin modu

Android 5.0 (API düzeyi 21) sürümünden başlayarak, kullanıcılar Rahatsız Etmeyin modunu etkinleştirebilirler. Bu özellik, tüm bildirimler için sesi ve titreşimi kapatır. Bildirimlere ait sabit resim kullanıcı aksini belirtmedikçe sistem arayüzünde normal şekilde görünür.

Rahatsız Etmeyin modunda üç düzey vardır:

  • Tam sessizlik: Alarmlar dahil tüm sesleri ve titreşimleri engeller. müzik, video ve oyunlardır.
  • Yalnızca alarmlar: Alarmlar dışındaki tüm sesleri ve titreşimleri engeller.
  • Yalnızca öncelikliler: Kullanıcılar, sistem genelinde hangi kategorilerin kesintiye uğratamaz. Mesajlar ve aramalar için kullanıcılar, şekil 13'te gösterildiği gibi gönderene veya arayana göre filtreleme yapabilir.

Şekil 13. Kullanıcılar, sistem genelindeki kategorilere (solda) ve gönderen veya arayana (sağda) göre bildirimlere izin verebilirler.

Android 8.0 (API düzeyi 26) ve sonraki sürümlerde kullanıcılar, Rahatsız Etmeyin modunu kanal bazında geçersiz kılarak uygulamaya özel kategoriler (kanallar olarak da bilinir) aracılığıyla bildirimlere izin verebilirler. Örneğin, Örneğin, bir ödeme uygulamasının abonelik ücretiyle ilgili para çekme ve para yatırma işlemleri. Kullanıcı, öncelikli modda para çekme bildirimlerine, para yatırma bildirimlerine veya her ikisine birden izin verebilir.

Android 7.1 (API düzeyi 25) ve önceki sürümlerini çalıştıran cihazlarda, kullanıcılar bildirimlere kanal temelinde değil, uygulama temelinde izin verebilirler.

Bu kullanıcı ayarları için bildirimlerinizi yapılandırmak üzere bir sistem genelinde kategorisi.

Ön plan hizmetleri için bildirimler

Uygulamanız bir ön plan hizmetini çalıştırırken bir bildirim gerekir. Bu hizmet, medya oynatıcı gibi arka planda uzun süre çalışan ve kullanıcının fark edebileceği bir Service işlemi olabilir. Bu bildirim, diğer bildirimler gibi kapatılamaz. Kaldırmak için hizmet durdurulmalı veya ön plandan kaldırılmalıdır. durumu.

Daha fazla bilgi için Ön Plan hizmet. Bir medya oynatıcı oluşturuyorsanız Arka planda medya oynatma konusunu da okuyun.

Yayın sınırları

Android 8.1 (API düzeyi 27) sürümünden itibaren, bir uygulama bildiriminin saniyede bir defadan fazla ses çıkarmasına izin verilmemektedir. Uygulamanız bir uygulamada birden fazla bildirim yayınlarsa ikincisinde hepsi beklendiği gibi görünüyor ancak saniyede yalnızca ilk bildirim bir ses çıkarıyor.

Bununla birlikte, Android bir bildirimi güncellerken hız sınırlaması da uygular. Tek bir bildirim için çok sık güncelleme (birçoğu bir saniyeden kısa sürede) yayınlarsanız sistem güncellemeleri göstermeyebilir.

Bildirim uyumluluğu

Android bildirim sistemi kullanıcı arayüzü ve bildirimle ilgili API'ler sürekli olarak gelişmektedir. Eski cihazları desteklerken en son bildirim API özelliklerini kullanmak için Destek Kitaplığı bildirim API'sini (NotificationCompat), alt sınıflarını ve NotificationManagerCompat'i kullanın. Bu API'ler, API düzeylerini kontrol etme görevini sizin yerinize gerçekleştirdiğinden bunun için koşullu kod yazma zorunluluğunuz ortadan kalkar.

NotificationCompat, platform geliştikçe en yeni bilgileri içerecek şekilde güncellenir. yöntemlerine göz atın. Ancak NotificationCompat üzerinde bir yöntemin kullanılabilirliği ilgili özelliğin eski cihazlarda sağlanacağını garantilemektedir. Bazılarında durumlarda, yeni kullanıma sunulan bir API'nin çağrılması eski cihazlarda işlemin yapılmamasına neden olur.

Aşağıda, Google Cloud'un kullanımı için API düzeyine göre en önemli davranış Android bildirimleri.

Android 5.0, API düzeyi 21

  • Kilit ekranı ve uyarı bildirimleri kullanıma sunuldu.

  • Kullanıcının telefonu Rahatsız Etmeyin moduna ayarlamasına ve cihaz yalnızca öncelikliler modundayken hangi bildirimlerin çalışmasını kesmesine izin verileceğini yapılandırmasına olanak tanır.

  • Bir bildirimin kilit ekranında görüntülenip görüntülenmeyeceğini ayarlamak için yöntemler ekler. örneğin: setVisibility()), ve bildirim metninin "herkese açık" sürümünü belirtmeniz gerekir.

  • Sisteme, setPriority() için iyi bir fırsattır. Örneğin, önceliği yüksek olarak ayarlamak bildirim, uyarı bildirimi olarak görünür.

  • Android Wear (şimdiki adıyla Wear OS) cihazlarına bildirim yığınları desteği eklendi. setGroup() kullanarak bildirimleri bir yığına yerleştirin. Daha sonra grup veya paket olarak bilinen bildirim yığınları, Android 7.0 (API düzeyi 24) sürümüne kadar tabletler veya telefonlar.

Android 7.0, API düzeyi 24

  • Bildirim şablonları, lokomotif resmi ve avatarı vurgulamak için yeniden tasarlandı.

  • Üç bildirim şablonu eklendi: Mesajlaşma uygulamaları için bir, genişletilebilir sağlama ve diğer sistem süslemeleri ile özel içerik görünümlerini süslemek için iki şablon.

  • Telefon ve tablet gibi avuç içi cihazlara destek ekler. bildirim grupları. Android 5.0 (API düzeyi 21) sürümünde kullanıma sunulan Android Wear (şimdiki adıyla Wear OS) bildirim yığınlarıyla aynı API'yi kullanır.

  • Kullanıcıların satır içi yanıtı kullanarak bir bildirimin içinden yanıt vermesine olanak tanır. Metin girebilirler ve bu metin, bildirimin üst uygulamasına yönlendirilir.

Android 8.0, API düzeyi 26

  • Ayrı bildirimlerin belirli bir alt kümeye yerleştirilmesini sağlar kanal işlemlerini de etkinleştirmelisiniz.

  • Kullanıcıların tüm bildirimleri kapatmak yerine bildirimleri kanal bazında kapatmasına olanak tanır. bir uygulamadan bildirim gönderir.

  • Etkin bildirimleri olan uygulamaların, üzerinde bildirim rozeti görüntülemesini sağlar. ana ekranda veya başlatıcı ekranında görünen uygulama simgesine dokunun.

  • Kullanıcıların, çekmecedeki bir bildirimi ertelemesine olanak tanır. Bir bildirim için otomatik zaman aşımı süresi ayarlayabilirsiniz.

  • Bildirimin arka plan rengini ayarlamanıza olanak tanır.

  • Bildirim davranışlarıyla ilgili bazı API'leri taşır: Notification - NotificationChannel. Örneğin, Android 8.0 ve sonraki sürümlerde NotificationCompat.Builder.setPriority() yerine NotificationChannel.setImportance() kullanın.

Android 13.0, API düzeyi 33

Android 14.0, API düzeyi 34

  • Tam ekran intent bildirimlerini, telefon araması sağlayan ve alarmlar. NotificationManager.canUseFullScreenIntent API'sini kullanarak uygulamanızın izni olup olmadığını kontrol edin. Aksi takdirde uygulamanız, kullanıcıların izni verebileceği ayarlar sayfasını açmak için ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT kullanabilir.

  • Notification.FLAG_ONGOING_EVENT işareti ayarlanmış olsa bile kullanıcıların bildirimleri kapatmasına izin vererek kullanıcıların kapatılamayan bildirimleri deneyimleme şeklini değiştirir. Şunlar için geçerli değildir: Notification.FLAG_ONGOING_EVENT işareti olduğunda CallStyle bildirim için kurumsal Bu, telefon kilitliyken veya kullanıcı Tümünü temizle'yi seçer.