FCM Kısıtlama ve Kotaları

Hedefimiz, FCM kullanılarak gönderilen her mesajı her zaman teslim etmektir. Ancak her mesajın iletilmesi 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ırlamalar getirmemiz 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ı kısıtlama

HTTP v1 API, aşağı akış mesajlaşması için proje başına, dakika başına kotalar sunar. Dakika başına 600 bin mesajlık varsayılan kota, geliştiricilerin FCM% 99'undan fazlasını kapsarken sistemin kararlılığını korur ve ani artış gösteren projelerin etkisini en aza indirir.

Dalgalı trafik kalıpları, kota aşımı hatalarına neden olabilir. Kota aşımı senaryosunda sistem, kota bir sonraki dakikada yenilenene kadar HTTP durum kodu 429 RESOURCE_EXHAUSTED ("QUOTA_EXCEEDED") döndürür. Aşırı yük durumlarında da 429 yanıtı döndürülebilir. Bu nedenle, 429 yanıtlarını yayınlanan önerilere göre işlemeniz önemle tavsiye edilir.

Unutmayın:

  • Alt akış kotası, istekleri değil mesajları ölçer.
  • İstemci hataları (HTTP durum kodu 400-499) sayılır (429'lar hariç).
  • Kotalar dakikaya göre belirlenir ancak bu dakikalar saatle uyumlu değildir.

İzleme kotası

Kotayı, kullanımı ve hataları Google Cloud konsolunda görüntüleyebilirsiniz:

  1. Google Cloud konsoluna gidin.

  2. API'ler ve Hizmetler'i seçin.

  3. Tablo listesinden Firebase Cloud Messaging API'yi seçin.

  4. KOTA VE SİSTEM SINIRLARI'nı seçin.

Kota artışı isteme

Kota artışı isteğinde bulunmadan önce şunlardan emin olun:

  • Kullanımınız, günde en az 5 dakika boyunca düzenli olarak kotanın% 80'inden fazla olmalıdır.
  • Özellikle yoğun trafik sırasında% 5'ten düşük bir istemci hatası oranına sahipsiniz.
  • 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ğıdakileri kullanarak %25'e kadar kota artışı isteği gönderebilirsiniz:

  1. KOTA VE SİSTEM SINIRLARI'na gidin.
  2. Tabloda Dakikada gönderilen istek sayısı satırını seçin.
  3. Düzenle düğmesini tıklayın.
  4. İ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 bir etkinlik nedeniyle daha fazla aşağı akış mesajlaşma kotasına ihtiyacınız varsa kota artırma isteğinizi Firebase Destek Ekibi aracılığıyla göndermeniz gerekir. İsteğin işleme alınması için yeterli süre tanımak amacıyla kotanızı en az 15 gün önceden talep edin. 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ğini onaylayabiliriz. Yıl boyunca geçici kotanın toplam süresi 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 fanout kısıtlaması

Daha fazla bilgi için Konu mesajlaşma kotaları ve sınırları bölümüne bakın.

Daraltılabilir mesaj kısıtlama

Daraltılabilir mesajlar bölümünde açıklandığı gibi, daraltılabilir mesajlar, içerik içermeyen ve birbirinin üzerinde daraltılacak şekilde tasarlanmış bildirimlerdir. Bir geliştirici aynı mesajı bir uygulamaya çok sık tekrarlıyorsa kullanıcının pili üzerindeki etkiyi azaltmak 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 kısıtlama, yalnızca kullanıcının pil üzerindeki etkiyi sınırlamak için yapılır.

Kullanım alanınız yüksek yoğunluklu gönderme kalıpları gerektiriyorsa daraltılamayan mesajlar doğru seçim olabilir. Bu tür mesajlarda, pil maliyetini azaltmak için mesaj içeriğini eklediğinizden emin olun.

Daraltılabilir mesajları, cihaz başına uygulama başına 20 mesajlık bir patlamayla sınırlandırıyoruz. Her 3 dakikada bir 1 mesaj yenilenir.

Tek bir cihaza gönderilebilecek maksimum mesaj hızı

Android'de tek bir cihaza dakikada en fazla 240 mesaj ve saatte en fazla 5.000 mesaj gönderebilirsiniz. Bu yüksek eşik, kullanıcıların sohbet üzerinden hızlı bir şekilde etkileşimde bulunduğu durumlar gibi kısa süreli trafik artışlarına olanak tanımak için tasarlanmıştır. Bu sınır, gönderme mantığındaki hataların cihazın pilini yanlışlıkla tüketmesini engeller.

iOS için hız, APNs sınırlarını aştığında hata döndürürüz.