Я делаю простое приложение, которое использует виджет 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']),
);
},
);
Main
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, а также snackbar
.
WebView
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);
},
)
);