init static method
dynamic
init({
- required Future onBackgroundMessage(
- RemoteMessage message
- required AndroidNotificationChannelWrapperList channels,
- String androidDefaultIcon = 'mipmap/ic_launcher',
Implementation
static init(
{required Future Function(RemoteMessage message) onBackgroundMessage,
required AndroidNotificationChannelWrapperList channels,
String androidDefaultIcon = 'mipmap/ic_launcher'}) async {
fcmToken = await FirebaseMessaging.instance.getToken();
dev.log("$fcmToken", name: "FirebaseMessaging.token");
AndroidInitializationSettings initializationSettingsAndroid =
AndroidInitializationSettings(
androidDefaultIcon); // <- default icon name is @mipmap/ic_launcher
IOSInitializationSettings initializationSettingsIOS =
IOSInitializationSettings();
InitializationSettings initializationSettings = InitializationSettings(
android: initializationSettingsAndroid, iOS: initializationSettingsIOS);
await _flutterLocalNotificationsPlugin.initialize(initializationSettings);
FcmManager.onBackgroundMessage = onBackgroundMessage;
if (channels.channels == null || channels.channels!.isEmpty) {
await _flutterLocalNotificationsPlugin
.resolvePlatformSpecificImplementation<
AndroidFlutterLocalNotificationsPlugin>()
?.createNotificationChannel(AndroidNotificationChannel(
channels.defaultChannelId, // id
channels.defaultChannelTitle, // title
importance: Importance.high,
));
} else {
await Future.forEach<AndroidNotificationChannelWrapper>(
channels.channels!, (channel) async {
await _flutterLocalNotificationsPlugin
.resolvePlatformSpecificImplementation<
AndroidFlutterLocalNotificationsPlugin>()
?.createNotificationChannel(channel.channel);
});
}
await FirebaseMessaging.instance
.setForegroundNotificationPresentationOptions(
alert: true,
badge: true,
sound: true,
);
}