Flutter中的Firebase(FCM)注册令牌

时间:2019-02-22 06:22:24

标签: java android firebase flutter firebase-cloud-messaging

我正在尝试从 Java Rest Api(使用 Firebase Admin sdk )向我的 Flutter应用程序发送通知>,似乎需要设备令牌才能发送通知,而我找不到如何获取该令牌。我是Flutter和android的新手,可能缺少任何关键步骤。如果可以,请你帮助我。谢谢。

5 个答案:

答案 0 :(得分:2)

我们需要将此包添加到pubspec.yaml文件中

firebase_messaging: ^4.0.0+1

执行包获取

现在将其导入您的代码中

import 'package:firebase_messaging/firebase_messaging.dart';

创建FirebaseMessaging实例

  FirebaseMessaging _firebaseMessaging = FirebaseMessaging();

现在,我们只需在下面的链接中的答案中添加我创建的功能

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

答案 1 :(得分:1)

您可以使用Firebase消息传递插件发送通知。通过此代码,您可以在控制台中打印令牌。

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
  });
}

答案 2 :(得分:1)

将此添加到您程序包的pubspec.yaml文件中:

import mockFn from 'mockedModule'
jest.mock('mockedModule', ()=> jest.fn())

您可以从命令行安装软件包:

使用Flutter:

dependencies:
  firebase_messaging: ^4.0.0+1

现在在Dart代码中,您可以使用:

$ flutter packages get

实施:

import 'package:firebase_messaging/firebase_messaging.dart';

有关详细信息,请逐步访问this链接

希望这对您有帮助

答案 3 :(得分:0)

不过,我不清楚您的问题。对于FCM,您必须扩展FirebaseMessagingService。

示例:

class PNPFirebaseMessagingService : FirebaseMessagingService() {
  override fun onNewToken(token: String?) {
     // you can collect token from here
  }
}

答案 4 :(得分:0)

使用firebase_messaging: ^10.0.0,您可以使用

直接获取令牌
String? token = await FirebaseMessaging.instance.getToken();

FirebaseMessaging.instance.getToken().then((value) {
  String? token = value;
});