等到应用程序在启动后启动,并带有火力消息传递和颤振



我正在构建一个带有颤振和Firebase云消息传递的应用程序。在 onLounch 方法中,我有一些触发重定向和数据刷新的 beahviuorSubject。然而,它们不起作用,因为它们在有人听之前就开火了。我不想使用 ReplaySubject,因为它很棘手,所以我想知道是否有一些标准方法可以在应用程序准备就绪之前将它们镀金?

附言我知道它们确实有效,因为如果我做一些await Future.delay(Duration(seconds: 10))一切都很好,但这不是要走的路。

好的,我已经找到了如何等待某个屏幕。

基本上,一旦您调用FirebaseMessaging.configure()方法,就会触发onLaunch方法。因此,如果您希望应用程序从加载屏幕开始,然后在加载一些数据后转到主屏幕,您只需在主屏幕内调用FirebaseMessaging.configure()即可在此时触发onLaunch

所以我通过将FirebaseMessageing.configure((添加到启动模型中来解决这个问题 在后台处理程序中,我有此代码 我的代码是:

handle(dynamic data, bool onLaunch) {
if (onLaunch) {
onHomeReady.take(1).listen((event) {
_innerHandler(data, onLaunch);
});
} else {
_innerHandler(data, onLaunch);
}
}

和 onHomeReady.add(..( 在 home init 方法中触发。这更灵活,关注点更分离,但在大多数情况下,在主页中调用 FirebaseMessaging.configure(( 可以完成工作。

相关内容

  • 没有找到相关文章

最新更新