Mobil Geliştirmede Push Bildirimleri: özü, türleri ve nasıl çalıştıkları

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

Push bildirimleri, uygulama kurulumundan sonra kullanıcıyla etkileşim kurmanın en etkili yollarından biridir. Yeni bir mesaj, indirim, içerik güncellemesi hakkında bilgilendirme veya terk edilmiş bir sepeti hatırlatma imkanı sağlarlar. Push bildirimleri (push notifications) bulut hizmetleri aracılığıyla çalışır: Android'de Firebase Cloud Messaging (FCM) ve iOS'ta Apple Push Notification Service (APNS). Bu makalede bildirim mimarisini, türlerini ve her iki platform için kurulum sürecini inceleyeceğiz. Daha fazla bilgi için resmi FCM dokümantasyonuna bakın.

Önemli Noktalar

  • FCM — Android ve iOS için evrensel hizmet (APNS proxy üzerinden)
  • APNS — iOS, macOS, watchOS için Apple'ın yerel hizmeti
  • Zengin Bildirimler, App Extensions aracılığıyla medya içeriği (görseller, butonlar, ses) içerir
  • Silent Push, kullanıcıya göstermeden arka planda verileri günceller
  • Device Token — benzersiz cihaz tanımlayıcısı; sunucuda saklanması ve güncellenmesi gerekir
  • Notification Channels (Android) ve Notification Categories (iOS) — bildirimlerin kullanıcı tarafından gruplandırılması ve özelleştirilmesi

Push bildirimleri nedir?

Push bildirimi, sunucunun uygulamadan bir talep olmadan mobil cihaza gönderdiği bir mesajdır. Mesaj, uygulama kapalı olsa bile onu cihaza ileten bir bulut hizmetinden (FCM veya APNS) geçer. Bildirimler iki türe ayrılır: görüntü bildirimleri (kullanıcıya gösterilir) ve veri bildirimleri (arka plan işleme için veri iletir).

Push bildirimi mimarisi üç bileşen içerir: (1) uygulama sunucusu — FCM/APNS'ye istek gönderir; (2) bulut hizmeti — bildirimi yönlendirir; (3) istemci uygulaması — bildirimi alır ve işler. Sunucunun, bildirimi özellikle o cihaza göndermek için cihazın Device Token'ını bilmesi gerekir. Toplu gönderimler için Topic Subscription kullanılır — cihazların tematik kanallara (haberler, promosyonlar, hava durumu) abone olması.

Her cihazda bildirimler işletim sistemi tarafından işlenir: Android — NotificationManager ve NotificationChannel aracılığıyla, iOS — UNUserNotificationCenter aracılığıyla. Kullanıcı her kanal için bildirim davranışını yapılandırabilir: ses, banner, kilit ekranında gösterme veya tamamen devre dışı bırakma. Kanalların doğru yapılandırılması etkileşimi artırır ve abonelikten çıkma oranlarını azaltır.

IT Sectr'de, push bildirimi sistemini en başından itibaren platforma özgü özellikleri dikkate alarak tasarlıyoruz. Temel kararlar: FCM ve doğrudan APNS arasında seçim, yük biçimi, gönderme sıklığı ve abonelik mekaniği. Bu, bildirimlerin ulaşmadığı veya sistem tarafından engellendiği durumları önlemeye yardımcı olur.

FCM vs APNS

Firebase Cloud Messaging (FCM), bildirim gönderimi için Google'ın çapraz platform hizmetidir. FCM, Android, iOS, Web ve Flutter'ı destekler. iOS'ta FCM, APNS aracılığıyla çalışır: FCM, APNS'ye bir istek gönderir ve APNS bildirimi cihaza iletir. FCM'nin avantajları: her iki platform için tek API, yerleşik analitik, A/B testi, konular ve hedef kitle segmentleri.

Apple Push Notification Service (APNS), Apple'ın yerel hizmetidir. Yalnızca Apple cihazlarında (iOS, macOS, watchOS, tvOS) çalışır. TLS sertifikası veya token (JWT) aracılığıyla doğrudan yetkilendirme gerektirir. APNS şunları sağlar: minimum teslimat gecikmesi ve iOS özellikleriyle doğrudan entegrasyon: PushKit, Notification Service Extension ve Kritik Uyarılar.

