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

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

تقييد الرسائل الواردة

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

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

Keep in mind:

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

رصد الحصة

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

  1. انتقِل إلى Google Cloud console.

  2. انقر على واجهات برمجة التطبيقات والخدمات.

  3. من قائمة الجدول، انقر على مراسلة Firebase السحابية API.

  4. انقر على الحصة والحدود القصوى للنظام.

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

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

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

إذا كنت تستوفي هذه المعايير، يمكنك إرسال طلب لزيادة الحصة بنسبة تصل إلى%25+ على Google Cloud Console باستخدام ما يلي:

  1. انتقِل إلى الحصة والحدود القصوى للنظام.
  2. من الجدول، انقر على صف إرسال الطلبات في الدقيقة.
  3. انقر على الزر تعديل.
  4. اتّبِع التعليمات لإرسال طلبك.

FCM ستبذل قصارى جهدها لتلبية الطلب (لا يمكن ضمان أي زيادة ).

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

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

الحدود القصوى لعدد الرسائل المرسَلة إلى موضوع معيّن والحدّ من عدد الرسائل المرسَلة إلى أجهزة متعددة

لمزيد من التفاصيل، يُرجى الاطّلاع على الحصص والحدود القصوى للرسائل المرسَلة إلى موضوع معيّن.

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

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

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

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

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

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

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

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