notifi
unknown
dart
3 years ago
1.9 kB
7
Indexable
class NotificationApi {
static final _notification = FlutterLocalNotificationsPlugin();
static final onNotifications = BehaviorSubject<String?>();
static Future notificationDetails() async {
return NotificationDetails(
android: AndroidNotificationDetails('channel id', 'channel name',
importance: Importance.high, icon: '@mipmap/ic_launcher'),
iOS: IOSNotificationDetails(
presentAlert: true, presentBadge: true, presentSound: true));
}
static Future init() async {
final android = AndroidInitializationSettings('@mipmap/ic_launcher');
final iOS = IOSInitializationSettings(
requestSoundPermission: false,
// onDidReceiveLocalNotification: onDidReceiveLocalNotification,
requestBadgePermission: false,
requestAlertPermission: false);
final settings = InitializationSettings(android: android, iOS: iOS);
await _notification.initialize(settings,
onSelectNotification: (payload) async {
onNotifications.add(payload);
});
}
enableIOSNotifications() async {
await FirebaseMessaging.instance
.setForegroundNotificationPresentationOptions(
alert: true, // Required to display a heads up notification
badge: true,
sound: true,
);
}
void localNotification({BuildContext? context}) async {
FirebaseMessaging.onMessage.listen((RemoteMessage message) {
_notification.show(
12345,
message.notification!.title,
message.notification!.body,
NotificationDetails(
android: AndroidNotificationDetails(
'channel id',
'channel name',
importance: Importance.high,
playSound: true,
icon: '@mipmap/ic_launcher',
),
iOS: IOSNotificationDetails(),
),
payload: 'data',
);
});
}
}
void onDidReceiveLocalNotification() {
print("object");
}Editor is loading...