36 lines
1.2 KiB
Dart
36 lines
1.2 KiB
Dart
|
|
import 'package:firebase_messaging/firebase_messaging.dart';
|
||
|
|
import 'package:logging/logging.dart';
|
||
|
|
import 'package:fcs/vo/user.dart';
|
||
|
|
|
||
|
|
class MessagingFCM {
|
||
|
|
final log = Logger('MessagingFCM');
|
||
|
|
|
||
|
|
final FirebaseMessaging _firebaseMessaging = FirebaseMessaging();
|
||
|
|
|
||
|
|
MessagingFCM(User user) {
|
||
|
|
_firebaseMessaging.configure(
|
||
|
|
onMessage: (Map<String, dynamic> message) async {
|
||
|
|
log.info("onMessage: $message");
|
||
|
|
},
|
||
|
|
// onBackgroundMessage: backgroundMessageHandler,
|
||
|
|
onLaunch: (Map<String, dynamic> message) async {
|
||
|
|
log.info("onLaunch: $message");
|
||
|
|
},
|
||
|
|
onResume: (Map<String, dynamic> message) async {
|
||
|
|
log.info("onResume: $message");
|
||
|
|
},
|
||
|
|
);
|
||
|
|
_firebaseMessaging.requestNotificationPermissions(
|
||
|
|
const IosNotificationSettings(
|
||
|
|
sound: true, badge: true, alert: true, provisional: true));
|
||
|
|
_firebaseMessaging.onIosSettingsRegistered
|
||
|
|
.listen((IosNotificationSettings settings) {
|
||
|
|
log.info("Settings registered: $settings");
|
||
|
|
});
|
||
|
|
_firebaseMessaging.getToken().then((String token) {
|
||
|
|
log.info("Token:$token");
|
||
|
|
});
|
||
|
|
_firebaseMessaging.subscribeToTopic(user.docID);
|
||
|
|
}
|
||
|
|
}
|