Ana içeriğe atla

Genel Bakış

Push kısıtlama, OneSignal’ın push bildirimlerini teslim etme oranını kontrol eder. Teslimi zaman içinde dağıtmak için kısıtlamayı kullanın — sunucu aşırı yüklenmesini önleyerek, toplu gönderimlerde performans düşüşünden kaçınarak ve cihazlar genelinde tutarlı bir kullanıcı deneyimi sağlayarak.

Push gönderimlerinin sunucularınızı etkileme nedenleri

Büyük bir kitleye push bildirimi göndermek, tıklama oranınız düşük olsa bile kendi sunucularınızda ani bir trafik artışına neden olabilir. Bunun nedeni, teslimin kendisinin (yalnızca tıklamalar değil) altyapınıza birden fazla türde istek tetiklemesidir. Bu kaynakları anlamak, doğru azaltma stratejisini seçmenize yardımcı olur.

Kendi sunucunuzda barındırılan görseller ve medya

Bir push bildirimi görsel içerdiğinde (big_picture veya chrome_web_image gibi), bildirimi alan her cihaz o görseli teslim anında hemen indirir. Görsel, CDN yerine kendi sunucularınızda barındırılıyorsa, bu durum teslim edilen her bildirim için bir HTTP isteği oluşturur — saniyeler içinde onlarca binlerce istek olabilir. Öneriler:
  • Bildirim görsellerini uygulama sunucularınız yerine bir CDN’de (örn. CloudFront, Cloudflare, Fastly) barındırın.
  • Medyayı kendi sunucunuzda barındırmanız gerekiyorsa, teslimi zaman içinde yaymak için push kısıtlamayı kullanın.

Eş zamanlı uygulama açılışları

Push teslimi, birçok kullanıcının aynı anda uygulamanızı açmasına neden olur. Her uygulama açılışı genellikle arka ucunuza birden fazla istek oluşturur: oturum başlatma, içerik getirme, API çağrıları ve analitik olaylar. Binlerce bildirim eş zamanlı teslim edilirse, düşük bir açılış oranı bile önemli bir trafik artışına dönüşebilir. Öneriler:
  • Teslimi kademeli hale getirmek ve uygulama açılışlarını daha geniş bir zaman penceresine yaymak için push kısıtlamayı kullanın.
  • Arka ucunuzun yüksek hacimli gönderimlerden gelen ani trafiği karşılayabildiğinden emin olun veya otomatik ölçeklendirme altyapısı kullanın.

Event Streams

Event Streams’i bir webhook hedefiyle yapılandırdıysanız, OneSignal her olay (message.sent, message.delivered, message.clicked gibi) için gerçek zamanlı olarak uç noktanıza HTTP isteği gönderir. Büyük bir push gönderimi sırasında bu, kitlenizin boyutuyla orantılı bir webhook isteği patlaması oluşturabilir.
OneSignal, giden Event Stream webhook trafiğini oran sınırlamaz. Uç noktanız, mesaj gönderimlerinizin oluşturduğu olay hacmini karşılayabilmelidir.
Öneriler:
  • Webhook uç noktanızın kitlenizin boyutuyla orantılı işlem hacmini karşılayabildiğinden emin olun.
  • Ani artışları emmek için doğrudan webhook yerine bir ara kuyruk veya tampon (örn. Amazon Kinesis, Google Pub/Sub) kullanın. Event Streams, bunları yerel olarak hedef olarak destekler.
  • Uç noktanıza ulaşan tepe olay oranını azaltmak için push kısıtlamayı kullanın.

Journey webhooks

Journey webhooks, kullanıcılar bir Journey’deki belirli adımlara ulaştığında sunucularınıza HTTP istekleri gönderir. Journey’ler kullanıcı davranışına göre teslimi doğal olarak düzenlemesine rağmen, yoğun trafikli Journey’ler yine de önemli webhook hacmi oluşturabilir. Yavaş veya aşırı yüklenmiş uç noktalar, webhook’un otomatik devre dışı bırakılmasını tetikleyebilir. Öneriler:
  • Webhook uç noktanızı hızlı yanıt verecek şekilde tasarlayın (200 OK döndürün) ve ağır işlemleri arka plan işine erteleyin.
  • Uç noktanızdan gelen 429 yanıtlarını izleyin; bu, OneSignal’ın webhook’u devre dışı bırakmasını tetikleyebilir.
  • Journey webhooks belgelerindeki performans kılavuzunu inceleyin.

