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.
- 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 OKdöndürün) ve ağır işlemleri arka plan işine erteleyin. - Uç noktanızdan gelen
429yanı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.jsdosyası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örseller | Evet — yavaş teslim = daha az eş zamanlı indirme | CDN’de barındırın |
| Eş zamanlı uygulama açılışları | Evet — kademeli teslim kullanıcı oturumlarını yayar | Otomatik ö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 webhooks | Hayır — Journey’ler kısıtlamayı desteklemez | Uç nokta performansını optimize edin; arka plan işleme kullanın |
| Service Worker getirmeleri | Evet — yavaş teslim = daha az eş zamanlı getirme | CDN 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.
Mesaj başına kısıtlama geçersiz kılma
Bireysel mesajlarda genel kısıtlama ayarlarını geçersiz kılabilirsiniz.- Bildirim oluşturma sırasında “Override throttling setting” kutusunu işaretleyin
- İstediğiniz dakika başına mesaj oranını ayarlayın
- Belirli bir mesaj için kısıtlamayı devre dışı bırakmak için dakika başına mesaj alanına “0” girin
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:- Sistem, kısıtlama oranınızı 60’a (dakika başına saniye) böler
- Sonuç en yakın tam sayıya aşağı yuvarlanır (OneSignal kısmi mesaj gönderemez)
- Bu saniye başına oran daha sonra teslimat süreci boyunca uygulanır
- OneSignal 60’a böler: 1.019 ÷ 60 = saniye başına 16,98 mesaj
- Aşağı yuvarlar: saniye başına 16 mesaj
- Gerçek teslimat oranı: 16 × 60 = dakika başına 960 mesaj (ayarlanan orandan 59 daha az)
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: 0ayarlayı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ğerini0 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.