awesome_notifications_fcm 0.0.1
awesome_notifications_fcm: ^0.0.1 copied to clipboard

Complement of Awesome Notifications to allow firebase with all awesome resources in Flutter.

example/lib/main.dart

import 'package:awesome_notifications_fcm_example/routes.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';

import 'package:awesome_notifications/awesome_notifications.dart';
import 'package:awesome_notifications_fcm/awesome_notifications_fcm.dart';
import 'package:fluttertoast/fluttertoast.dart';

main() async {
  await initializeAllNotificationsPlugins();
  runApp(MyApp());
}

Future<void> mySilentDataHandle(SilentData silentData) async {
  Fluttertoast.showToast(
      msg: 'Silent data received',
      backgroundColor: Colors.blueAccent,
      textColor: Colors.white,
      fontSize: 16
  );
  debugPrint('"SilentData": ${silentData.toString()}');
}

Future<void> initializeAllNotificationsPlugins() async {
  await AwesomeNotifications().initialize(
      null,
      [
        NotificationChannel(
            channelKey: 'alerts',
            channelName: 'Alerts',
            channelDescription: 'Notification alerts',
            importance: NotificationImportance.High,
            defaultColor: Color(0xFF9D50DD),
            ledColor: Colors.white,
            groupKey: 'alerts',
            channelShowBadge: true
        )
      ],
      debug: true
  );

  await Firebase.initializeApp();
  await AwesomeNotificationsFcm().initialize(
      onSilentDataHandle: mySilentDataHandle,
      debug: true
  );
}

class MyApp extends StatefulWidget {

  static final Color mainColor = Color(0xFF9D50DD);

  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {

  @override
  void initState() {
    super.initState();
  }

  @override
  void dispose() {
    AwesomeNotifications().dispose();
    AwesomeNotificationsFcm().dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      color: MyApp.mainColor,
      theme: ThemeData(
        primaryColor: MyApp.mainColor,
        appBarTheme: AppBarTheme(
          brightness: Brightness.light,
          backgroundColor: Colors.white,
          iconTheme: IconThemeData(
            color: MyApp.mainColor
          ),
          textTheme: TextTheme(
            headline6: TextStyle(
              color: MyApp.mainColor,
              fontWeight: FontWeight.bold
            )
          ),
        )
      ),
      initialRoute: PAGE_HOME,
      routes: materialRoutes
    );
  }
}
1
likes
100
pub points
49%
popularity

Publisher

carda.me

Complement of Awesome Notifications to allow firebase with all awesome resources in Flutter.

Documentation

API reference

License

Apache-2.0 (LICENSE)

Dependencies

awesome_notifications, flutter

More

Packages that depend on awesome_notifications_fcm