شرح تحديد Topic معين يتم ارسال الاشعارات له في فلاتر
في هذا الدرس سوف نشرح لكم عن الtopic في fcm وهو مهم جدا جدا اذا كنت تستخدم الاشعارات في تطبيقك وكانت هذه الاشعارات تعتمد على الfirebase بكل بساطة الtopic يخصص قناه معينه للاشعارات بمعنى اذا كنت تريد ارسال اشعارات لجميع المستخدمين الذي يشتركون في اخبار الرياضه فيمكنك تحديد اخبار الرياضه وارسال لها الاشعارات بهذا كل مستخدم مشترك في هذه الاخبار سوف يصله الاشعار وهكذا ولهذا كان يجب علينا شرح هذا الجزء المهم في الاشعارات المعتمده على الFCM من الفايربيز .
Flutter هو تطبيق SDK للجوّال يسمح بإنشاء رمز متزامن لنظامي التشغيل iOS و Android. تطبيقين بأداء رائع ودقة. Flutter الهدف هو إعطاء المطورين الأدوات التي يحتاجونها لإنشاء برامج عالية الأداء تعمل بسلاسة عبر العديد من الأنظمة الأساسية. يمكننا استيعاب العديد من اختلافات الأيقونات ومشكلات التنضيد وسلوك التمرير. لبدء الاستخدام ، لا تحتاج إلى أي معرفة سابقة بتطوير الأجهزة المحمولة. إذا كنت قد استخدمت لغة Java أو JavaScript ، فسيبدو التطبيق مألوفًا لك لأنه تمت كتابته بلغة برمجة Dart. على الرغم من أن الكتابة بلغات شيئية تعد ميزة إضافية ، إلا أن بعض تطبيقات Flutter قد تم إنشاؤها من قبل غير المبرمجين!
How to subscribe Channel notification Firebase
بالنسبة للكود البرمجي الذي تعمل عليه عليك بالانتقال الى الجزء المخصص الذي تريد ان ترسل له الاشعارات وتضع الكود التاليه وهو subscribeToTopic وتكتب اسم القناه التي يتم الاشتراك بها عند النقر على الايقونة وايضا يمكنك استخدام الامر unsubscribeFromTopic لالغاء الاشتراك في قناه معينه وتضع بعدها اسم القناة التي تريد الالغاء منها كما هو موضح .
notificationPage.dart
class NotificationPage extends StatelessWidget {
const NotificationPage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child:
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
OutlinedButton(onPressed: (){
FirebaseMessaging.instance.subscribeToTopic('AM');
showToast(message: 'subscribed', toastStates: ToastStates.SUCCESS);
}, child: const Text('Suscribe AM',style: TextStyle(color: Colors.blue),),style: OutlinedButton.styleFrom(
side: const BorderSide(width: 1.0, color: Colors.blue),
),),
space10Horizontal,
OutlinedButton(onPressed: (){
FirebaseMessaging.instance.unsubscribeFromTopic('AM');
showToast(message: 'Un subscribed', toastStates: ToastStates.SUCCESS);
}, child: const Text('unSuscribe AM',style: TextStyle(color: Colors.blue)),style: OutlinedButton.styleFrom(
side: const BorderSide(width: 1.0, color: Colors.blue),
),),
],
),
),
);
}
}
How to send Messgae From postman
الجزء التالي وهو عملية ارسال الاشعار من الpostman وهو بكل بساطة سوف تاتي بعد to وتضع الtopics وبعدها تكتب اسم القناه التي تريد ان ترسل لجميع مستخدميها اشعارات وهنا حددنا القناة am التي قمنا بوضعها في الكود السابق وبهذا كل المستخدمين على هذه القناه سوف يصلهم اشعار واذا قام احد المشتركين بإلغاء الاشتراك فلن يصل الاشعار له .
json.dart
{
"to":"/topics/AM",
"notification": {
"title": "Check this Mobile (title)",
"body": "Rich Notification testing (body)",
"mutable_content": true,
"sound": "Tri-tone"
},
"data": {
"url": "yes",
"dl": "<deeplink action on tap of notification>"
}
}