Bildirimler hakkında

Bildirim, Android'in uygulamanızın kullanıcı arayüzü dışında gösterdiği bir mesajdır. Kullanıcıya hatırlatıcılar, diğer kişilerden gelen mesajlar veya uygulamanızdan gelen diğer güncel bilgiler sunar. Kullanıcılar bildirime dokunarak uygulamanızı açabilir veya doğrudan bildirimden işlem yapabilir.

Bu sayfada, bildirimlerin nerede göründüğü ve kullanılabilir özellikler hakkında genel bilgiler verilmektedir.

Uygulama kılavuzları

Aşağıdaki kılavuzlarda, uygulamanızda çeşitli bildirim özelliklerini nasıl uygulayacağınız gösterilmektedir:

Bildirim tasarımı ve etkileşim kalıpları hakkında daha fazla bilgi için Bildirim tasarımı kılavuzuna bakın.

Cihazlardaki görünümler

Bildirimler, kullanıcılara farklı konumlarda ve biçimlerde otomatik olarak gösterilir. Bildirimler durum çubuğunda simge, bildirim çekmecesinde daha ayrıntılı bir giriş ve uygulama simgesinde rozet olarak görünür.

Cihazlar arası davranış

Bildirimler, varsayılan olarak eşlenen giyilebilir cihazlarda da gösterilir. Bildirim içeriğinin yalnızca kaynak cihazla alakalı olduğu senaryolarda setLocalOnly() kullanın. Medya indirme işleminin tamamlandığını onaylayan bildirim buna örnek verilebilir. Wear OS bildirimlerine özel daha fazla bilgi için Wear OS bildirimleri kılavuzuna bakın.

Durum çubuğu ve bildirim çekmecesi

Bir bildirim yayınladığınızda, bu bildirim ilk olarak durum çubuğunda bir simge olarak görünür.

Şekil 1. Bildirim simgeleri, durum çubuğunun sol tarafında görünür.

Kullanıcılar, durum çubuğunu aşağı kaydırarak bildirim çekmecesini açabilir. Burada daha fazla ayrıntı görüntüleyebilir ve bildirimle ilgili işlem yapabilirler.

Şekil 2. Bildirim çekmecesindeki bildirimler.

Kullanıcılar, çekmecedeki bir bildirimi aşağı sürükleyerek genişletilmiş görünümü açabilir. Bu görünümde, varsa ek içerik ve işlem düğmeleri gösterilir. Android 13'ten itibaren bu genişletilmiş görünümde, kullanıcıların ön planda devam eden hizmetleri olan bir uygulamayı durdurmasına olanak tanıyan bir düğme bulunur.

Bildirim, uygulama veya kullanıcı tarafından kapatılana kadar bildirim çekmecesinde görünür durumda kalır.

Uyarı bildirimi

Android 5.0'dan itibaren bildirimler, kayan bildirim adı verilen kayan bir pencerede kısa bir süre görünebilir. Bu davranış normalde kullanıcının hemen bilmesi gereken önemli bildirimler içindir ve yalnızca cihazın kilidi açıksa görünür.

Şekil 3. Ön planda çalışan uygulamanın önünde bir uyarı bildirimi görünür.

Uyarı bildirimi, uygulamanız bildirimi yayınladığında görünür. Bir süre sonra kaybolur ancak her zamanki gibi bildirim çekmecesinde görünür kalır.

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

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

  • Bildirim yüksek önceliklidir ve Android 7.1 (API düzeyi 25) ve önceki sürümleri çalıştıran cihazlarda zil sesleri veya titreşimler kullanır.

  • Bildirim kanalı, Android 8.0 (API düzeyi 26) ve sonraki sürümleri çalıştıran cihazlarda yüksek öneme 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 bir kilit ekranında gösterilip gösterilmeyeceğini ve gösterilecekse görünür ayrıntı düzeyini programatik olarak ayarlayabilirsiniz.

Kullanıcılar, kilit ekranı bildirimlerinde görünen ayrıntı düzeyini seçmek veya tüm kilit ekranı bildirimlerini devre dışı bırakmak için sistem ayarlarını kullanabilir. Android 8.0'dan itibaren kullanıcılar, her bildirim kanalı için kilit ekranı bildirimlerini devre dışı bırakabilir veya etkinleştirebilir.

Şekil 4. Kilit ekranında hassas içerikleri gizlenmiş bildirimler

Daha fazla bilgi için Kilit ekranı görünürlüğünü ayarlama başlıklı makaleyi inceleyin.

Uygulama simgesi rozeti

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

Kullanıcılar bir uygulama simgesine dokunup basılı tutarak o uygulamanın bildirimlerini görebilir. Kullanıcılar, bildirim çekmecesine benzer şekilde bu menüden bildirimleri kapatabilir veya bildirimlerle ilgili işlem yapabilir.

5. şekil Bildirim rozetleri ve dokunup basılı tutma menüsü.

Rozetlerin işleyiş şekli hakkında daha fazla bilgi edinmek için Bildirim rozetini değiştirme başlıklı makaleyi okuyun.

Wear OS cihazlar

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

Giyilebilir cihazlarda bildirimlerinizin görünümünü özelleştirerek ve önerilen yanıtlar ile sesli giriş yanıtları gibi farklı işlemler sunarak deneyimi iyileştirebilirsiniz. Daha fazla bilgi için bildiriminize giyilebilir cihazlara özgü özellikler ekleme başlıklı makaleyi inceleyin.

Şekil 6. Bildirimler, eşlenen Wear OS cihazlarda otomatik olarak görünür.

Bildirim anatomisi

Bildirimin tasarımı sistem şablonları tarafından belirlenir ve uygulamanız, şablonun her bölümünün içeriğini tanımlar. Bildirimin bazı ayrıntıları yalnızca genişletilmiş görünümde gösterilir.

Şekil 7. Temel ayrıntıları içeren bir bildirim.

Bir bildirimin en yaygın bölümleri Şekil 7'de gösterilmiştir:

  1. Küçük simge: Zorunlu; setSmallIcon() kullanılarak ayarlanır.
  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() kullanarak ayarlayın.
  5. Başlık: İsteğe bağlıdır. setContentTitle() kullanarak ayarlanır.
  6. Metin: İsteğe bağlı; setContentText() kullanılarak ayarlanır.

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

Bu özelliklerle ve daha fazlasıyla bildirim oluşturma hakkında daha fazla bilgi edinmek için Bildirim oluşturma başlıklı makaleyi okuyun.

Bildirim işlemleri

Zorunlu olmasa da her bildirimin dokunulduğunda uygun bir uygulama etkinliğini açması iyi bir uygulamadır. Bu varsayılan bildirim işlemine ek olarak, Şekil 8'de gösterildiği gibi, bildirimden uygulamayla ilgili bir görevi tamamlayan (genellikle bir etkinlik açmadan) işlem düğmeleri ekleyebilirsiniz.

8. şekil İşlem düğmeleri içeren bir bildirim.

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

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

İşlem düğmeleri ekleme hakkında daha fazla bilgi için Bildirim oluşturma başlıklı makaleyi inceleyin.

Cihaz kilidinin açılmasını zorunlu kılma

Kullanıcılar, cihazın kilit ekranında bildirim işlemlerini görebilir. Bir bildirim işlemi, uygulamanın bir etkinlik başlatmasına veya hızlı yanıt göndermesine neden oluyorsa kullanıcıların, uygulama bu bildirim işlemini çağırmadan önce cihazın kilidini açması gerekir.

Android 12 (API düzeyi 31) ve sonraki sürümlerde, bildirim işlemini, işlemin başlattığı iş akışı ne olursa olsun uygulamanızın bu işlemi çağırabilmesi için cihazın kilidinin açılması gerekecek şekilde yapılandırabilirsiniz. Bu seçenek, kilitli cihazlardaki bildirimlere ekstra bir güvenlik katmanı ekler.

Uygulamanız belirli bir bildirim işlemini çağırmadan önce cihazın kilidinin açılmasını zorunlu kılmak için aşağıdaki kod snippet'inde gösterildiği gibi bildirim işleminizi oluştururken setAuthenticationRequired() öğesine true değerini iletin:

val intent = Intent(
    context, null
    /** Replace with a valid target activity */
)
val moreSecureNotification = NotificationCompat.Action.Builder(
    0, "Reply",
    PendingIntentCompat.getActivity(context, 0, intent, PendingIntent.FLAG_NO_CREATE, false)
)
    // 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. Bildiriminizin daha uzun olmasını istiyorsanız Şekil 9'da gösterildiği gibi ek bir şablon uygulayarak genişletilebilir daha büyük bir metin alanını etkinleştirebilirsiniz.

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

Ayrıca resim içeren, gelen kutusu stilinde, sohbet görüşmesi içeren veya medya oynatma kontrolleri içeren genişletilebilir bir bildirim de 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 bildirimle boğmamak için yeni bir bildirim yayınlamak yerine mevcut bir bildirimi güncelleyin veya görüşme güncellemelerini göstermek için gelen kutusu tarzı bildirimi kullanın.

Ancak birden fazla bildirim göndermeniz gerekiyorsa ayrı bildirimleri bir grupta toplamayı düşünebilirsiniz. Bu özellik Android 7.0 ve sonraki sürümlerde kullanılabilir.

Bildirim grubu, birden fazla bildirimi bildirim çekmecesinde özet içeren tek bir yayında daraltmanıza olanak tanır. Kullanıcı, Şekil 10'da gösterildiği gibi bildirim grubunu ve içindeki her bildirimi kademeli olarak genişleterek daha fazla ayrıntı görebilir.

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

Bir gruba nasıl bildirim ekleyeceğinizi öğrenmek için Bildirim grubu oluşturma başlıklı makaleyi inceleyin.

Bildirim kanalları

Android 8.0 (API düzeyi 26) sürümünden itibaren tüm bildirimlerin bir kanala atanması gerekir. Aksi takdirde bildirimler gösterilmez. Bu sayede kullanıcılar, uygulamanızın tüm bildirimlerini devre dışı bırakmak yerine belirli bildirim kanallarını devre dışı bırakabilir. Kullanıcılar, Şekil 11'de gösterildiği gibi Android sistem ayarlarından her kanalın görsel ve işitsel seçeneklerini kontrol edebilir. Kullanıcılar ayrıca bir bildirime dokunup basılı tutarak ilişkili kanalın davranışlarını değiştirebilir.

Android 7.1 (API düzeyi 25) ve önceki sürümleri çalıştıran cihazlarda kullanıcılar bildirimleri yalnızca uygulama bazında yönetebilir. Android 7.1 ve önceki sürümlerde her uygulamanın yalnızca bir kanalı vardır.

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

Bir uygulamanın, yayınladığı her bildirim türü için ayrı kanalları olabilir. Uygulamalar, kullanıcıların yaptığı seçimlere yanıt olarak da bildirim kanalları oluşturabilir. Örneğin, bir mesajlaşma uygulamasında kullanıcı tarafından oluşturulan her görüşme grubu için ayrı bildirim kanalları oluşturabilirsiniz.

Kanal, Android 8.0 ve sonraki sürümlerde bildirimlerinizin önem düzeyini belirttiğiniz yerdir. Bu nedenle, aynı bildirim kanalına gönderilen tüm bildirimler aynı davranışa sahiptir. Bu durum, aşağıdaki bölümde açıklanmıştır.

Daha fazla bilgi için Bildirim kanalları oluşturma ve yönetme başlıklı makaleyi inceleyin.

Bildirimlerin önemi

Android, bir bildirimin kullanıcının dikkatini görsel ve işitsel olarak ne kadar dağıttığını belirlemek için bildirimin önem düzeyini kullanır. Bir bildirimin önemi ne kadar yüksekse, bildirim o kadar rahatsız edici olur.

Android 7.1 (API düzeyi 25) ve önceki sürümlerde bildirimin önem düzeyi, bildirimin priority değerine göre belirlenir.

