gpt4 book ai didi

flutter - 使用 Firebase Analytics 在 Flutter 中跟踪屏幕浏览量

转载 作者:IT王子 更新时间:2023-10-29 06:33:25 27 4
gpt4 key购买 nike

使用分析包在 Flutter 中手动记录屏幕 View 的最佳位置是什么(在我的例子中,我使用的是 Firebase Analytics,例如 track screens)?

纵观 Flutter 生命周期,尚不清楚跟踪屏幕 View 的意义所在。

对于 StatelessWidget,我认为 build() 可能有意义,因为我猜每次屏幕 View 只调用一次。

但是 StatefulWidget 呢?在这种情况下,build() 将无用,因为它可能会被调用多次。其他候选者是 initState()createState() 或构造函数,它们似乎都只被调用一次,尽管我猜它们可能在每个屏幕上都被调用多次重新构建层次结构中的小部件。

最佳答案

答案是:视情况而定。对于 StatelessWidget,在 build() 中包含 Analytics 事件可能是合适的,但前提是父窗口小部件不经常重建。对于 StatefulWidget 这同样适用,但您还必须考虑由于状态更改而导致的重建(这很可能经常发生)。

实际上,最安全的方法不是在小部件生命周期的任何部分调用 Analytics 事件,而是调用可能触发屏幕的 UI 事件,例如,打开编辑屏幕的编辑按钮。但是,该方法的问题在于屏幕可能会从应用内的多个位置打开(这意味着您必须在所有这些位置重复调用 Analytics)。

这意味着最好的选择可能是将 Analytics 绑定(bind)到 PageRoute 转换,以便在执行页面路由时一致地调用它。这在 docs 中得到了证明。 .这将错过标签栏和其他类型的 UI 导航中的跟踪屏幕,但正如文档还所说,处理此问题的一种方法是实现 RouteAware 并将其订阅到 FirebaseAnalyticsObserver (example tabs implementation)。

关于flutter - 使用 Firebase Analytics 在 Flutter 中跟踪屏幕浏览量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55572983/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com