Итак, как и большинство, я новичок в Flutter, Bloc и Firebase Analytics.Есть несколько способов синхронизировать блоки, заставляя одного слушать другого, но это совсем не соответствует моей ситуации, так как я хотел бы отслеживать некоторые «переменные состояния, связанные с Google Analytics».
AnalyticsBloc extends Bloc<AnalyticsEvent, AnalyticsState> {
final FirebaseAnalytics analytics;
final FirebaseAnalyticsObserver observer;
@override
FirebaseAnalyticsState get initialState => FirebaseAnalyticsState.initial();
void setScreen(String currentScreen) {
// sends and stores the currentScreen in Bloc State
dispatch(SetScreenEvent(currentScreen));
}
void sendEvent(String eventName) {
// uses the stored currentScreen in Bloc State
dispatch(SendEventEvent(eventName));
}
...
}
class AppBloc extends Bloc<AppEvent, AppState> {
@override
AppState get initialState => AppState.initial();
void someApplicationEvent() {
// Problem: is there any way to trigger sendEvent from this Bloc?
sendEvent('someAppEventTriggered');
dispatch(ResetAppEvent());
}
}
Проблема: есть ли способ вызвать AnalyticsBloc.sendEvent
из AppBloc
?
Или я должен просто оформить его по-другому?