Mobil uygulamalarda Interactive Notification: nedir, türleri ve nasıl çalışır

Yazar: IT Sectr Yayınlanma: 2026-03-21 Okuma süresi: 9 dk

Interactive Notification, uygulamayı açmadan bir işlem gerçekleştirmeye olanak tanıyan etkileşimli öğelere sahip bir push bildirimidir. Apple Human Interface Guidelines (2025)'a göre, bu tür bildirimler hedef eyleme kadar olan adım sayısını %40 oranında azaltır. Eylem butonları ve giriş alanları, kullanıcının uygulamayı açmadan bildirim panelinden doğrudan bir mesaja yanıt vermesine, abonelik ödemesi yapmasına veya rezervasyon onaylamasına olanak tanır.

Önemli noktalar

  • Interactive Notification, uygulamayı açmadan çalışan butonlar veya giriş alanı olan bir bildirimdir.
  • Kullanıcı, bildirim panelinden doğrudan bir mesaja yanıt verebilir, bir eylemi onaylayabilir veya metin girebilir.
  • iOS, etkileşim oluşturmak için UNNotificationContentExtension'i kategoriler ve eylemlerle birlikte kullanır.
  • Android, etkileşimli bildirimleri NotificationCompat ve RemoteInput aracılığıyla destekler.
  • Etkileşim, etkileşimli bildirimlere sahip uygulamalarda Localytics (2025)'e göre %28 artar.

Interactive Notification Nedir

Interactive Notification, etkileşimli kontroller (butonlar, anahtarlar ve metin giriş alanları) içeren push bildiriminin genişletilmiş bir biçimidir. Yalnızca bilgi veren standart bildirimin aksine, etkileşimli bildirim kullanıcının bildirim panelinden veya kilit ekranından doğrudan hedef eylemi gerçekleştirmesine olanak tanır. Google Material Design (2025)'e göre, etkileşimli bildirimler ana uygulama sürecini başlatmadan işletim sistemi tarafından işlenir — bu, pil kaynaklarından tasarruf sağlar ve yanıt süresini hızlandırır. Geliştirici, iOS'ta kategoriler ve Android'te kanallar aracılığıyla bir dizi eylem tanımlar ve sistem bunları bağlama göre görüntüler.

Etkileşimli bildirimin yapısı

Her etkileşimli bildirim üç düzeyden oluşur: ana içerik (başlık, gövde), eylemler (butonlar) ve isteğe bağlı metin girişi. iOS'ta bu bileşenler UNNotificationCategory aracılığıyla, Android'te ise NotificationCompat.Action.Builder aracılığıyla birleştirilir. Sistem, işletim sistemi sürümüne ve metin uzunluğuna bağlı olarak bildirim metninin altında butonları daraltılmış veya genişletilmiş görünümde gösterir. Kullanıcı, bildirimi aldıktan hemen sonra kullanılabilir eylemleri görür ve uygulamaya geçmeden bunlardan birini gerçekleştirebilir.

Etkileşimli Bildirimler Nasıl Çalışır

Interactive Notification çalışma mekanizması iki aşamaya ayrılır: uygulama başlatıldığında kategorilerin kaydedilmesi ve kullanıcı dokunduğunda eylemin işlenmesi. Kayıt aşamasında geliştirici, bir dizi eylem içeren kategori nesneleri oluşturur — her eylemin bir tanımlayıcısı, başlığı ve seçenekleri vardır. Bir push bildirimi alındığında, sistem categoryIdentifier alanıyla kayıtlı kategoriyle eşleştirir ve otomatik olarak ilgili butonları ekler. Kullanıcı bir butona dokunduğunda, sistem eylem tanımlayıcısıyla birlikte UNUserNotificationCenter temsilcisini veya Android'te PendingIntent'i çağırır ve sonucu uygulamaya geri gönderir. WWDC 2024'e göre, doğru yapılandırmayla iOS'ta etkileşimli bir eylemin işlem süresi 200 ms'yi geçmez.

