开发者社区> 问答> 正文

从Firebase接收消息

我正在制作一个使用WebView小部件作为主要小部件的简单应用程序。我希望能够从Firebase控制台向所有用户发送通知。该应用程序没有身份验证。

我的MessageHandler(在main.dart中定义)


class MessageHandler extends StatefulWidget {
    @override
    _MessageHandlerState createState() => _MessageHandlerState();
    }
class _MessageHandlerState extends State<MessageHandler>{
    final FirebaseMessaging _fcm = FirebaseMessaging();
    @override
void initState(){
    super.initState();
    _fcm.configure(
  onMessage: (Map<String, dynamic> message) async {
    print("here");
    print("onMessage: $message");
    final snackbar = SnackBar(
      content: Text(message['notification']['title']),
    );
  },
 );

主要

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
   // This widget is the root of your application.
   @override
   Widget build(BuildContext context) {
     return MaterialApp(
       title: "Simple App",
  home: WebViewer()
);
}
}

WebViewer窗口小部件有效,因此我没有将其添加到问题中。在Firebase控制台上,该消息似乎已发送

亚马逊控制台

但该警报不会出现在Android Emulator上,也不会出现在snackbar。

网页浏览

class WebViewer extends StatelessWidget {
   final Completer<WebViewController> _controller = Completer<WebViewController>();
  //FirebaseMessaging _firebaseMessaging = new FirebaseMessaging();

  @override
  Widget build(BuildContext context) {
     return Scaffold(
        appBar: AppBar(
          title: Center(child: Text("Event Viewer")),
    ),
    body: WebView(
      initialUrl: "https://google.com",
      javascriptMode: JavascriptMode.unrestricted,
      onWebViewCreated: (WebViewController webViewController){
        _controller.complete(webViewController);
      },
    )
);

展开
收起
Puppet 2020-01-17 10:46:55 662 0
1 条回答
写回答
取消 提交回答
  • 技术架构师 阿里云开发者社区技术专家博主 CSDN签约专栏技术博主 掘金签约技术博主 云安全联盟专家 众多开源代码库Commiter

    别似乎啊,把日志详细的检查下

    2020-01-17 22:46:56
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载