هدفنا هو دائمًا إيصال كل رسالة يتم إرسالها باستخدام FCM. ومع ذلك، يؤدي إيصال كل رسالة في بعض الأحيان إلى تجربة مستخدم سيئة بشكل عام. وفي حالات أخرى، علينا توفير حدود لضمان توفير FCM خدمة قابلة للتوسّع لجميع المُرسِلين. تساعدنا أنواع الحدود والحصص الموضّحة في هذا القسم في تحقيق التوازن بين هذه العوامل المهمة.
الحدّ من عدد الرسائل المرسَلة إلى الأجهزة
قدّمت HTTP v1 API حصصًا لكل مشروع في الدقيقة للرسائل المرسَلة إلى الأجهزة. تغطي الحصة التلقائية البالغة 600 ألف رسالة في الدقيقة أكثر من% 99 من FCM المطوّرين، مع الحفاظ على استقرار النظام و تقليل تأثير المشاريع التي تشهد ارتفاعًا مفاجئًا في عدد الزيارات.
يمكن أن تؤدي أنماط الزيارات التي تشهد ارتفاعًا مفاجئًا يمكن أن
تؤدي إلى حدوث أخطاء تجاوز الحصة. في سيناريو تجاوز الحصة، يعرض النظام رمز حالة HTTP 429 RESOURCE_EXHAUSTED ("QUOTA_EXCEEDED") إلى أن تتم إعادة ملء الحصة في الدقيقة التالية. قد يتم أيضًا عرض الردود التي تحمل الرمز 429 في حالات التحميل الزائد
، لذا ننصحك بشدة بالتعامل مع هذه الردود وفقًا للتوصيات
المنشورة.
Keep in mind:
- تقيس الحصة المرسَلة إلى الأجهزة الرسائل، وليس الطلبات.
- يتم احتساب أخطاء العميل (رمز حالة HTTP من 400 إلى 499)، باستثناء الردود التي تحمل الرمز 429.
- تكون الحصص في الدقيقة، ولكن هذه الدقائق لا تتطابق مع الساعة.
مراقبة الحصة
يمكنك الاطّلاع على الحصة والاستخدام والأخطاء في Google Cloud Console:
انتقِل إلى Google Cloud console.
انقر على واجهات برمجة التطبيقات والخدمات.
من قائمة الجدول، انقر على 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.