Merge branch 'development_haroon' into 'master'
Development haroon See merge request Cloud_Solution/mohemm-flutter-app!136merge-requests/137/merge
commit
a97b367c6a
@ -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