繁体   English   中英

使用 StoreConnector 显示新屏幕时 Flutter 中的 Firebase 分析

[英]Firebase Analytics in Flutter when using StoreConnector to display new screen

我正在尝试将 Flutter 中的 Firebase Analytics 添加到我的小部件中,但我正在使用 StoreConnector 显示 2 个不同的屏幕 Alpha 和 Beta。 如何进行分析以跟踪屏幕变化?

class MyWidgetPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return StoreConnector<AppState, MyViewModel>(
      converter: (store) => myViewModel.create(store),
      builder: (context, viewModel) {
        return _body(context, viewModel);
      },
    );
  }

  _body(BuildContext context, MyViewModel viewModel) {
    if (viewModel.withLoading) return _loading();
    if (viewModel.withAlphaContent) return _contentAlpha(context, viewModel);
    if (viewModel.withBetaContent) return _contentBeta(context, viewModel);
    if (viewModel.withRetry) return _retry(context);
  }

...

}

一种解决方案是使用onDidChange回调,如下所示:

  @override
  Widget build(BuildContext context) {
    FirebaseAnalytics analytics = FirebaseAnalytics();
    return StoreConnector<AppState, MyViewModel>(
      converter: (store) => myViewModel.create(store),
      onDidChange: (viewModel) {
        if (viewModel.withAlphaContent) {
         analytics.setCurrentScreen(screenName: 'alpha content');
        } 
        if (viewModel.withBetaContent) {
         analytics.setCurrentScreen(screenName: 'beta content');
        }
      },
      builder: (context, viewModel) {
        return _body(context, viewModel);
      },
    );
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM