Bildirimler hakkında

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 özelliklerle ilgili genel bir bakış sunulmaktadır. Bildirim oluşturmaya başlamak için Bildirim oluşturma başlıklı makaleyi inceleyin.

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

Cihazlardaki görünümler

Bildirimler, farklı konumlarda ve şekillerde 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, eşlenmiş giyilebilir cihazlarda da gösterilir.

Durum çubuğu ve bildirim çekmecesi

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

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

Kullanıcılar, daha fazla ayrıntı görüntüleyebilecekleri ve bildirimle işlemler gerçekleştirebilecekleri bildirim çekmecesini açmak için durum çubuğunu aşağı kaydırabilirler.

Şekil 2. Bildirim çekmecesindeki bildirimler.

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 yalnızca cihazın kilidi açıkken görünen önemli bildirimler için kullanılmaktadır.

3.Şekil Ön plan uygulamasının önünde görünen bir uyarı bildirimi

Uyarı bildirimi, uygulamanız bildirimi yayınladığında 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ıyordur).

  • Bildirim yüksek önceliğe sahiptir ve Android 7.1 (API seviyesi 25) ve önceki sürümlerini çalıştıran cihazlarda zil sesleri veya titreşimler kullanmaktadır.

  • Bildirim kanalı, Android 8.0 (API düzeyi 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ın yayınladığı bildirimlerin güvenli bir kilit ekranında gösterilip gösterilmeyeceğini ve gösterilecekse hangi ayrıntı düzeyinde gösterileceğini programatik olarak ayarlayabilirsiniz.

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

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

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

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 rozetle belirtir.

Kullanıcılar, söz konusu uygulamanın bildirimlerini görmek için bir uygulama simgesine dokunup basılı tutabilirler. Kullanıcılar, bildirim çekmecesine benzer şekilde, bu menüdeki bildirimleri kapatabilir veya bildirimlerden işlem yapabilirler.

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 konusunu okuyun.

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.

Giyilebilir cihazlarda bildirimlerinizin görünümünü özelleştirerek ve önerilen yanıtlar ile ses girişiyle yanıtlar da dahil olmak üzere farklı işlemler sağlayarak deneyimi geliştirebilirsiniz. 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 göre belirlenir. Uygulamanız, şablonun her bir bölümünün içeriklerini tanımlar. Bildirimin bazı ayrıntıları yalnızca genişletilmiş görünümde gösterilir.

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

Bildirimlerin en yaygın kısımları Şekil 7'de şu şekilde belirtilmiştir:

  1. Küçük simge: gereklidir; 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: isteğe bağlıdır; genellikle yalnızca kişi fotoğrafları için kullanılır. Uygulama simgenizde kullanmayın. setLargeIcon() kullanarak ayarlayın.
  5. Başlık: isteğe bağlıdır ve setContentTitle() kullanılarak ayarlanır.
  6. Metin: İsteğe bağlıdır ve setContentText() kullanılarak ayarlanır.

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

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 bildirimin dokunulduğunda uygun bir uygulama etkinliğini açması iyi bir uygulamadır. Bu varsayılan bildirim işlemine ek olarak, uygulama ile ilgili bir görevi (genellikle bir etkinlik açmadan) bildirimden tamamlayan işlem düğmelerini şekil 8'de gösterildiği gibi ekleyebilirsiniz.

Şekil 8. İşlem düğmelerine sahip 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 (API düzeyi 29) ve sonraki sürümlerde platform, önerilen amaca dayalı işlemler içeren işlem düğmelerini otomatik olarak oluşturabilir.

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

Cihazın 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 etkinlik başlatmasına veya doğrudan yanıt göndermesine neden oluyorsa uygulamanın bu bildirim işlemini çağırması için kullanıcıların cihazın kilidini açması gerekir.

Android 12 (API düzeyi 31) ve sonraki sürümlerde, uygulamanızın bu işlemi başlatması için cihazın kilidinin açılması gerektiği şekilde bir bildirim işlemi yapılandırabilirsiniz. Bu, işlemin hangi iş akışını başlattığına bakılmaksızın geçerlidir. 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 true değerini setAuthenticationRequired() içine iletin:

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. Bildiriminizin daha uzun olmasını isterseniz Ş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 bir bildirim.

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 inceleyin.

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 ya da ileti dizisi güncellemelerini göstermek için gelen kutusu stilindeki bildirimi kullanın.

Bununla birlikte, birden fazla bildirimin sağlanması gerekiyorsa ayrı bildirimleri bir grupta gruplandırma seçeneğini değerlendirmeniz gerekir (bu özellik, Android 7.0 ve sonraki sürümlerde mevcuttur).

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. Bu işlem Şekil 10'da gösterilmiştir.

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

Bir gruba nasıl bildirim ekleneceğini öğrenmek için Bildirim grubu oluşturma konusuna bakın.

Bildirim kanalları

Android 8.0 (API düzeyi 26) sürümünden başlayarak, tüm bildirimlerin bir kanala atanması gerekir; aksi takdirde, bildirim görüntülenmez. Bu sayede kullanıcılar, tüm bildirimlerinizi devre dışı bırakmak yerine uygulamanız için belirli bildirim kanallarını devre dışı bırakabilir. Kullanıcılar, Şekil 11'de gösterildiği gibi her kanalın görsel ve işitsel seçeneklerini Android sistem ayarlarından kontrol edebilir. Ayrıca kullanıcılar, ilgili kanalın davranışlarını değiştirmek için bir bildirime dokunup basılı tutabilirler.

Android 7.1 (API düzeyi 25) ve önceki sürümlerini çalıştıran cihazlarda, kullanıcılar bildirimleri yalnızca uygulama temelinde yönetebilirler. Android 7.1 ve önceki sürümlerde her uygulamanın etkin bir şekilde tek 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. Bir uygulama, kullanıcılar tarafından yapılan seçimlere yanıt olarak da bildirim kanalları oluşturabilir. Örneğin, bir kullanıcının bir mesajlaşma uygulamasında oluşturduğu her ileti dizisi grubu için ayrı bildirim kanalları kurabilirsiniz.

Android 8.0 ve sonraki sürümlerde, kanal aynı zamanda bildirimlerinizin önem düzeyini belirttiğiniz yerdir. Dolayısıyla, aynı bildirim kanalında yayınlanan 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 çalışmasını ne kadar keseceğini (görsel ve işitsel olarak) belirlemek için bildirimin önem değerini kullanır. Bir bildirimin önem değeri ne kadar yüksek olursa bildirim, kullanıcının çalışmasını o kadar fazla keser.

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

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 bildirim kanalının önemini değiştirebilir.

Şekil 12. Android 8.0 ve sonraki sürümlerde kullanıcılar her bir kanalın önemini değiştirebilirler.

Olası önem düzeyleri ve bunlarla 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 değerinden bağımsız olarak tüm bildirimler, bildirim çekmecesindeki gibi veya başlatıcı simgesinde bir rozet olarak kesintiye neden olmayan 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 önemi ayarlama hakkında bilgi edinin.

Rahatsız Etmeyin modu

Android 5.0 (API düzeyi 21) sürümünden başlayarak, kullanıcılar tüm bildirimler için sesi ve titreşimi kapatan Rahatsız Etmeyin modunu etkinleştirebilirler. Kullanıcı aksini belirtmedikçe, bildirimler sistem kullanıcı arayüzünde normal şekilde görünmeye devam eder.

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

  • Tam sessizlik: Bu seçenek tüm sesleri ve titreşimleri engeller. Buna alarmlar, müzik, videolar ve oyunlar dahildir.
  • Yalnızca alarmlar: Alarmlar dışındaki tüm sesleri ve titreşimleri engeller.
  • Yalnızca öncelikliler: Kullanıcılar, sistem genelinde hangi kategorilerin (yalnızca alarmlar, hatırlatıcılar, etkinlikler, çağrılar veya mesajlar gibi) çalışmalarını kesebileceğini yapılandırabilirler. Mesajlar ve çağrılar 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önderene 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, bir ödeme uygulamasında para çekme ve para yatırma işlemleriyle ilgili bildirimler için kanallar bulunabilir. Kullanıcı, öncelikli modunda 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 sistem genelinde bir kategori ayarlamanız gerekir.

Ön plan hizmetleri için bildirimler

Uygulamanız bir ön plan hizmetini çalıştırırken 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. Bildirimi kaldırmak için hizmetin durdurulması veya ön plan durumundan çıkarılması gerekir.

Daha fazla bilgi için Ön plan hizmetleri başlıklı makaleyi inceleyin. Bir medya oynatıcı oluşturuyorsanız Arka planda medya oynatma konusunu da 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:

  • Özet içermeyen bildirimler
  • Çocuk bildirimleri olmadan bildirimler
  • Tek veya az sayıda alt bildirim içeren bildirimler

Android 15.0, API düzeyi 35

Bekleme Süresi

Android 15, hızlı bir şekilde gelen bildirimlerin deneyimini iyileştirmeyi amaçlayan bir bildirim bekleme süresi özelliği sunuyor. Bu özellik, tekrarlayan 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 bekleme süresini devre dışı bırakabilir.

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

Bildirim bekleme süresi ayarlarının nasıl bulunacağına dair bir örneği aşağıda görebilirsiniz:

Kotlin

val intent = Intent(Settings.ACTION_MANAGE_ADAPTIVE_NOTIFICATIONS)
val pendingIntent =
            PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_IMMUTABLE)

Java

Intent intent = new Intent(Settings.ACTION_MANAGE_ADAPTIVE_NOTIFICATIONS)
PendingIntent pendingIntent =
            PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_IMMUTABLE)