栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Flutter Web:Flutter Web应用程序是否支持Firebase Analytics?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Flutter Web:Flutter Web应用程序是否支持Firebase Analytics?

从firebase
7.0.0(https://pub.dev/packages/firebase/versions/7.0.0)开始,您可以在Flutter
Web应用程序中使用分析。

步骤如下:

  1. 在您的主机页面中初始化Firebase
    <body>      <!-- Initialize Firebase -->      <script src="/__/firebase/7.6.1/firebase-app.js"></script>      <script src="/__/firebase/7.6.1/firebase-analytics.js"></script>      <script src="/__/firebase/init.js"></script>      <!-- Initialize app -->      <script src="main.dart.js" type="application/javascript"></script>    </body>
  1. 导入firebase包

    import ‘package:firebase/firebase.dart’;

  2. 此时,您可以通过analytics()访问Analytics对象。如果您想自动发送页面浏览量,可以引入一个路线观察者

    class AnalyticsRouteObserver extends RouteObserver<PageRoute<dynamic>> {      final Analytics analytics;      AnalyticsRouteObserver({@required this.analytics});      void _sendPageView(PageRoute<dynamic> route) {        var pageName = route.settings.name;        if (null != analytics) {          analytics.setCurrentScreen(pageName);        } else {          print('pageName: $pageName');        }      }      @override      void didPush(Route<dynamic> route, Route<dynamic> previousRoute) {        super.didPush(route, previousRoute);        if (route is PageRoute) {          _sendPageView(route);        }      }      @override      void didReplace({Route<dynamic> newRoute, Route<dynamic> oldRoute}) {        super.didReplace(newRoute: newRoute, oldRoute: oldRoute);        if (newRoute is PageRoute) {          _sendPageView(newRoute);        }      }      @override      void didPop(Route<dynamic> route, Route<dynamic> previousRoute) {        super.didPop(route, previousRoute);        if (previousRoute is PageRoute && route is PageRoute) {          _sendPageView(previousRoute);        }      }    }
  1. 最后在您的应用中注册路线观察者
    import 'dart:js' as js;    ...    Widget build(BuildContext context) {        return MaterialApp(          navigatorObservers: [AnalyticsRouteObserver(analytics: js.context.hasProperty('firebase')?analytics():null)],    ...    }


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/406921.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号