تتيح لك ميزة FCM إرسال الرسائل حسب الموضوع إرسال رسالة إلى أجهزة متعددة وافقت على تلقّي رسائل حول موضوع معيّن. يمكنك إنشاء رسائل المواضيع حسب الحاجة، ويتولّى FCM توجيه الرسالة وتسليمها بشكل موثوق إلى الأجهزة المناسبة.
في ما يلي النقاط الرئيسية حول الرسائل المستندة إلى مواضيع:
- الأكثر ملاءمةً للمعلومات المتاحة للجميع، مثل تنبيهات الطقس
- تم تحسين رسائل المواضيع من أجل معدل نقل البيانات بدلاً من وقت الاستجابة. لضمان سرعة تسليم الرسائل وأمانها إلى أجهزة فردية أو مجموعات صغيرة، يمكنك استهداف الرسائل باستخدام رموز التسجيل بدلاً من المواضيع.
الحصص والحدود
تتيح ميزة المراسلة حسب الموضوع عددًا غير محدود من الاشتراكات لكل موضوع. ومع ذلك، تفرض FCM قيودًا في المجالات التالية:
- يمكن الاشتراك في ما لا يزيد عن 2,000 موضوع لكل مثيل تطبيق.
- إذا كنت تستخدم الاشتراك المجمّع للاشتراك في مثيلات التطبيق، يقتصر كل طلب على 1, 000 مثيل تطبيق.
تقييد الاشتراك
يقتصر معدّل إضافة الاشتراكات في المواضيع أو إزالتها على 3,000 طلب في الثانية لكل مشروع.
يتم تحديد معدّل تكرار الاشتراكات الجديدة لكل مشروع. إذا أرسلت عددًا كبيرًا جدًا من طلبات الاشتراك خلال فترة زمنية قصيرة، ستردّ خوادم FCM برسالة 429 RESOURCE_EXHAUSTED
("QUOTA_EXCEEDED"). أعِد المحاولة باستخدام خوارزمية الرقود الأسي الثنائي.
تقييد التوزيع الموسَّع
تتم عملية إرسال الرسائل إلى أجهزة متعددة عند استهداف مواضيع ومجموعات، أو عند استخدام أداة إنشاء الإشعارات لاستهداف شرائح الجمهور أو شرائح المستخدمين.
لا يتم إرسال الرسائل إلى عدة وجهات بشكل فوري، لذا قد تحدث أحيانًا عمليات إرسال متعددة إلى عدة وجهات في الوقت نفسه. نحصر عدد عمليات إرسال الرسائل المتزامنة لكل مشروع بـ 1,000 عملية. بعد ذلك، قد نرفض طلبات إرسال إضافية أو نؤجّل إرسال الطلبات إلى حين اكتمال بعض عمليات الإرسال الجارية.
يتأثر معدل التوزيع الفعلي الذي يمكن تحقيقه بعدد المشاريع التي تطلب عمليات توزيع في الوقت نفسه. من الشائع أن يبلغ معدّل النشر 10,000 طلب في الثانية لمشروع فردي، ولكن هذا الرقم ليس مضمونًا وهو نتيجة إجمالي الحمل على النظام. يُرجى العِلم أنّ سعة النشر المتاحة يتم تقسيمها بين المشاريع وليس بين طلبات النشر. لذا، إذا كان مشروعك يتضمّن عمليتَي توسيع نطاق قيد التقدّم، ستشهد كل عملية توسيع نطاق نصف معدّل التوسيع المتاح فقط. الطريقة المقترَحة لتحقيق أقصى سرعة في عملية التوزيع هي أن يكون لديك عملية توزيع نشطة واحدة فقط قيد التقدّم في كل مرة.
الخطوات التالية
- تعرَّف على كيفية إدارة الاشتراكات في المواضيع باستخدام حزمة Admin SDK أو من تطبيق العميل.
- تعرَّف على كيفية إرسال الرسائل إلى المواضيع باستخدام Admin SDK أو واجهة برمجة التطبيقات HTTP الإصدار 1 من FCM.