Android 8.0 (API düzeyi 26) ve sonraki sürümlerde bir bildirimin önem düzeyi, 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ının önemini değiştirebilir.

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

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

  • Acil: 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, bildirim çekmecesi ve başlatıcı simgesindeki rozet gibi kesintiye uğratmayan sistem kullanıcı arayüzü konumlarında görünür. Ancak bildirim rozetinin görünümünü değiştirebilirsiniz.

Daha fazla bilgi için önem düzeyini ayarlama hakkında bilgi edinin.

Rahatsız Etmeyin modu

Android 5.0 (API düzeyi 21) sürümünden itibaren kullanıcılar, tüm bildirimlerin sesini ve titreşimini kapatan Rahatsız Etmeyin modunu etkinleştirebilir. Kullanıcı aksini belirtmediği sürece bildirimler sistem kullanıcı arayüzünde normal şekilde görünmeye devam eder.

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

  • Tam sessizlik: Alarmlar, müzik, videolar ve oyunlar da dahil olmak üzere tüm sesleri ve titreşimleri engeller.
  • Yalnızca alarmlar: Alarmlar dışındaki tüm sesleri ve titreşimleri engeller.
  • Yalnızca öncelikli: Kullanıcılar, sistem genelinde hangi kategorilerin (ör. yalnızca alarmlar, hatırlatıcılar, etkinlikler, aramalar veya mesajlar) kendilerini kesintiye uğratabileceğini yapılandırabilir. Kullanıcılar, Şekil 13'te gösterildiği gibi mesajları ve aramaları gönderene veya arayana göre filtreleyebilir.
Şekil 13. Kullanıcılar, sistem genelindeki kategorilere (solda) ve gönderene veya arayana (sağda) göre bildirimlere izin verebilir.

Android 8.0 (API düzeyi 26) ve sonraki sürümlerde kullanıcılar, Rahatsız Etmeyin özelliğini kanala göre geçersiz kılarak uygulamaya özel kategoriler (kanallar olarak da bilinir) için bildirimlere izin verebilir. Örneğin, bir ödeme uygulamasında para çekme ve para yatırma işlemleriyle ilgili bildirimler için kanallar olabilir. Kullanıcı, öncelik modundayken para çekme bildirimlerine, para yatırma bildirimlerine veya her ikisine birden izin verebilir.

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

Bildirimlerinizi bu kullanıcı ayarları için yapılandırmak istiyorsanız sistem genelinde bir kategori ayarlamanız gerekir.

Ön plan hizmetleri için bildirimler

Uygulamanız ön plan hizmeti çalıştırırken bildirim gönderilmesi gerekir. Ön plan hizmeti, arka planda çalışan, uzun süreli ve kullanıcı tarafından fark edilebilen bir Service (ör. medya oynatıcı) olabilir. Bu bildirim, diğer bildirimler gibi kapatılamaz. Bildirimi kaldırmak için hizmetin durdurulması veya ön plan durumundan kaldırılması gerekir.

Daha fazla bilgi için Ön plan hizmetleri başlıklı makaleyi okuyun. Medya oynatıcı geliştiriyorsanız Arka planda medya oynatma başlıklı makaleyi de okuyun.

Bildirim davranışları

Android 16.0, API düzeyi 36

Bildirimler artık uygulama adına otomatik olarak gruplandırılıyor.

Aşağıdaki bildirimler otomatik olarak gruplandırılır:

  • Özeti olmayan bildirimler
  • Alt bildirimleri olmayan bildirimler
  • Tek veya az sayıda alt bildirim içeren bildirimler

Android 15.0, API düzeyi 35

Bekleme Süresi

Android 15, arka arkaya gelen bildirimlerle ilgili deneyimi iyileştirmeyi amaçlayan bir bildirim şiddetini düşürme özelliği sunar. Bu özellik, tekrarlanan bildirimlerin görünümünü, ses düzeyini ve titreşim yoğunluğunu iki dakikaya kadar azaltır.

Dikkat çekmek için ses ve dokunma gerektiren önemli bildirimler, bekleme süresine tabi değildir. Kullanıcı, Ayarlar'dan bildirim şiddetini düşürme özelliğini kapatabilir.

Şekil 14. Bildirim şiddetini düşürme ayarları.