我尝试使用抖动firebase messaging设置对移动应用的推送通知。
我正在做以下事情:
但是,当我尝试从Firebase控制台发送消息时,我的手机未显示通知。
通过调试,我可以看到我的手机收到了推送通知:
I/flutter (17004): on message {notification: {body: message 18, title: test 18}, data: {}}
I/flutter (17004): on message {notification: {body: message 19, title: test 19}, data: {}}
I/flutter (17004): on message {notification: {body: message 20, title: test 20}, data: {}}
但是它在我的手机上什么也没显示。
我在主屏幕上的颤动代码:
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
FirebaseMessaging _firebaseMessaging = new FirebaseMessaging();
@override
void initState() {
// TODO: implement initState
super.initState();
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) {
print('on message $message');
//_showItemDialog(message);
},
onResume: (Map<String, dynamic> message) {
print('on resume $message');
//_showItemDialog(message);
},
onLaunch: (Map<String, dynamic> message) {
print('on launch $message');
//_showItemDialog(message);
},
);
_firebaseMessaging.requestNotificationPermissions(
const IosNotificationSettings(sound: true, badge: true, alert: true));
_firebaseMessaging.getToken().then((token){
print('>>>token='+token);
});
}
...
}
我试图通过邮递员使用FCM API发送消息,但结果相同(在调试控制台中获取消息,但在移动电话中未获取消息)
有什么办法解决吗?
答案 0 :(得分:1)
补充评论中提到的内容,Firebase Cloud Messaging Android SDK 不会在通知托盘 if the app is running on the foreground 上显示消息。尽管 FCM SDK 仍然可以通过 onMessage 事件接收负载,如日志中所示。
如果您仍希望在应用可见时显示通知,您可以处理 onMessage 事件并使用 flutter_local_notificaions
插件显示有效负载。您可以查看此 documentation 以了解如何为较新版本的 firebase_messaging
处理此用例。