Etkileşimli Bildirim Türleri

Etkileşimli bildirimler etkileşim yöntemine göre üç ana türe ayrılır: buton tabanlı, metin tabanlı ve çoklu ortam. Her tür kendi görevini çözer ve belirli senaryolarda kullanılır. Tür seçimi bağlama bağlıdır — kullanıcıdan ne kadar az adım gerekirse dönüşüm o kadar yüksek olur. Apple ve Google, onay için butonlar, yanıtlar için giriş alanları ve içerik önizlemesi için medya kullanılmasını önerir.

Eylem butonları

En yaygın tür, her biri önceden tanımlanmış bir eylemi gerçekleştiren bir veya daha fazla butona sahip bildirimdir. Örneğin, takvim etkinliği için “Kabul Et” ve “Reddet” butonları, bir mesaj için “Beğen” ve “Yanıtla” butonları. iOS dört butona kadar destekler, Android — üçe kadar. Butonlar önceliğe göre gruplandırılabilir: normal ve yıkıcı (onay ile). Apple, kilit ekranında kullanıcı rahatlığı için ikiden fazla ana buton olmamasını önerir.

Metin girişi

RemoteInput, kullanıcının uygulamayı açmadan doğrudan bildirimin içine metin girmesine olanak tanıyan bir teknolojidir. iOS'ta bunun için UNTextInputNotificationAction kullanılır, Android'te — girilen metni çıkarmak için bir anahtarla RemoteInput.Builder. En sık mesajlaşma uygulamalarında bir mesaja hızlı yanıt vermek için kullanılır. Girilen metin, bildirim hizmeti veya yerel işleyici aracılığıyla uygulamaya iletilir. Sınırlama, metnin biçimlendirme içerememesidir, yalnızca düz dize.

Medya içeriği

Medya ekleri olan bildirimler, bildirim panelinde doğrudan resim, ses ve video görüntülemeye olanak tanır. iOS'ta bu, UNNotificationAttachment aracılığıyla, Android'te — BigPictureStyle ile NotificationCompat.MessagingStyle aracılığıyla uygulanır. Medya, push sağlayıcı sunucusu tarafından yüklenir ve ek olarak bildirimle birlikte gönderilir. Ek boyutu sınırlıdır — Apple 10 MB'ı, Google — resimler için 1 MB'ı geçmemeyi önerir. Medya içeriği, haberler, pazar yerleri ve sosyal ağlar için bildirimlerin bilgilendiriciliğini artırır.

iOS'ta Uygulama

iOS'ta Interactive Notification, UNNotificationCategory ve UNNotificationAction kullanılarak UserNotifications çerçevesi aracılığıyla uygulanır. Uygulama başlangıçta kategorileri kaydeder ve bir bildirim alındığında sistem otomatik olarak ilgili butonları görüntüler. Eylemleri işlemek için userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler yönteminin uygulanması gerekir. Aşağıda, Swift'te bir buton ve metin girişi olan bir kategoriyi kaydetme örneği verilmiştir.

Bildirim kategorilerini kaydetme

swift
import UserNotifications

let replyAction = UNTextInputNotificationAction(
    identifier: "reply",
    title: "Yanıtla",
    options: [.authenticationRequired],
    textInputButtonTitle: "Gönder",
    textInputPlaceholder: "Mesaj girin…"
)

let category = UNNotificationCategory(
    identifier: "message",
    actions: [replyAction],
    intentIdentifiers: [],
    options: []
)

UNUserNotificationCenter.current()
    .setNotificationCategories([category])

setNotificationCategories çağrıldıktan sonra sistem kategorileri kaydeder ve sonraki tüm bildirimler için kullanır. Kod, kategorileri yeni sürümlerle senkronize etmek için her uygulama başlatıldığında çağrılmalıdır. Yanıt işleme, bildirim merkezi temsilcisinde gerçekleştirilir — uygulama, daha sonra işlenmek üzere eylem tanımlayıcısını ve girilen metni alır.

