التقييد والحصص في "المراسلة عبر السحابة الإلكترونية من 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:

  1. انتقِل إلى وحدة تحكّم Google Cloud.

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

  3. من قائمة الجدول، اختَر Firebase Cloud Messaging 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.