firebase - Flutter - 在 Firebase 消息传递中获取数组
问题描述
在 Flutter 中,我尝试像这样在新的firebase_messaging 10.0.0中获取数组
import 'dart:io';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:pushtest/functions/alert_messages.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:pushtest/constant/constant.dart' as Constants;
class PushNotifications {
FirebaseMessaging firebaseMessaging;
initNotifications() {
firebaseMessaging.requestPermission();
firebaseMessaging.getToken().then((token) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('firebaseToken', token);
});
}
configuration(scaffold, location) {
FirebaseMessaging.onMessage.listen((RemoteMessage message) {
var noti;
message as Map;
if (Platform.isIOS) {
noti = message['message'];
} else {
noti = message['data']['message'];
}
if (location == 'navigation') {
Messages.alert(scaffold.currentContext, noti);
} else {
Constants.message = noti;
}
return null;
});
FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {
var noti;
if (Platform.isIOS) {
noti = message['message'];
} else {
noti = message['data']['message'];
}
Constants.message = noti;
return null;
});
}
}
问题:当我尝试做
noti = message['message'];
返回
未为“RemoteMessage”类型定义运算符“[]”。尝试定义运算符'[]'。
那么使用监听函数获取数组元素的正确方法是什么?
解决方案
如果您要发送数据消息,请执行以下操作:
noti = message.data['message'];
推荐阅读
- selenium - SVG 元素中的 Xpath
- c# - 由于被网络公司阻止,如何在不使用 SMTP 的情况下发送自动邮件
- python - 根据条件从母数据框创建子熊猫数据框
- python - 数组创建太慢
- flutter - 如何在颤动中制作一个包含另一个列表的列表
- ios - 如何将 MTLTextures 组合到 currentDrawable 中
- javascript - 有没有办法在现代 JS 代码中消除 IE11 中的语法错误?
- html - 为什么 chechbox 不改变纯 CSS 上另一个元素的样式?
- javascript - 没有 CAPTCHA 的机器人验证(表单填写机器人):isTrusted 与 HTML 抓取
- powerbi - 如何使 DAX USERELATIONSHIP 与祖父母关系一起使用