Merge branch 'development_aamir' into 'master'
notification to chat navigate See merge request Cloud_Solution/mohemm-flutter-app!142merge-requests/143/merge
commit
59885b29f6
@ -1,59 +0,0 @@
|
|||||||
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