Service Worker getirmeleri (web push)

Web push için tarayıcılar, OneSignal Service Worker dosyasını sunucunuzdan periyodik olarak yeniden getirir (genellikle önbellek süresi dolduğunda, en fazla her 24 saatte bir). Bir push bildirimi teslim edildiğinde tarayıcı, güncellenmiş bir Service Worker dosyası olup olmadığını kontrol edebilir — her web push aboneliği için barındırma sunucunuza bir istek oluşturur. Öneriler:
  • OneSignalSDKWorker.js dosyasını bir CDN’den sunun veya barındırma sunucunuzun istek hacmini karşılayabildiğinden emin olun.
  • Yeniden getirme sıklığını azaltmak için uygun önbellek başlıkları ayarlayın.
  • Daha fazla ayrıntı için OneSignal Service Worker belgelerine bakın.

Doğru yaklaşımı seçme

Trafik kaynağıKısıtlamadan etkilenir mi?Alternatif azaltma
Kendi barındırılan görsellerEvet — yavaş teslim = daha az eş zamanlı indirmeCDN’de barındırın
Eş zamanlı uygulama açılışlarıEvet — kademeli teslim kullanıcı oturumlarını yayarOtomatik ölçeklendirme altyapısı
Event Streams (webhooks)Evet — yavaş teslim = daha düşük olay oranıKuyruk tabanlı hedef kullanın (Kinesis, Pub/Sub, vb.)
Journey webhooksHayır — Journey’ler kısıtlamayı desteklemezUç nokta performansını optimize edin; arka plan işleme kullanın
Service Worker getirmeleriEvet — yavaş teslim = daha az eş zamanlı getirmeCDN barındırma; önbellek başlıkları

Yapılandırma seçenekleri

Kısıtlamanın kullanılabilir olması için genel ayarlar düzeyinde etkinleştirilmesi gerekir.

Genel kısıtlama ayarları

Tüm push mesajları için Settings > Push & In-App > Throttling altında kısıtlamayı etkinleştirin. Etkinleştirildikten sonra, bu ayar varsayılan olarak tüm push bildirimleri için geçerli olur, ancak bireysel mesajlar için geçersiz kılınabilir.
Push throttling settings in the OneSignal dashboard under Settings > Push & In-App > Throttling

Mesaj başına kısıtlama geçersiz kılma

Bireysel mesajlarda genel kısıtlama ayarlarını geçersiz kılabilirsiniz.
  1. Bildirim oluşturma sırasında “Override throttling setting” kutusunu işaretleyin
  2. İstediğiniz dakika başına mesaj oranını ayarlayın
  3. Belirli bir mesaj için kısıtlamayı devre dışı bırakmak için dakika başına mesaj alanına “0” girin
API ile gönderilen bildirimler için throttle_rate_per_minute özelliğini kullanın.

Kısıtlama nasıl çalışır

Oran dönüştürme süreci

OneSignal, teslimatı optimize etmek için dakika başına ayarınızı saniye başına orana dönüştürür:
  1. Sistem, kısıtlama oranınızı 60’a (dakika başına saniye) böler
  2. Sonuç en yakın tam sayıya aşağı yuvarlanır (OneSignal kısmi mesaj gönderemez)
  3. Bu saniye başına oran daha sonra teslimat süreci boyunca uygulanır
Örnek: Dakika başına 1.019 mesaj kısıtlama oranı ayarlarsınız.
  1. OneSignal 60’a böler: 1.019 ÷ 60 = saniye başına 16,98 mesaj
  2. Aşağı yuvarlar: saniye başına 16 mesaj
  3. Gerçek teslimat oranı: 16 × 60 = dakika başına 960 mesaj (ayarlanan orandan 59 daha az)
Bu dönüştürme, partiler arasındaki gecikmeleri ortadan kaldırarak daha verimli işleme sağlar.

