Firebase (FCM) registration token in Flutter

前端 未结 4 1442
暗喜
暗喜 2021-02-12 14:26

I am trying to send notification from Java Rest Api (using Firebase Admin sdk) to my Flutter application and it seems it requ

相关标签:
4条回答
  • 2021-02-12 15:07

    As you can the use the firebase Messaging Plugin to send the Notification. Through this code you can print the Token in Console.

    final FirebaseMessaging _firebaseMessaging = FirebaseMessaging();
    _firebaseMessaging.configure(
        onLaunch: (Map<String, dynamic> message) {
          print('onLaunch called');
        },
        onResume: (Map<String, dynamic> message) {
          print('onResume called');
        },
        onMessage: (Map<String, dynamic> message) {
          print('onMessage called');
        },
      );
      _firebaseMessaging.subscribeToTopic('all');
      _firebaseMessaging.requestNotificationPermissions(IosNotificationSettings(
        sound: true,
        badge: true,
        alert: true,
      ));
      _firebaseMessaging.onIosSettingsRegistered
          .listen((IosNotificationSettings settings) {
        print('Hello');
      });
      _firebaseMessaging.getToken().then((token) {
        print(token); // Print the Token in Console
      });
    }
    
    0 讨论(0)
  • 2021-02-12 15:10

    We need to add this package in pubspec.yaml file

    firebase_messaging: ^4.0.0+1
    

    Perform packages get

    Now import this in your code

    import 'package:firebase_messaging/firebase_messaging.dart';
    

    Create instance of FirebaseMessaging

      FirebaseMessaging _firebaseMessaging = FirebaseMessaging();
    

    Now we just to add the function which I have created in the answer in the link below

    https://stackoverflow.com/a/60523014/11887774

    0 讨论(0)
  • 2021-02-12 15:18

    Add this to your package's pubspec.yaml file:

    dependencies:
      firebase_messaging: ^6.0.16
    

    You can install packages from the command line:

    with Flutter:

    $ flutter packages get
    

    Now in your Dart code, you can use:

    import 'package:firebase_messaging/firebase_messaging.dart';
    

    Implementation:

    FirebaseMessaging _firebaseMessaging = FirebaseMessaging();
    
    
    
    @override
    void initState() {
      super.initState();
      firebaseCloudMessaging_Listeners();
    }
    
    void firebaseCloudMessaging_Listeners() {
      if (Platform.isIOS) iOS_Permission();
    
      _firebaseMessaging.getToken().then((token){
        print(token);
      });
    
      _firebaseMessaging.configure(
        onMessage: (Map<String, dynamic> message) async {
          print('on message $message');
        },
        onResume: (Map<String, dynamic> message) async {
          print('on resume $message');
        },
        onLaunch: (Map<String, dynamic> message) async {
          print('on launch $message');
        },
      );
    }
    
    void iOS_Permission() {
      _firebaseMessaging.requestNotificationPermissions(
          IosNotificationSettings(sound: true, badge: true, alert: true)
      );
      _firebaseMessaging.onIosSettingsRegistered
          .listen((IosNotificationSettings settings)
      {
        print("Settings registered: $settings");
      });
    }
    

    For more details step by information please refer this link

    Hope this helps you

    0 讨论(0)
  • 2021-02-12 15:19

    I am not clear your question though. For FCM you have to extend FirebaseMessagingService.

    Example:

    class PNPFirebaseMessagingService : FirebaseMessagingService() {
      override fun onNewToken(token: String?) {
         // you can collect token from here
      }
    }
    
    0 讨论(0)
提交回复
热议问题