import 'package:bson_objectid/bson_objectid.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:fires_flutter/models/fireNotification.dart'; import 'package:redux/src/store.dart'; import 'models/appState.dart'; import 'redux/actions.dart'; final FirebaseMessaging _firebaseMessaging = new FirebaseMessaging(); // https://pub.dartlang.org/packages/firebase_messaging#-example-tab- void firebaseConfig(Store store) { _firebaseMessaging.configure(onMessage: (Map message) { print("onMessage: $message"); onMessage(message, store); //_showItemDialog(message); }, onLaunch: (Map message) { print("onLaunch: $message"); //_navigateToItemDetail(message); onMessage(message, store); }, onResume: (Map message) { print("onResume: $message"); //_navigateToItemDetail(message); onMessage(message, store); }); getToken(store); } void onMessage(Map message, Store store) { FireNotification notif = new FireNotification( id: new ObjectId.fromHexString(message['id']), lat: double.parse(message['lat']), lon: double.parse(message['lon']), description: message['description'], read: false, when: DateTime.parse(message['when'])); print(notif); store.dispatch(new AddFireNotificationAction(notif)); } getToken(Store store) async { String token = await _firebaseMessaging.onTokenRefresh.first; // print(token); store.dispatch(new OnUserTokenAction(token)); }