FCM ve APNS arasındaki seçim proje mimarisine bağlıdır. Uygulama yalnızca iOS içinse — APNS daha fazla kontrol sağlar. Çapraz platform ise — FCM tek API ile daha kullanışlıdır. Birçok proje FCM'yi birincil hizmet olarak kullanır ve iOS'ta VoIP için ek olarak PushKit'i yapılandırır. Hibrit bir yaklaşım her iki sistemden de en iyisini almayı sağlar.

Özellik FCM APNS
PlatformlarAndroid, iOS, Web, FlutteriOS, macOS, watchOS, tvOS
YetkilendirmeSunucu Anahtarı (Firebase Console)TLS sertifikası veya JWT token
Maksimum yük4 KB (data), 2 KB (notification)4 KB
KonularYerleşik (Topic Messaging)Hayır (sunucu tarafında uygulanır)
Silent PushDesteklenirDesteklenir (content-available)
PushKitHayırEvet (VoIP, canlı etkinlikler)
AnalitikFirebase AnalyticsYerleşik yok
Kapalı cihaza teslimatSınırlı (üreticiye bağlı)Evet, PushKit aracılığıyla

Bildirim türleri (Zengin, Sessiz, Etkileşimli)

Zengin Bildirim (Rich Notification)

Zengin Bildirim, yalnızca metin değil aynı zamanda medya içeriği de içeren bir bildirimdir: görseller, videolar, ses ve eylem butonları. Android'de NotificationCompat stilleri aracılığıyla uygulanır: BigPictureStyle (büyük görsel), BigTextStyle (daraltılmış/genişletilmiş metin), InboxStyle (mesaj listesi), MediaStyle (oynatma kontrolü). iOS'ta Notification Content Extension kullanılır — genişletilmiş bildirim için özel UI'ya sahip ayrı bir hedef.

Sessiz Push (Silent Push)

