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