将 Cubit 用于 WebView 和 Firebase 云消息传递

问题描述

我对 Flutter 还很陌生,尤其是对 BLoc 模式。如何从我的 FCM 类中引用我的 Cubit。

用例(技术层面): 当我的应用收到来自 FCM 的推送通知时,会有额外的数据(一个 http 链接),WebView 的控制器将打开消息中提供的链接

我的第一个想法是使用 Bloc 依赖项和 use 中的“普通” Bloc 实现,但仅仅将一个简单的 String 传递给特定的小部件似乎有点矫枉过正。

因此,我阅读了一些关于更轻量级版本 Cubit 的内容,它似乎更合适,因为它不处理任何 UI 事件,而是将特定数据传输给消费者。

所以基本上我的目标是引用

_firebaseMessaging.configure(
        onMessage: (Map<String,dynamic> message) async {
          print('on message $message');
          final path = message['data'][kFCMKeyUrl];
          //HOW TO I REFERENCE THE CUBIT HERE AND PASS THE PATH??
        },onResume: (Map<String,dynamic> message) async {
          print('on resume $message');
          final path = message['data'][kFCMKeyUrl];
          //HOW TO I REFERENCE THE CUBIT HERE AND PASS THE PATH??
        }

我的肘子是

class UrlCubit extends Cubit<String> {

  UrlCubit() : super(constats.kBaseUrl);

  void setUrl(String urlString) => emit(urlString);
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)