initialize method
Future<void>
initialize(
- FirebaseMessaging messaging,
- void messagingCallback()?
)
Implementation
Future<void> initialize(FirebaseMessaging messaging, void Function()? messagingCallback) async {
callback = messagingCallback;
final user = await getUser();
// Request permission for push notifications
NotificationSettings settings = await messaging.requestPermission(
alert: true,
announcement: false,
badge: true,
carPlay: false,
criticalAlert: false,
provisional: true,
sound: true,
);
final pushGranted = settings.authorizationStatus;
String? token = await messaging.getToken();
switch (pushGranted) {
case AuthorizationStatus.provisional:
case AuthorizationStatus.authorized:
// Granted case for push notifications
await pushSubscriptionEvent(token!, user['userId']);
break;
case AuthorizationStatus.denied:
//TODO : Handle denied case
break;
default:
break;
}
await _localNotificationInitializer();
// Uygulama açıkken bildirim geldiğinde yapılacak işlemler
FirebaseMessaging.onMessage.listen((RemoteMessage message) {
_onMessage(message);
});
FirebaseMessaging.onBackgroundMessage(_backgroundMessageHandler);
return Future.value();
}