fcm_config 3.0.5
fcm_config: ^3.0.5 copied to clipboard

This flutter package is made to merge between firebase_messaging package and flutter_local_notifications

fcm_config #

What can this packge do #

  • Show fcm notification while app is in forground
  • Easly recieve incoming notification where you are
  • Easly recieve clicked where you are
  • Notification is an object

Setup #

Android #

Ios #

MacOs #

Web #

<br/> <br/>

Dart/Flutter #

Initialize

  void main() async {
      await FCMConfig.instance.init();
      runApp(MaterialApp(
        home: MyHomePage(),
      ));
  }

Background messages(Web not supported)

  • To handle message in background you can do that
    Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
     print("Handling a background message: ${message.messageId}");
    }
      
    void main() async {
      FCMConfig.instance.init(onBackgroundMessage:_firebaseMessagingBackgroundHandler);
      runApp(MaterialApp(
        home: MyHomePage(),
      ));
    }

Get token

  FCMConfig.messaging.getToken().then((token) {
        print(token);
   });

To get notification that launched the application

  await  FCMConfig.instance.getInitialMessage();// may be null
 

Listen to incomming notification :

  • First option

    class MyScreen extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return FCMNotificationListener(
          onNotification:
              (RemoteMessage notification, void Function() setState) {},
          child: SizedBox(),
        );
      }
    }
    
  • Second option

     class MyScreen extends StatefulWidget {
       @override
       _MyScreenState createState() => _MyScreenState();
     }
    
     class _MyScreenState extends State<MyScreen>
         with FCMNotificationMixin {
       @override
       Widget build(BuildContext context) {
         return SizedBox();
       }
    
       @override
       void onNotify(RemoteMessage notification) {
         // do some thing
       }
     }
    
    

Listen to notification tap:

  • First option

    class MyScreen extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return FCMNotificationClickListener(
          onNotificationClick:
              (RemoteMessage notification, void Function() setState) {},
          child: SizedBox(),
        );
      }
    }
    
  • Second option

     class MyScreen extends StatefulWidget {
       @override
       _MyScreenState createState() => _MyScreenState();
     }
    
     class _MyScreenState extends State<MyScreen>
         with FCMNotificationClickMixin {
       @override
       Widget build(BuildContext context) {
         return SizedBox();
       }
    
       @override
       void onClick(RemoteMessage notification) {
         // do some thing
       }
     }
    
    

Localize your notification #

see https://pub.dev/packages/fcm_localization

50
likes
130
pub points
85%
popularity

Publisher

Unknown

This flutter package is made to merge between firebase_messaging package and flutter_local_notifications

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

Apache 2.0 (LICENSE)

Dependencies

firebase_core, firebase_messaging, flutter, flutter_local_notifications

More

Packages that depend on fcm_config