Push bildirim, bir kullanıcı siteniz açık değilken bile cihazına gönderilen kısa mesajlardır. Haber sitelerinde son dakika gelişmelerini dakikalar içinde okuyucuya ulaştırmanın en doğrudan yollarından biridir. Bu rehberde push bildirimin ne olduğunu, tarayıcı tabanlı Web Push teknolojisinin adım adım nasıl çalıştığını ve haber yayıncıları için doğru uygulama pratiklerini anlatıyoruz.
Push Bildirim Nedir?
Push bildirim, bir sunucunun kullanıcının cihazına — telefon, tablet veya masaüstü tarayıcı — talep beklemeden ilettiği mesajdır. Kullanıcı o an sayfayı görüntülemiyor olsa bile bildirim işletim sisteminin veya tarayıcının bildirim alanında belirir. Bu yönüyle push, kullanıcının sayfayı yenilemesini gerektiren klasik istek-yanıt modelinden ayrılır.
İki temel türü vardır: mobil uygulamaların işletim sistemi üzerinden gönderdiği uygulama push bildirimleri ve tarayıcı üzerinden çalışan web push bildirimleri. Haber siteleri için uygulama gerektirmeyen web push, kurulum engeli olmadan geniş kitleye ulaşmayı sağlar.
Uygulama Push ile Web Push Arasındaki Fark
İki yaklaşım da aynı amaca hizmet eder ama farklı altyapılar üzerinde çalışır. Aşağıdaki tablo temel ayrımları özetler.
| Özellik | Uygulama Push | Web Push |
|---|---|---|
| Gereksinim | Mağazadan indirilen uygulama | Yalnızca tarayıcı, kurulum yok |
| Çalışma katmanı | İşletim sistemi bildirim servisi | Tarayıcı + Service Worker |
| Erişim | Uygulamayı kuran kullanıcılar | Siteyi ziyaret eden herkes |
| Güncelleme | Uygulama güncellemesi gerekir | Sunucu tarafında anında |
Web push, ayrı bir uygulama geliştirmeden çalıştığı için haber yayıncıları arasında yaygındır. Bunun için sitenizin mobilde de kusursuz çalışması önemlidir; bu konuda haber sitelerinde mobil uyumluluk yazımıza göz atabilirsiniz.
Web Push Nasıl Çalışır? Temel Bileşenler
Web push, tarayıcıların desteklediği açık standartlar üzerine kuruludur. Üç ana bileşen birlikte çalışır:
- Service Worker: Sayfa kapalıyken bile arka planda çalışan bir betik. Gelen push olayını yakalar ve bildirimi gösterir.
- Push API: Tarayıcının bir push servisine abone olmasını ve bir endpoint (adres) üretmesini sağlar.
- Notification API: Bildirimi kullanıcının ekranında gösteren arayüz katmanıdır.
Mesajların taşınması ise tarayıcı üreticilerinin işlettiği push servisleri üzerinden olur; örneğin Chrome tarafında Firebase Cloud Messaging, Firefox tarafında Mozilla'nın kendi servisi kullanılır. Site sahibi olarak hangi servisin kullanılacağını seçmezsiniz; tarayıcı bunu otomatik belirler ve size yalnızca bir endpoint verir.
Adım Adım Web Push Akışı
Bir push bildiriminin yolculuğu, kullanıcının izin vermesiyle başlar ve mesajın ekranda görünmesiyle biter:
- Kullanıcı sitenizi ziyaret eder ve siz bir Service Worker kaydedersiniz.
- Kullanıcı bildirim izni verir; tarayıcı bir push servisine abone olur.
- Tarayıcı, benzersiz bir endpoint ve şifreleme anahtarları içeren bir abonelik nesnesi üretir.
- Bu abonelik bilgisi sizin sunucunuza gönderilir ve saklanır.
- Yeni bir haber çıktığında sunucunuz, şifrelenmiş mesajı ilgili endpoint'e iletir.
- Push servisi mesajı kullanıcının tarayıcısına ulaştırır.
- Service Worker
pusholayını yakalar veshowNotificationile bildirimi gösterir.
// Service Worker: gelen push olayini yakala ve bildirimi goster
self.addEventListener('push', (event) => {
const veri = event.data ? event.data.json() : {};
const baslik = veri.baslik || 'Son Dakika';
event.waitUntil(
self.registration.showNotification(baslik, {
body: veri.ozet,
icon: '/icon-192.png',
data: { url: veri.url }
})
);
});Bildirim teslimi, tıpkı içerik dağıtımının diğer katmanları gibi hız ve güvenilirlikten etkilenir. Sunucu tarafındaki performansı iyileştirmek için önbellek (cache) nedir, nasıl çalışır yazımızdaki ilkeler faydalı olacaktır.
İzin Yönetimi ve Kullanıcı Deneyimi
Push bildirimin en hassas noktası izin istemidir. Tarayıcılar bildirim iznini yalnızca bir kez sorar; kullanıcı reddederse tekrar sormak çoğu tarayıcıda mümkün değildir. Bu yüzden izni doğru anda ve doğru gerekçeyle istemek belirleyicidir.
Güvenlik: VAPID ve Şifreleme
Web push, mesajların doğru göndericiden geldiğini ve yolda okunamadığını garanti eden açık standartlara dayanır. Sunucunuz, kendini push servisine tanıtmak için VAPID (Voluntary Application Server Identification) adı verilen bir açık/gizli anahtar çifti kullanır. Bu, endpoint'inizi başkalarının kötüye kullanmasını zorlaştırır.
Mesaj içeriği ise uçtan uca şifrelenir: yük (payload), abonelikle birlikte gelen anahtarlarla kriptolanır; böylece aradaki push servisi mesajın içeriğini göremez. Bu mekanizmalar ilgili İnternet standartlarında (RFC 8030, RFC 8291 ve RFC 8292) tanımlanmıştır.
Haber Sitelerinde İyi Uygulama Pratikleri
Push, doğru kullanıldığında sadık okuyucu kitlesi kurar; aşırıya kaçıldığında ise abonelikten çıkışları ve reddedilen izinleri artırır. Öne çıkan pratikler:
- Alaka: Kullanıcıyı yalnızca gerçekten önemli veya ilgi alanına giren gelişmelerle bildirin.
- Sıklık sınırı: Günde gönderilen bildirim sayısını sınırlayın; bildirim yorgunluğu en sık iptal nedenidir.
- Segmentasyon: Spor, ekonomi, yerel haber gibi konu bazlı abonelik seçenekleri sunun.
- Zamanlama: Bildirimi okuyucunun aktif olduğu saatlerde ve haberin değeri tazeyken gönderin.
- Net başlık: Tıklamayı hak eden, yanıltmayan başlıklar kullanın; clickbait güveni aşındırır.
Push, haber dağıtım kanallarınızdan yalnızca biridir. Otomatik içerik dağıtımı için RSS ve XML veri kaynaklarını da tamamlayıcı olarak değerlendirebilirsiniz.
Sıkça Sorulan Sorular
Web push her tarayıcıda çalışır mı?
Masaüstü ve Android'de başlıca tarayıcıların çoğu web push'u destekler. iOS ve iPadOS'ta Safari, web push'u ancak site ana ekrana bir web uygulaması olarak eklendiğinde destekler; bu özellik iOS 16.4 ile gelmiştir.
Push bildirim için mobil uygulama şart mı?
Hayır. Web push tam da bu ihtiyacı ortadan kaldırır: kullanıcı sitenizi ziyaret edip izin verdikten sonra, mağazadan bir uygulama indirmeden bildirim alabilir.
Kullanıcı bildirimden nasıl çıkabilir?
Kullanıcı tarayıcı ya da site ayarlarından izni istediği an geri alabilir. Sağlıklı bir sistem, sitenizde de kolay ulaşılabilir bir bildirim kapatma seçeneği sunar.