Merge branch 'master' into development_aamir
# Conflicts: # android/app/src/main/AndroidManifest.xml # ios/Runner/Info.plist # lib/api/chat/chat_api_client.dart # lib/ui/login/login_screen.dartmerge-requests/137/head
						commit
						1eca46600d
					
				| @ -0,0 +1,59 @@ | ||||
| import 'dart:async'; | ||||
| import 'dart:io'; | ||||
| 
 | ||||
| import 'package:firebase_messaging/firebase_messaging.dart'; | ||||
| import 'package:flutter/cupertino.dart'; | ||||
| import 'package:flutter/material.dart'; | ||||
| import 'package:mohem_flutter_app/app_state/app_state.dart'; | ||||
| 
 | ||||
| // |--> Push Notification Background | ||||
| Future<dynamic> backgroundMessageHandler(message) async { | ||||
|   print("Firebase backgroundMessageHandler!!!"); | ||||
| } | ||||
| 
 | ||||
| class PushNotificationHandler { | ||||
|   final BuildContext context; | ||||
|   static PushNotificationHandler? _instance; | ||||
| 
 | ||||
|   PushNotificationHandler(this.context) { | ||||
|     PushNotificationHandler._instance = this; | ||||
|   } | ||||
| 
 | ||||
|   static PushNotificationHandler getInstance() => _instance!; | ||||
| 
 | ||||
|   void init() async { | ||||
|     FirebaseMessaging.onMessage.listen((RemoteMessage message) async { | ||||
|       if (Platform.isIOS) { | ||||
|         await Future.delayed(Duration(milliseconds: 3000)).then((value) { | ||||
|           newMessage(message); | ||||
|         }); | ||||
|       } else { | ||||
|         newMessage(message); | ||||
|       } | ||||
|     }); | ||||
| 
 | ||||
|     FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) async { | ||||
|       if (Platform.isIOS) { | ||||
|         await Future.delayed(Duration(milliseconds: 3000)).then((value) { | ||||
|           newMessage(message); | ||||
|         }); | ||||
|       } else { | ||||
|         newMessage(message); | ||||
|       } | ||||
|     }); | ||||
| 
 | ||||
|     FirebaseMessaging.instance.onTokenRefresh.listen((fcm_token) { | ||||
|       print("Push Notification onTokenRefresh: " + fcm_token); | ||||
|       AppState().setDeviceToken = fcm_token; | ||||
|     }); | ||||
| 
 | ||||
|     FirebaseMessaging.onBackgroundMessage(backgroundMessageHandler); | ||||
|   } | ||||
| 
 | ||||
|   void newMessage(RemoteMessage remoteMessage) async { | ||||
|     print("Remote Message: " + remoteMessage.data.toString()); | ||||
|     if (remoteMessage.data.isEmpty) { | ||||
|       return; | ||||
|     } | ||||
|   } | ||||
| } | ||||
					Loading…
					
					
				
		Reference in New Issue