التقييد والحصص في "المراسلة عبر السحابة الإلكترونية من Firebase"

هدفنا هو دائمًا تسليم كل رسالة يتم إرسالها باستخدام ميزة "المراسلة عبر السحابة الإلكترونية من Firebase". ومع ذلك، قد يؤدي عرض كل رسالة في بعض الأحيان إلى تقديم تجربة سيئة للمستخدم بشكل عام. في حالات أخرى، نحتاج إلى وضع حدود لضمان توفير FCM خدمة قابلة للتوسّع لجميع المُرسِلين. تساعدنا أنواع الحدود والحصص الموضّحة في هذا القسم في تحقيق التوازن بين هذه العوامل المهمة.

الحدّ من عدد الرسائل الواردة

قدّمت واجهة برمجة التطبيقات HTTP v1 حصصًا لكل مشروع في الدقيقة للرسائل الواردة. تغطي الحصة التلقائية البالغة 600 ألف رسالة في الدقيقة أكثر من% 99 من FCMالمطوّرين، مع الحفاظ على استقرار النظام وتقليل تأثير المشاريع التي تشهد ارتفاعًا مفاجئًا في عدد الرسائل.

يمكن أن تؤدي أنماط الزيادة المفاجئة في عدد الزيارات إلى حدوث أخطاء بسبب تجاوز الحصة. في حال تجاوز الحصة، يعرض النظام رمز حالة HTTP 429 RESOURCE_EXHAUSTED ("QUOTA_EXCEEDED") إلى أن تتم إعادة تعبئة الحصة في الدقيقة التالية. قد يتم أيضًا عرض الردود 429 في حالات التحميل الزائد، لذا ننصحك بشدة بالتعامل مع الردود 429 وفقًا للتوصيات المنشورة.

Keep in mind:

  • تقيس الحصة المتاحة للتنزيل الرسائل، وليس الطلبات.
  • يتم احتساب أخطاء العميل (رمز حالة HTTP من 400 إلى 499) (باستثناء 429).
  • تكون الحصص لكل دقيقة، ولكن لا تتم محاذاة هذه الدقائق مع الساعة.

حصة المراقبة

يمكنك الاطّلاع على الحصة والاستخدام والأخطاء في Google Cloud Console باستخدام ما يلي:

  1. انتقِل إلى Google Cloud وحدة التحكّم.
  2. انقر على واجهات برمجة التطبيقات والخدمات.
  3. من قائمة الجدول، اختَر Firebase Cloud Messaging API.
  4. اختَر الحصة ونظام الحدود.

طلب زيادة الحصة

قبل طلب زيادة الحصة، تأكَّد ممّا يلي:

  • أن يكون معدّل استخدامك ≥% 80 من الحصة لمدة 5 دقائق متتالية على الأقل في اليوم.
  • يجب أن تكون نسبة أخطاء العميل أقل من% 5، خاصةً خلال ذروة عدد الزيارات.
  • يجب الالتزام بأفضل الممارسات لإرسال الرسائل على نطاق واسع.

إذا استوفيت هذه المعايير، يمكنك إرسال طلب لزيادة الحصة بنسبة تصل إلى% 25+، وسيبذل فريق FCM كل جهد ممكن لتلبية الطلب (لا يمكن ضمان أي زيادة).

إذا كنت بحاجة إلى المزيد من حصة الرسائل الواردة بسبب إطلاق وشيك أو حدث مؤقت، يُرجى طلب الحصة قبل 15 يومًا على الأقل لمنحنا وقتًا كافيًا للتعامل مع الطلب. بالنسبة إلى الطلبات الكبيرة (أكثر من 18 مليون رسالة في الدقيقة)، يجب تقديم إشعار قبل 30 يومًا على الأقل. ستظل طلبات عمليات الإطلاق والفعاليات الخاصة خاضعة لنسبة أخطاء العميل ومتطلبات أفضل الممارسات.

لمزيد من المعلومات، اطّلِع على حصص FCM.

حدود الرسائل المتعلقة بموضوع معيّن وتقييد عدد الرسائل التي يتم إرسالها

يمكنك الاطّلاع على حصص الرسائل المتعلقة بمواضيع وحدودها لمزيد من التفاصيل.

الحدّ من عدد الرسائل القابلة للتصغير

كما هو موضّح في الرسائل القابلة للتصغير، الرسائل القابلة للتصغير هي إشعارات لا تتضمّن محتوًى ومصمّمة ليتم تصغيرها فوق بعضها البعض. في حال تكرار المطوّر للرسالة نفسها إلى التطبيق بشكل متكرر جدًا، نؤخّر الرسائل للحدّ من التأثير على بطارية المستخدم.

على سبيل المثال، إذا أرسلت أعدادًا كبيرة من طلبات مزامنة البريد الإلكتروني الجديدة إلى جهاز واحد، قد نؤخّر طلب مزامنة البريد الإلكتروني التالي لبضع دقائق حتى يتمكّن الجهاز من المزامنة بمعدّل متوسط أقل. ويتم الحد من معدل نقل البيانات بشكل صارم بهدف الحد من تأثير استهلاك البطارية على تجربة المستخدم.

إذا كانت حالة الاستخدام تتطلّب أنماط إرسال عالية السرعة، قد تكون الرسائل غير القابلة للتصغير هي الخيار المناسب. بالنسبة إلى هذه الرسائل، احرص على تضمين المحتوى في هذه الرسائل من أجل تقليل استهلاك البطارية.

نحصر الرسائل القابلة للتصغير على مجموعة من 20 رسالة لكل تطبيق على كل جهاز، مع إعادة تعبئة رسالة واحدة كل 3 دقائق.

الحدّ الأقصى لمعدّل الرسائل إلى جهاز واحد

في نظام التشغيل Android، يمكنك إرسال ما يصل إلى 240 رسالة في الدقيقة و5,000 رسالة في الساعة إلى جهاز واحد. يهدف هذا الحدّ المرتفع إلى السماح بزيادة مؤقتة في عدد الزيارات، مثلاً عندما يتفاعل المستخدمون بسرعة عبر المحادثة. يمنع هذا الحدوث أخطاء في منطق الإرسال تؤدي إلى استنزاف البطارية بدون قصد على الجهاز.

بالنسبة إلى iOS، نعرض رسالة خطأ عندما يتجاوز المعدّل حدود APNs.