هدفنا هو دائمًا تسليم كل رسالة يتم إرسالها باستخدام مراسلة Firebase السحابية. ومع ذلك، قد يؤدي إرسال كل رسالة إلى تقديم تجربة سيئة للمستخدم بشكل عام. في حالات أخرى، نحتاج إلى توفير حدود لضمان توفير 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.