إرسال رسائل بشأن المواضيع على Flutter

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

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

بعض النقاط التي يجب مراعاتها بشأن المواضيع:

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

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

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

  • تتيح ميزة "رسائل المواضيع" اشتراكات غير محدودة لكل موضوع. ومع ذلك، تفرض خدمة "المراسلة عبر السحابة الإلكترونية من Firebase" حدودًا في الجوانب التالية:

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

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

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

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

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

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

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

الخطوات اللاحقة