更新后 Flutter 上的 Firebase 消息传递
Posted
技术标签:
【中文标题】更新后 Flutter 上的 Firebase 消息传递【英文标题】:Firebase Messaging on Flutter after update 【发布时间】:2021-10-20 22:12:21 【问题描述】:几年来,我一直在我的应用中使用 Firebase 消息传递,但在我决定更新我的应用并更新 Flutter 和插件版本后,我现有的代码停止工作。我检查了官方文档,但找不到为什么此代码不起作用的答案。我使用的代码如下。新版本发生了什么变化导致我的代码停止工作?
@override
void initState()
super.initState();
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async
print("onMessage: $message");
,
onLaunch: (Map<String, dynamic> message) async
print("onLaunch: $message");
,
onResume: (Map<String, dynamic> message) async
print("onResume: $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);
);
【问题讨论】:
【参考方案1】:我认为您使用的是旧方法。这是新方法:
我的 firebase_messaging 包版本是 10.0.1。
FirebaseMessaging.onMessage.listen((RemoteMessage message)
RemoteNotification notification = message.notification;
showNotification(notification);
);
FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message)
print("onMessageOpenedApp: $message");
);
FirebaseMessaging.onBackgroundMessage((RemoteMessage message)
print("onBackgroundMessage: $message");
);
【讨论】:
以上是关于更新后 Flutter 上的 Firebase 消息传递的主要内容,如果未能解决你的问题,请参考以下文章
当我更新 ListView 上的列表时,Flutter 页面不会重新加载
firebase 项目所有者更改后未反映在 Flutter Web 部署上的更改
如何更新在 Firebase 托管中部署的 Flutter Web 版本