إشعارات Push عبر FCM لتطبيقات الجوال في Discourse Mobile Push

قمت ببناء إضافة جديدة لـ Discourse لإرسال الإشعارات الفورية إلى تطبيقات Android/iOS الأصلية باستخدام Firebase Cloud Messaging (FCM).

لماذا؟

توفر الإضافة الحالية discourse-fcm-notifications وظيفة مشابهة، لكنها لم تعد محدّثة بما يتوافق مع الإصدارات الحالية من Discourse. يؤدي تثبيتها على نظام Discourse حديث إلى ظهور تحذيرات.

واجهت صعوبة في جعل الإضافة القديمة تعمل على أجهزة المُختبِرين الآخرين. بدلاً من محاولة تحديثها، قررت بناء تنفيذ جديد من الصفر.

الميزات

  • إشعارات FCM فورية للتطبيقات الأصلية للجوال
  • دعم عدة أجهزة لكل مستخدم
  • تسجيل الأجهزة وإزالتها عبر واجهة برمجة تطبيقات (API)
  • روابط عميقة (Deep links) إلى موضوع أو منشور أو محادثة Discourse ذات الصلة
  • إزالة تلقائية لمفاتيح FCM غير الصالحة أو المنتهية الصلاحية
  • معالجة إعادة المحاولة للأعطال المؤقتة في Firebase
  • وضع خصوصية اختياري مع محتوى إشعارات عام
  • أدوات تشخيص واختبار الإشعارات للمشرفين
  • استخدام نظام الإعدادات والإشعارات الحالي في Discourse

تهدف الإضافة إلى تقديم طبقة التوصيل بين Discourse وتطبيق الجوال الأصلي؛ حيث تبقى مسؤولية تحديد الإشعارات التي يتلقاها المستخدم على عاتق Discourse.

تطوير بمساعدة الذكاء الاصطناعي

تم تطوير جزء كبير من هذه الإضافة بمساعدة الذكاء الاصطناعي. أقوم بنشرها هنا جزئيًا للحصول على ملاحظات من مطوري Discourse ذوي الخبرة، وتحديد أي شيء يجب تغييره أو تحسينه.

تخضع الإضافة لترخيص MIT.

نرحب بالملاحظات، وتقارير الأخطاء، والاقتراحات.

إعجاب واحد (1)

يسعدني أن أشارككم كيف قمت بتنفيذ ذلك في تطبيق Flutter الخاص بي كواجهة لمنتدى Discourse. لم أقم بعد بتنفيذه على نظام iOS، بل على نظام Android فقط.