dart – 如何在flutter中实现推送通知
发布时间:2020-12-14 14:57:57 所属栏目:百科 来源:网络整理
导读:嗨,我正在尝试实施推送通知,如何显示为通知可以任何一个帮助,我能听,因为我收到通知但我无法看到消息,它出现作为警报,但我想作为通知可以任何一个帮助,在 Android或iOS中我们应该在清单文件和应用程序委托文件中如何在颤动 我的代码看起来像这样 class PushM
嗨,我正在尝试实施推送通知,如何显示为通知可以任何一个帮助,我能听,因为我收到通知但我无法看到消息,它出现作为警报,但我想作为通知可以任何一个帮助,在
Android或iOS中我们应该在清单文件和应用程序委托文件中如何在颤动
我的代码看起来像这样 class PushMessagingExample extends StatefulWidget { @override _PushMessagingExampleState createState() => new _PushMessagingExampleState(); } class _PushMessagingExampleState extends State<PushMessagingExample> { String _homeScreenText = "Waiting for token..."; bool _topicButtonsDisabled = false; final FirebaseMessaging _firebaseMessaging = new FirebaseMessaging(); final TextEditingController _topicController = new TextEditingController(text: 'topic'); Future<Null> _showItemDialog(Map<String,dynamic> message) async { final Item item = _itemForMessage(message); showDialog<Null>( context: context,child: new AlertDialog( content: new Text("Item ${message} has been updated"),actions: <Widget>[ new FlatButton( child: const Text('CLOSE'),onPressed: () { Navigator.pop(context,false); }),new FlatButton( child: const Text('SHOW'),true); }),],)).then((bool shouldNavigate) { if (shouldNavigate == true) { _navigateToItemDetail(message); } }); } Future<Null> _navigateToItemDetail(Map<String,dynamic> message) async { final Item item = _itemForMessage(message); // Clear away dialogs Navigator.popUntil(context,(Route<dynamic> route) => route is PageRoute); if (!item.route.isCurrent) { Navigator.push(context,item.route); } } @override void initState() { super.initState(); _firebaseMessaging.configure( onMessage: (Map<String,dynamic> message) { print("onMessage: $message"); print(message); _showItemDialog(message); },onLaunch: (Map<String,dynamic> message) { print("onLaunch: $message"); print(message); _navigateToItemDetail(message); },onResume: (Map<String,dynamic> message) { print("onResume: $message"); print(message); _navigateToItemDetail(message); },); _firebaseMessaging.requestNotificationPermissions( const IosNotificationSettings(sound: true,badge: true,alert: true)); _firebaseMessaging.onIosSettingsRegistered .listen((IosNotificationSettings settings) { print("Settings registered: $settings"); }); _firebaseMessaging.getToken().then((String token) { assert(token != null); setState(() { _homeScreenText = "Push Messaging token: $token"; }); print(_homeScreenText); }); } @override Widget build(BuildContext context) { return new Scaffold( body: new Material( child: new Column( children: <Widget>[ new Center( child: new Text(_homeScreenText),),)); } } 解决方法
如果您尝试将消息放在锁定屏幕上,请确保您发送的是“通知”消息类型,而不是将传递给正在运行的应用程序的“数据”消息.您可以在Firebase开发人员指南中了解有关
different types of Firebase messages的更多信息.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |