代码之家  ›  专栏  ›  技术社区  ›  El Hombre Sin Nombre

Flatter-在Firebase消息中获取阵列

  •  0
  • El Hombre Sin Nombre  · 技术社区  · 5 年前

    在《颤振》中,我尝试在新的f中获得阵列 irebase_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”类型定义运算符“[]”。尝试 定义运算符“[]”。

    那么,使用listen函数获取数组元素的正确方法是什么呢?

    0 回复  |  直到 5 年前
        1
  •  1
  •   Peter Haddad    5 年前

    如果你正在发送 data 然后信息会:

    noti = message.data['message'];
    
    推荐文章