Sınırlamalar ve Dikkat Edilmesi Gerekenler

24 Saatlik Teslimat Penceresi

Tüm kısıtlanmış bildirimlerin gönderildikten sonra 24 saat içinde teslimatı tamamlaması gerekir. Kısıtlama oranınız teslimatın 24 saati aşmasına neden olacaksa, OneSignal bu zaman dilimi içinde tamamlanmasını sağlamak için oranı otomatik olarak ayarlar. Örnek: 20.000 kullanıcı için dakika başına 10 mesaj kısıtlama oranı ayarlarsınız — teslimat yaklaşık 33 saat sürer. OneSignal, 24 saat içinde teslimatı tamamlamak için oranı otomatik olarak dakika başına yaklaşık 14 mesaja ayarlar.

Uyumluluk ve Kullanılabilirlik

Kısıtlama yalnızca Create notification API’si veya Messages > New Push kontrol paneli arayüzü aracılığıyla gönderilen push bildirimleri için kullanılabilir. Journey’ler veya Otomatik Mesajlar için desteklenmez (yukarıdaki özet tablosuna bakın).

Zaman Dilimi ve Akıllı Teslimat

Kısıtlama, Zaman Dilimi ve Akıllı Teslimat’a göre öncelik alır. Kısıtlama etkinleştirildiğinde, OneSignal o bildirim için bu özellikleri yok sayar. Zaman Dilimi veya Akıllı Teslimat kullanmak için:
  • Teslimat Programı altında o belirli bildirim için kısıtlamayı devre dışı bırakın
  • “Override throttling setting” değerini “0” olarak ayarlayın
  • API bildirimleri için throttle_rate_per_minute: 0 ayarlayın

Sıkça Sorulan Sorular

Kısıtlama, Akıllı Teslimat veya Zaman Dilimi teslimatı ile çalışır mı?

Hayır. Kısıtlama, hem Akıllı Teslimat hem de Zaman Dilimi teslimatına göre öncelik alır. Bir bildirim için kısıtlama etkinleştirildiğinde, OneSignal bu zamanlama özelliklerini yok sayar. Akıllı Teslimat veya Zaman Dilimi teslimatını kullanmak için, söz konusu bildirim için kısıtlama geçersiz kılma değerini 0 olarak ayarlayın.

Kısıtlama oranım 24 saati aşacaksa ne olur?

OneSignal, teslimatın 24 saat içinde tamamlanması için kısıtlama oranını otomatik olarak artırır. Örneğin, 20.000 kullanıcıya dakika başına 10 mesaj ile gönderim yapmak ~33 saat sürer, bu nedenle OneSignal oranı dakika başına ~14 mesaja ayarlar.

Journey’lere veya Otomatik Mesajlara kısıtlama uygulayabilir miyim?

Hayır. Kısıtlama yalnızca kontrol paneli (Messages > New Push) veya Create notification API’si aracılığıyla gönderilen push bildirimlerine uygulanır. Journey’ler ve Otomatik Mesajlar, kullanıcılar uygun hale geldiğinde dinamik olarak teslim edilir; bu da teslimatı zaman içinde doğal olarak dağıtır.

Gerçek teslimat oranım neden ayarladığımdan daha düşük?

OneSignal, dakika başına oranınızı saniye başına orana dönüştürür ve aşağı yuvarlar. Örneğin, dakika başına 1.019 mesaj, saniye başına 16 mesaj olur (1.019 ÷ 60 = 16,98, aşağı yuvarlanır), gerçek oran dakika başına 960 mesajdır.

İlgili Sayfalar

Push genel bakış

OneSignal ile mobil ve web push bildirimlerini gönderin ve yönetin.

Bildirim oluştur API

throttle_rate_per_minute özelliği dahil bildirim oluşturma ve gönderme API referansı.

Event Streams

Teslimat ve etkileşim olaylarını webhook’lara, Kinesis’e veya Pub/Sub’a aktarın.

OneSignal Service Worker

Web push bildirimleri için Service Worker dosyasını yapılandırın.

Journey'lere genel bakış

Kullanıcı eylemlerine yanıt veren çok adımlı mesajlaşma iş akışları oluşturun.