رسائل الموضوع على Flutter

استنادًا إلى نموذج النشر/الاشتراك، تسمح لك رسائل موضوع FCM بإرسال رسالة إلى أجهزة متعددة اشتركت في موضوع معين. يمكنك إنشاء رسائل الموضوع حسب الحاجة، وتتولى FCM توجيه الرسالة وتسليمها بشكل موثوق إلى الأجهزة المناسبة.

على سبيل المثال، يمكن لمستخدمي تطبيق التنبؤ بالمد والجزر المحلي الاشتراك في موضوع "تنبيهات تيارات المد والجزر" وتلقي إشعارات حول ظروف الصيد المثالية في المياه المالحة في مناطق محددة. يمكن لمستخدمي التطبيق الرياضي الاشتراك في التحديثات التلقائية لنتائج المباريات المباشرة لفرقهم المفضلة.

بعض الأشياء التي يجب مراعاتها حول المواضيع:

  • تعد رسائل الموضوع مناسبة بشكل أفضل لمحتوى مثل الطقس أو المعلومات الأخرى المتاحة للعامة.

  • يتم تحسين رسائل الموضوع من أجل الإنتاجية بدلاً من زمن الوصول . للتسليم السريع والآمن إلى أجهزة فردية أو مجموعات صغيرة من الأجهزة، قم بتوجيه الرسائل إلى رموز التسجيل المميزة ، وليس المواضيع.

  • إذا كنت بحاجة إلى إرسال رسائل إلى أجهزة متعددة لكل مستخدم ، ففكر في مراسلة مجموعة الأجهزة لحالات الاستخدام هذه.

  • تدعم رسائل الموضوع اشتراكات غير محدودة لكل موضوع. ومع ذلك، تفرض FCM حدودًا في هذه المجالات:

    • يمكن الاشتراك في مثيل تطبيق واحد بما لا يزيد عن 2000 موضوع.
    • إذا كنت تستخدم الاستيراد المجمع للاشتراك في مثيلات التطبيق، فإن كل طلب يقتصر على 1000 مثيل تطبيق.
    • تكرار الاشتراكات الجديدة محدود بمعدل كل مشروع. إذا قمت بإرسال عدد كبير جدًا من طلبات الاشتراك في فترة زمنية قصيرة، فستستجيب خوادم FCM باستجابة 429 RESOURCE_EXHAUSTED ("تم تجاوز الحصة النسبية"). أعد المحاولة مع التراجع الأسي.

اشترك في تطبيق العميل في موضوع ما

يمكن لتطبيقات العميل الاشتراك في أي موضوع موجود، أو يمكنها إنشاء موضوع جديد. عندما يشترك تطبيق عميل في اسم موضوع جديد (اسم غير موجود بالفعل لمشروع Firebase الخاص بك)، يتم إنشاء موضوع جديد بهذا الاسم في FCM ويمكن لأي عميل الاشتراك فيه لاحقًا.

للاشتراك في موضوع ما، اتصل بـ subscribeToTopic() باسم الموضوع. تُرجع هذه الطريقة Future ، والذي يتم حله عند نجاح الاشتراك:

await FirebaseMessaging.instance.subscribeToTopic("topic");

لإلغاء الاشتراك، اتصل بـ unsubscribeFromTopic() باسم الموضوع.

لا يتم دعم الاشتراك subscribeToTopic() و unsubscribeFromTopic() لعملاء الويب. لمعرفة كيفية إدارة الاشتراكات لمستخدمي الويب، راجع إرسال رسائل إلى موضوعات على الويب/JavaScript .

الخطوات التالية