Butona basma işlemi

swift
func userNotificationCenter(
    _ center: UNUserNotificationCenter,
    didReceive response: UNNotificationResponse,
    withCompletionHandler completion: @escaping VoidBlock
) {
    if response.actionIdentifier == "reply" {
        let textResponse = response as! UNTextInputNotificationResponse
        let message = textResponse.userText
        sendMessage(message)
    }
    completion()
}

userNotificationCenter yöntemi, kullanıcı bir butona dokunduktan veya metin gönderdikten sonra sistem tarafından çağrılır. İşleyici içinde actionIdentifier kontrol edilir — kayıtlı tanımlayıcıyla eşleşirse uygulama, userText'ten girilen metni çıkarır ve sunucuya gönderir. Metin girişi olmayan normal butonlar için tür dönüşümü olmadan UNNotificationResponse kullanılır.

Android'te Uygulama

Android'te etkileşimli bildirimler, NotificationCompat sınıfı aracılığıyla addAction ve RemoteInput yöntemleriyle oluşturulur. iOS'un aksine Android, kategorilerin önceden kaydedilmesini gerektirmez — eylemler Builder aracılığıyla doğrudan her bildirime eklenir. Bu daha fazla esneklik sağlar: her bildirimin benzersiz bir buton seti olabilir. Aşağıda, RemoteInput kullanarak Java'da yanıt butonu olan bir bildirim örneği verilmiştir.

RemoteInput ile bildirim oluşturma

java
RemoteInput remoteInput = new RemoteInput.Builder("key_reply")
    .setLabel("Yanıtla")
    .build();

PendingIntent replyIntent = PendingIntent.getBroadcast(
    this, 1001,
    new Intent("ACTION_REPLY"),
    PendingIntent.FLAG_UPDATE_CURRENT
);

NotificationCompat.Action action =
    new NotificationCompat.Action.Builder(
        R.drawable.ic_reply,
        "Yanıtla", replyIntent
    )
    .addRemoteInput(remoteInput)
    .build();

NotificationCompat.Builder builder =
    new NotificationCompat.Builder(this, "messages")
    .setContentTitle("Yeni mesaj")
    .setContentText("Merhaba! Nasılsınız?")
    .setSmallIcon(R.drawable.ic_notification)
    .addAction(action);

NotificationManagerCompat.from(this)
    .notify(100, builder.build());

Anahtar öğe, giriş alanını eyleme bağlayan RemoteInput'dur. Kullanıcı “Yanıtla” butonuna dokunduğunda, sistem bildirimin içinde bir metin girişi iletişim kutusu açar. Gönderimden sonra metin, belirtilen PendingIntent aracılığıyla Intent ile bir BroadcastReceiver veya Activity'ye iletilir. Alıcıda metni almak için “key_reply” anahtarıyla RemoteInput.getResultsFromIntent(intent) kullanılır.

Girilen metni çıkarma

java
Bundle results = RemoteInput.getResultsFromIntent(intent);
if (results != null) {
    CharSequence reply = results.getCharSequence("key_reply");
    if (reply != null) {
        sendReplyToServer(reply.toString());
    }
}

getResultsFromIntent yöntemi, yanıt gönderilirken sistem tarafından iletilen Intent'ten kullanıcının girdiği metni çıkarır. Sonuç, sunucuya göndermek için bir dizeye dönüştürülen CharSequence olarak döndürülür. Kullanıcı göndermeden giriş iletişim kutusunu kapatırsa results boş olur — bu, işleme sırasında dikkate alınmalıdır. Bu yaklaşım, bir Activity başlatmadan hızlı yanıt uygulamaya olanak tanır.

Kullanım Senaryoları

