كيفية التعامل مع الاشعارات في حالة قفل او تشغيل التطبيق بواسطة firebase

كيفية التعامل مع الاشعارات في حالة قفل او تشغيل التطبيق بواسطة firebase

كيفية التعامل مع الاشعارات في حالة قفل او تشغيل التطبيق بواسطة firebase

في هذا المقال سوف نشرح لكم كيف يتم استخدام الاشعارات بشكل اكثر تعمق باستخدام تقنية فلاتر الغنيه عن التعريف وبواسطة الfirebase حيث قمنا في الدرس السابق بشرح ارسال اشعار وكيفية استقباله ولهذا عليك مشاهدة الدرس السابق لكي تفهم هذا الدرس بشكل افضل وتحصل على اكبر قدر من الافاده , في هذا الدرس سوف نشرح لكم التعامل مع الاشعارات في مختلف الحالات مثل التعامل معها في حالة كان التطبيق في وضع السكون او تم اغلاقه او كان التطبيق الخاص بك في حالة العمل اي ان المستخدم يستخدمه في الوقت الراهن .


أصبح إطار عمل Google Flutter شائعًا بشكل متزايد ، ويتم تطوير المزيد والمزيد من التطبيقات باستخدام Flutter اليوم. تعد قدرة Flutter عبر الأنظمة الأساسية هي ميزتها الرئيسية. يدعم كل من الويب وأنظمة التشغيل iOS / Android تطبيقك. بالإضافة إلى ذلك ، نظرًا لأن Flutter هو إطار عمل مفتوح المصدر ، يمكن لأي مطور تحسين وظائفه على GitHub.

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


التعامل مع الاشعارات في حالة اغلاق التطبيق او فتحه او عندما يكون التطبيق في حالة السكون

اولى الحالات التي سوف نتحدث عنها وهيا onMessage وهي تعمل في حالة كان التطبيق الخاص بك في وضع التشغيل اي ان المستخدم يقوم باستخدام التطبيق الخاص بك في الوقت الحالي ولم يخرج منه واعتقد اننا غطينا هذا الجزء بشكل اكثر وضوح في الدرس السابق , الحالة الثانية وهيا onMessageOpenedApp وهيا الحاله التي يعمل بها التطبيق في وضع السكون اي ان التطبيق في وضع التصغير او حتى كان التطبيق تم اغلاقه ولكنه ما زال يعمل في الخلفيه اي في التطبيقات التي توجد في المفتاح الاخير واخر حالة معنا وهيا onBackgroundMessage وهيا التي تجعل الاشعارات تصل حتى لو تم اغلاق التطبيق ولكن عليك بتنفيذ الmethode المسؤوله عن ذلك كما هو موضح بالكود الخاص بها وتستطيع تجربة ارسال اشعارات من firebase للتطبيق لتجربة العمليات التي تم شرحها .


التعامل مع الاشعارات في حالة اغلاق التطبيق او فتحه او عندما يكون التطبيق في حالة السكون

main.dart


Future<void> firebaseMessagingBackgroundHandler(RemoteMessage message) async
{
  print('on background message');
  print(message.data.toString());
  showToast(message: 'on background message', toastStates: ToastStates.SUCCESS,);
}

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  Bloc.observer = MyBlocObserver();
  await Firebase.initializeApp();
  await di.init();
  await CacheHelperw.init();

  var tokenFCM = await FirebaseMessaging.instance.getToken();
  print('tken fcm : $tokenFCM');

  // onUseApp
  FirebaseMessaging.onMessage.listen((event)
  {
    print('on message');
    print(event.data.toString());
    showToast(message: 'on message', toastStates: ToastStates.SUCCESS,);
  });

  //background (pause or minimize app)
  FirebaseMessaging.onMessageOpenedApp.listen((event)
  {
    print('on message opened app');
    print(event.data.toString());
    showToast(message: 'on message opened app', toastStates: ToastStates.SUCCESS,);
  });

  // background fcm (destroy or close app)
  FirebaseMessaging.onBackgroundMessage(
      // methode work with destroy or close app
      firebaseMessagingBackgroundHandler);
      
      ...
      }
      


الانتقال الى التطبيق بعد النقر على ايقونة الاشعارات في حالة اغلاق التطبيق



manifest.xml


<intent-filter>
                <action android:name="FLUTTER_NOTIFICATION_CLICK" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            


تعليقات