flutter_fcm 1.3.0 flutter_fcm: ^1.3.0 copied to clipboard
Flutter plugin for Firebase Cloud Messaging (FCM) , a cross-platform messaging solution that lets you reliably deliver messages on Android and iOS.
Firebase Messaging Plugin for Flutter #
A Flutter plugin to use the Firebase Cloud Messaging API.
To learn more about Firebase Cloud Messaging, please visit the Firebase website
Getting Started #
To get started with Firebase Cloud Messaging for Flutter, please see the documentation.
Why flutter_fcm? #
- 🚀 Easy to use
- ❤ Supports local notification
- 🛡️ Null safety
- ⚡ On notification Received/Pressed works in all states: foreground,background and even when app is closed(not running)
Getting Started #
To get started with Firebase Cloud Messaging for Flutter, see Android Installation. and iOS Installation.
Usage #
The easiest way to use this library is via the top-level functions.
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter_fcm/flutter_fcm.dart';
class Messaging {
static String? token;
static deleteToken() {
Messaging.token = null;
FCM.deleteRefreshToken();
}
static subscribeToTopic(String topic) {
FCM.subscribeToTopic(topic);
}
static unsubscribeFromTopic(String topic) {
FCM.unsubscribeFromTopic(topic);
}
@pragma('vm:entry-point')
static Future<void> onNotificationReceived(RemoteMessage message) async {
await Firebase.initializeApp();
//print('Handling a message ${message}');
}
@pragma('vm:entry-point')
static initFCM() async {
try {
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform
);
await FCM.initializeFCM(
withLocalNotification: true,
// navigatorKey: Keys.navigatorKey,
onNotificationReceived: onNotificationReceived,
onNotificationPressed: (Map<String, dynamic> data) {
},
onTokenChanged: (String? token) {
if (token != null) {
//print('FCM token $token');
Messaging.token = token;
}
},
// TODO add this icon to android/app/src/main/res/drawable/ic_launcher.png
icon: 'ic_launcher',
);
} catch (e) {
print(e);
}
}
}