هدفنا هو دائمًا تسليم كل رسالة يتم إرسالها باستخدام FCM. ومع ذلك، قد يؤدي عرض كل رسالة إلى تجربة مستخدم سيئة بشكل عام. في حالات أخرى، نحتاج إلى توفير حدود لضمان توفير FCM خدمة قابلة للتوسّع لجميع المُرسِلين. تساعدنا أنواع الحدود والحصص الموضّحة في هذا القسم في تحقيق التوازن بين هذه العوامل المهمة.
الحدّ من عدد الرسائل الواردة
قدّمت واجهة برمجة التطبيقات HTTP v1 حصصًا لكل مشروع في الدقيقة للرسائل الواردة. تغطي الحصة التلقائية البالغة 600 ألف رسالة في الدقيقة أكثر من% 99 من FCMالمطوّرين، مع الحفاظ على استقرار النظام وتقليل تأثير المشاريع التي تشهد ارتفاعًا مفاجئًا في عدد الرسائل.
يمكن أن تؤدي أنماط الزيارات الحادة إلى حدوث أخطاء تجاوز الحدّ المسموح به. في حال تجاوز الحصة، يعرض النظام رمز حالة HTTP 429 RESOURCE_EXHAUSTED ("QUOTA_EXCEEDED") إلى أن تتم إعادة تعبئة الحصة في الدقيقة التالية. قد يتم أيضًا عرض الردود 429 في حالات التحميل الزائد، لذا ننصحك بشدة بالتعامل مع الردود 429 وفقًا للتوصيات المنشورة.
Keep in mind:
- تقيس الحصة المتاحة للتنزيل عدد الرسائل، وليس عدد الطلبات.
- يتم احتساب أخطاء العميل (رمز حالة HTTP من 400 إلى 499) (باستثناء 429).
- تكون الحصص لكل دقيقة، ولكن لا تتم محاذاة هذه الدقائق مع الساعة.
حصة المراقبة
يمكنك الاطّلاع على الحصة والاستخدام والأخطاء في لوحة تحكّم Google Cloud:
انتقِل إلى Google Cloud وحدة التحكّم.
انقر على واجهات برمجة التطبيقات والخدمات.
من قائمة الجدول، اختَر Firebase Cloud Messaging API.
اختَر الحصة وحدود النظام.
طلب زيادة الحصة
قبل طلب زيادة الحصة، تأكَّد مما يلي:
- يبلغ معدّل استخدامك% 80 أو أكثر من الحصة المخصّصة لك بانتظام لمدة 5 دقائق متتالية على الأقل يوميًا.
- نسبة أخطاء العميل أقل من% 5، خاصةً خلال ذروة الزيارات.
- أن تلتزم بأفضل الممارسات لإرسال الرسائل على نطاق واسع
إذا كنت تستوفي هذه المعايير، يمكنك إرسال طلب لزيادة الحصة بنسبة تصل إلى%25+ على Google Cloud Console باستخدام ما يلي:
- انتقِل إلى الحصة ونظام الحدود.
- من الجدول، اختَر صف إرسال الطلبات في الدقيقة.
- انقر على الزر تعديل.
- اتّبِع التعليمات لتقديم طلبك.
ستبذل FCM قصارى جهدها لتلبية الطلب (لا يمكن ضمان زيادة).
إذا كنت بحاجة إلى حصة أكبر من الرسائل الواردة بسبب إطلاق وشيك أو حدث مؤقت، عليك تقديم طلب زيادة الحصة من خلال دعم Firebase. يُرجى طلب الحصة قبل 15 يومًا على الأقل من الموعد المطلوب لمنحنا وقتًا كافيًا للتعامل مع الطلب. بالنسبة إلى الطلبات الكبيرة (أكثر من 18 مليون رسالة في الدقيقة)، يجب إرسال إشعار قبل 30 يومًا على الأقل. يمكننا الموافقة على حدثَين مؤقتَين فقط ضمن الحصة المحدّدة كل عام. يجب ألا يتجاوز إجمالي مدة الحصة المؤقتة على مدار العام 30 يومًا. تظل طلبات الإطلاق والفعاليات الخاصة خاضعة لمتطلبات نسبة أخطاء العميل وأفضل الممارسات.
لمزيد من المعلومات، اطّلِع على حصص FCM.
حدود الرسائل المتعلقة بموضوع معيّن وتقييد عدد الرسائل التي يتم إرسالها
يمكنك الاطّلاع على حصص الرسائل المستندة إلى المواضيع وحدودها لمزيد من التفاصيل.
الحدّ من عدد الرسائل القابلة للتصغير
كما هو موضّح في الرسائل القابلة للتصغير، الرسائل القابلة للتصغير هي إشعارات لا تحتوي على محتوى ومصمّمة ليتم تصغيرها فوق بعضها البعض. في حال تكرار المطوّر إرسال الرسالة نفسها إلى أحد التطبيقات بشكل متكرر جدًا، نؤخّر الرسائل للحدّ من تأثيرها في بطارية المستخدم.
على سبيل المثال، إذا أرسلت أعدادًا كبيرة من طلبات مزامنة البريد الإلكتروني الجديدة إلى جهاز واحد، قد نؤخّر طلب مزامنة البريد الإلكتروني التالي لبضع دقائق حتى يتمكّن الجهاز من المزامنة بمعدّل متوسط أقل. ويتم هذا التقييد بشكل صارم بهدف الحد من تأثير التطبيق في البطارية.
إذا كانت حالة الاستخدام تتطلّب أنماط إرسال عالية السرعة، قد تكون الرسائل غير القابلة للتصغير هي الخيار المناسب. بالنسبة إلى هذه الرسائل، احرص على تضمين المحتوى في هذه الرسائل من أجل تقليل استهلاك البطارية.
نقتصر على عرض 20 رسالة قابلة للتصغير كحد أقصى لكل تطبيق على كل جهاز، مع إعادة تعبئة رسالة واحدة كل 3 دقائق.
الحدّ الأقصى لعدد الرسائل التي يمكن إرسالها إلى جهاز واحد
على أجهزة Android، يمكنك إرسال ما يصل إلى 240 رسالة في الدقيقة و5,000 رسالة في الساعة إلى جهاز واحد. يهدف هذا الحدّ المرتفع إلى السماح بزيادة مؤقتة في عدد الزيارات، مثلاً عندما يتفاعل المستخدمون بسرعة عبر المحادثة. يمنع هذا الحدوث أخطاء في منطق الإرسال تؤدي إلى استنزاف البطارية بدون قصد على أحد الأجهزة.
بالنسبة إلى iOS، نعرض خطأً عندما يتجاوز المعدّل حدود APNs.