Interactive Notification, hızlı kullanıcı eylemi gerektiren her tür uygulamada kullanılır. En etkili senaryolar, bir mesaja yanıt vermek için mesajlaşma uygulamaları, sipariş onayı için e-ticaret ve davet kabulü için takvimlerdir. Localytics (2025)'e göre, etkileşimli bildirimlere sahip uygulamalar 7. günde %28 daha yüksek tutma oranı gösterir. Aşağıda popüler senaryolar ve platform özelliklerini gösteren bir tablo bulunmaktadır.

SenaryoEylemlerPlatform
MesajlaşmaMetinle yanıtla, BeğeniOS + Android
E-ticaretOnayla, ertele, iptal etiOS + Android
TakvimKabul et, reddet, belkiiOS
HaberlerKaydet, paylaş, açAndroid
RezervasyonOnayla, yeniden planla, iptal etiOS + Android

Etkileşimli bildirimler tasarlanırken sınırlamayı dikkate almak önemlidir — kullanıcı eylemi yalnızca bir kez gerçekleştirebilir. Bir butona bastıktan sonra bildirim kaybolur veya “tamamlandı” durumuna geçer. Bu nedenle, her eylem geri alınamaz olmalı veya ikinci adımda bir onay içermelidir.

Sıkça Sorulan Sorular

Interactive Notification nedir?

Interactive Notification, kullanıcının uygulamayı açmadan bir eylem gerçekleştirmesini sağlayan butonlar, giriş alanı veya medya eki olan bir push bildirimidir. iOS'ta UserNotifications ve Android'te NotificationCompat aracılığıyla desteklenir.

Etkileşimli bildirim normal push'tan nasıl farklıdır?

Normal bildirim yalnızca bilgi verir — kullanıcı dokunur ve uygulamayı açar. Etkileşimli bildirim butonlar veya giriş alanı içerir ve eylem doğrudan bildirim panelinde gerçekleştirilir. Bu, hedef eyleme giden yolu kısaltır ve uygulama üzerindeki yükü azaltır.

Etkileşimli bir bildirime kaç buton eklenebilir?

iOS dört butona kadar destekler, Android — üçe kadar. Android'te iki buton bildirim panelinde görüntülenir, üçüncüsü açılır menüde bulunur. Apple, kilit ekranında kullanıcı rahatlığı için ikiden fazla ana buton olmamasını önerir.

Bir bildirime metin giriş alanı nasıl eklenir?

iOS'ta UNTextInputNotificationAction kullanılır, Android'te — bir anahtarla RemoteInput.Builder. Kullanıcı bildirim içindeki bir iletişim kutusuna metin girer ve uygulama bunu bir temsilci veya Intent aracılığıyla Activity başlatmadan alır.

Etkileşimli bildirimlerin çalışması için internet gerekli midir?

Push bildirimi almak için internet bağlantısı gerekir, ancak etkileşimin kendisi (butonları gösterme, metin girişi) çevrimdışı çalışır. Sonucun sunucuya gönderilmesi bağlantı yeniden kurulana kadar ertelenebilir.

Özet

  • Interactive Notification, uygulamayı açmadan eylemler için butonlar veya giriş alanı olan bir push bildirimidir.
  • Türler — buton tabanlı, metin tabanlı (RemoteInput) ve çoklu ortam (resim ve video ile).
  • iOS, etkileşimi UNNotificationCategory, UNNotificationAction ve UNTextInputNotificationAction aracılığıyla uygular.
  • Android, eylemleri işlemek için NotificationCompat, RemoteInput ve PendingIntent kullanır.
  • Tutma oranı, etkileşimli bildirimlere sahip uygulamalarda Localytics (2025)'e göre 7. günde %28 daha yüksektir.
  • Sınırlama — eylem bir kez gerçekleştirilir, butona bastıktan sonra bildirim “tamamlandı” durumuna geçer.
  • Öneri — hızlı eylemler için etkileşimi kullanın: bir mesaja yanıt verme, sipariş onaylama, davet kabul etme.

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış

Ayrıca okuyun