import 'package:example/localizations.dart'; import 'package:flutter/material.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart' hide Message; import 'package:stream_chat_flutter/stream_chat_flutter.dart'; void showLocalNotification( Event event, String currentUserId, BuildContext context) async { if (![ EventType.messageNew, EventType.notificationMessageNew, ].contains(event.type) || event.user!.id == currentUserId) { return; } if (event.message == null) return; final flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin(); final initializationSettingsAndroid = AndroidInitializationSettings('launch_background'); final initializationSettingsIOS = IOSInitializationSettings(); final initializationSettings = InitializationSettings( android: initializationSettingsAndroid, iOS: initializationSettingsIOS, ); await flutterLocalNotificationsPlugin.initialize(initializationSettings); await flutterLocalNotificationsPlugin.show( event.message!.id.hashCode, event.message!.user!.name, event.message!.text, NotificationDetails( android: AndroidNotificationDetails( 'message channel', AppLocalizations.of(context).messageChannelName, AppLocalizations.of(context).messageChannelDescription, priority: Priority.high, importance: Importance.high, ), iOS: IOSNotificationDetails(), ), ); }