Silent Push (iOS'ta content-available), kullanıcıya gösterilmeden teslim edilen bir bildirimdir. Arka plan veri güncellemesi için tasarlanmıştır: içerik senkronizasyonu, ön yükleme, widget güncellemeleri. iOS'ta Silent Push, Background Modes → Remote notifications'ın etkinleştirilmesini gerektirir. Android'de arka plan bildirimlerini işlemek için FirebaseMessagingService onMessageReceived ile kullanılır. Önemli: iOS'ta Silent Push'un sıklık sınırlamaları vardır ve uygulama ön planda değilse teslimatı garanti etmez.

Etkileşimli Bildirim (Interactive Notification)

Etkileşimli Bildirim, kullanıcının uygulamayı açmadan bir eylem gerçekleştirmesine olanak tanır. Android'de bunlar bildirimdeki butonlardır (Action): "Yanıtla", "Onayla", "Reddet". Eylemler, bir BroadcastReceiver veya Service başlatan PendingIntent aracılığıyla işlenir. iOS'ta Notification Action, UNNotificationAction ve UNNotificationCategory aracılığıyla kaydedilir. Butonlar foreground (uygulamayı açar), background (arka planda çalıştırır) veya destructive (geri alınamaz eylem — sil, engelle) olabilir.

Notification Content Extension ve Service Extension

Notification Content Extension (iOS) — uzun basma veya 3D Touch sırasında genişletilmiş bildirim içeriğini görüntülemek için özel bir görünüm denetleyicisi. Notification Service Extension (iOS) — görüntülemeden önce bildirim içeriğini değiştirmek için ara katman yazılımı: E2E mesajlarının şifresini çözme, görsel yükleme, gizli verileri karartma. Android'de doğrudan benzerleri yoktur — tüm değişiklikler FirebaseMessagingService içinde gerçekleştirilir.

Android ve iOS'ta bildirim kurulumu

Android'de kurulum

Android için gereklidir: (1) projeye Firebase SDK eklemek (google-services.json); (2) her bildirim kategorisi için bir NotificationChannel (Android 8+) oluşturmak; (3) token ve gelen mesajları almak için FirebaseMessagingService uygulamak. Notification Channel zorunludur — onsuz Android 8+'da bildirimler gösterilmez. Kanalların önceliği vardır (IMPORTANCE_HIGH — ses + açılır pencere, IMPORTANCE_LOW — sessiz) ve kullanıcı tarafından sistem ayarlarında yapılandırılabilir.

iOS'ta kurulum

iOS için gereklidir: (1) Xcode'da Push Notifications yeteneğini etkinleştirmek; (2) Apple Developer Portal'da APNS anahtarını yapılandırmak; (3) UNUserNotificationCenter.requestAuthorization aracılığıyla yetkilendirme istemek — bu bir kez gösterilen bir sistem iletişim kutusudur. Kullanıcının yanıtı kritiktir: izin verilmezse bildirimler teslim edilmez. Sistem iletişim kutusunu göstermeden önce kullanıcıya bildirimlerin neden gerekli olduğunu açıklamanız önerilir (ön izin istemi).

Araçlar ve Token

Device Token (iOS) ve Registration Token (Android), push bildirimleri için benzersiz cihaz tanımlayıcılarıdır. Token, uygulamanın ilk başlatılışında oluşturulur ve değişebilir: yeniden yükleme, veri temizleme, gizlilik ayarlarını sıfırlama durumunda. Sunucu, token'ları düzenli olarak güncellemelidir. Firebase şunları sağlar: onNewToken aracılığıyla token yönetimi için kullanışlı bir API ve test bildirimi göndermek için bir panel (Firebase Console → Cloud Messaging).

Topic Subscription, FCM'nin en etkili mekanizmalarından biridir. Bir cihaz bir konuya (örneğin, "news", "promo_users_ios") abone olur ve sunucu, token listesini saklamaya gerek kalmadan konuya göre bildirimler gönderir. Firebase Topics, konu başına bir milyona kadar aboneyi ve bir ifade dili aracılığıyla koşullu gönderimi (Condition) destekler: "'news' in topics && ('US' in topics || 'UK' in topics)".

Notification Payload, FCM/APNS aracılığıyla gönderilen JSON yapısıdır. FCM için: ayrı notification (görünür kısım — başlık, gövde, görsel) ve data (uygulama için özel alanlar). APNS için: alert, badge, sound, category ve content-available içeren aps sözlüğü. Doğru yük yapısı kritiktir: notification + data aynı anda gelirse, arka plandaki uygulama data'yı alamayabilir. Android için yalnızca data mesajlarının kullanılması ve görsel alanların FCM Console aracılığıyla ayrı olarak iletilmesi önerilir.

Sıkça Sorulan Sorular

FCM ve APNS arasındaki fark nedir?

FCM (Firebase Cloud Messaging), Android ve çapraz platform bildirimleri için Google'ın hizmetidir. APNS (Apple Push Notification Service), yalnızca iOS/macOS için Apple'ın hizmetidir. FCM bildirimleri iletebilir iOS'ta APNS aracılığıyla, proxy sunucu olarak hareket ederek.

Zengin Bildirim (Rich Notification) nedir?

Zengin Bildirim, medya içeriği (görseller, videolar, ses, eylem butonları) içeren gelişmiş bir bildirimdir. iOS'ta Notification Content Extension aracılığıyla uygulanır; Android'de BigPictureStyle ve InboxStyle aracılığıyla uygulanır.

Device Token nasıl çalışır?

Device Token, push bildirimleri göndermek için benzersiz bir cihaz tanımlayıcısıdır. Android'de FCM'den Registration Token'dır; iOS'ta APNS'den Device Token'dır. Token değişebilir uygulama yeniden yükleme veya ayarları sıfırlama durumunda, bu nedenle sunucuda güncellenmesi gerekir.

Silent Push nedir ve neden gereklidir?

Silent Push (sessiz bildirim), kullanıcıya gösterilmeyen bir bildirimdir. Arka plan veri güncellemeleri için kullanılır: içerik senkronizasyonu, widget güncellemeleri, önceden getirme. iOS'ta etkinleştirilmesi gerekir Background Modes → Remote notifications.

PushKit, normal push bildirimlerinden nasıl farklıdır?

PushKit, VoIP uygulamalarında (aramalar, mesajlaşma) kullanılan yüksek öncelikli bildirimlerin teslimi için Apple çerçevesidir. PushKit bildirimi teslim eder uygulama kapatılmış olsa bile ve işleme için uygulamanın başlatılmasını garanti eder.

Özet

  • FCM — Google'ın çapraz platform hizmeti; APNS — Apple'ın yerel hizmeti
  • Zengin Bildirim medya ve butonlar içerir; Silent Push kullanıcıya göstermeden veri günceller
  • Notification Channel (Android) ve Notification Category (iOS) — bildirim gruplaması için zorunludur
  • Device Token — benzersiz tanımlayıcı; sunucuda düzenli olarak güncellenmelidir
  • Topic Subscription token listesi saklamadan toplu gönderimleri basitleştirir
  • PushKit — kritik bildirimler için (VoIP, hayati uyarılar)
  • Notification Payload platforma göre yapılandırılmalıdır: FCM için notification + data, APNS için aps

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ış