initialize static method
Future<void>
initialize(
{ - dynamic notificationTap(
- Map<String, dynamic>
)?,
})
Implementation
static Future<void> initialize({Function(Map<String, dynamic>)? notificationTap}) async {
handleNotificationTap = notificationTap;
const AndroidInitializationSettings initializationSettingsAndroid = AndroidInitializationSettings('@mipmap/ic_launcher');
const InitializationSettings initializationSettings = InitializationSettings(
android: initializationSettingsAndroid,
iOS: DarwinInitializationSettings());
await flutterLocalNotificationsPlugin.initialize(
initializationSettings,
onDidReceiveNotificationResponse: (NotificationResponse response) {
debugPrint('Foreground notification tapped: ${response.payload}');
if (response.payload == null || (response.payload?.isEmpty ?? true)) {
return;
}
handleNotificationTap?.call(jsonDecode(makeValidJson(response.payload ?? "")));
},
onDidReceiveBackgroundNotificationResponse: onDidReceiveBackgroundNotificationResponse,
);
FirebaseMessaging.onMessage.listen((RemoteMessage message) {
debugPrint('Received message: ${message.notification}');
RemoteNotification? notification = message.notification;
if (notification != null) {
_showNotification(
notification.title ?? "No Title",
notification.body ?? "No Body",
message.data,
);
}
// handleNotificationTap?.call(jsonDecode(makeValidJson(message.data.toString())));
});
FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
await requestNotificationPermission();
}