Hedefimiz, FCM kullanılarak gönderilen her mesajı her zaman teslim etmektir. Ancak her mesajın teslim edilmesi bazen genel kullanıcı deneyiminin kötü olmasına neden olur. Diğer durumlarda ise FCM'nin tüm gönderenler için ölçeklenebilir bir hizmet sunmasını sağlamak amacıyla sınırlar belirlememiz gerekir. Bu bölümde açıklanan sınır ve kota türleri, bu önemli faktörleri dengelememize yardımcı olur.
Aşağı akış mesajı sınırlama
HTTP v1 API, aşağı akış mesajlaşma için proje başına, dakika başına kotalar sunar. Dakika başına 600.000 mesajlık varsayılan kota, sistemin kararlılığını korurken ve ani artış gösteren projelerin etkisini en aza indirirken FCM geliştiricilerin% 99'undan fazlasını kapsar.
Ani trafik artışları, kota aşma hatalarına neden olabilir. Kota aşımı durumunda sistem, kota bir sonraki dakikada yeniden doldurulana kadar HTTP durum kodu 429 RESOURCE_EXHAUSTED ("QUOTA_EXCEEDED") döndürür. Aşırı yüklenme durumlarında 429 yanıtları da döndürülebilir. Bu nedenle, 429'ları yayınlanan önerilere göre işlemeniz önemle tavsiye edilir.
Unutmayın:
- Aşağı akış kotası, istekleri değil iletileri ölçer.
- İstemci hataları (HTTP durum kodu 400-499) sayılır (429'lar hariç).
- Kotalar dakika başına belirlenir ancak bu dakikalar saatle uyumlu değildir.
İzleme kotası
Kota, kullanım ve hataları Google Cloud konsolunda görüntüleyebilirsiniz:
Google Cloud konsoluna gidin.
API'ler ve Hizmetler'i seçin.
Tablo listesinden Firebase Cloud Messaging API'yi seçin.
KOTA VE SİSTEM SINIRLARI'nı seçin.
Kota artışı isteme
Kota artışı istemeden önce şunlardan emin olun:
- Kullanımınız, her gün en az 5 dakika boyunca düzenli olarak kotanın% 80'i veya daha fazlası olmalıdır.
- Özellikle yoğun trafik sırasında istemci hatası oranınız% 5'ten düşüktür.
- Büyük ölçekte mesaj göndermeyle ilgili en iyi uygulamalara uyuyorsunuz.
Bu ölçütleri karşılıyorsanız Google Cloud Console'da aşağıdaki yöntemleri kullanarak %25'e kadar kota artışı isteğinde bulunabilirsiniz:
- KOTA VE SİSTEM SINIRLARI'na gidin.
- Tabloda Dakikada gönderilen istek sayısı satırını seçin.
- Düzenle düğmesini tıklayın.
- İsteğinizi göndermek için talimatları uygulayın.
FCM, isteği yerine getirmek için her türlü çabayı gösterecektir (artış garanti edilemez).
Yaklaşan bir lansman veya geçici etkinlik nedeniyle daha fazla aşağı akış mesajlaşma kotasına ihtiyacınız varsa kota artışı isteğinizi Firebase Destek Ekibi üzerinden yapmanız gerekir. İsteğin işlenmesi için yeterli süre tanımak amacıyla kotanızı en az 15 gün önceden isteyin. Büyük istekler (>18 milyon ileti/dakika) için en az 30 gün önceden bildirimde bulunulması gerekir. Yılda yalnızca 2 geçici kota etkinliği onaylayabiliriz. Yıl boyunca geçici kota süresinin toplamı 30 günü aşmamalıdır. Lansmanlar ve özel etkinlik istekleri, istemci hatası oranı ve en iyi uygulamalar şartlarına tabidir.
Daha fazla bilgi edinmek için FCM kotaları başlıklı makaleyi inceleyin.
Konu mesajı sınırları ve dağıtım kısıtlaması
Daha fazla ayrıntı için Konu mesajlaşma kotaları ve sınırları bölümüne bakın.
Daraltılabilir mesaj sınırlama
Daraltılabilir mesajlar bölümünde açıklandığı gibi, daraltılabilir mesajlar, birbirinin üzerinde daraltılacak şekilde tasarlanmış, içerik içermeyen bildirimlerdir. Bir geliştiricinin aynı mesajı bir uygulamaya çok sık göndermesi durumunda, kullanıcının pilini daha az etkilemek için mesajları geciktiririz.
Örneğin, tek bir cihaza çok sayıda yeni e-posta senkronizasyonu isteği gönderirseniz cihazın daha düşük bir ortalama hızda senkronize olabilmesi için bir sonraki e-posta senkronizasyonu isteğini birkaç dakika geciktirebiliriz. Bu sınırlama, kullanıcının yaşadığı pil etkisini sınırlamak için kesinlikle gereklidir.
Kullanım alanınızda yüksek sayıda toplu e-posta gönderme gerekiyorsa daraltılamayan mesajlar doğru seçim olabilir. Bu tür mesajlarda pil maliyetini düşürmek için mesajlardaki içeriği eklediğinizden emin olun.
Daraltılabilir mesajları, cihaz başına uygulama başına 20 mesajlık bir seriyle ve her 3 dakikada 1 mesajlık bir dolumla sınırlandırırız.
Tek bir cihaza gönderilen maksimum ileti hızı
Android'de tek bir cihaza dakikada en fazla 240, saatte ise 5.000 mesaj gönderebilirsiniz. Bu yüksek eşik,kullanıcıların sohbet üzerinden hızlı etkileşim kurması gibi kısa süreli trafik artışlarına olanak tanımak için belirlenmiştir. Bu sınır, gönderme mantığındaki hataların cihazın pilini istemeden tüketmesini önler.
iOS'te, hız APNs sınırlarını aştığında hata döndürülür.