【问题标题】:Firebase Analytics Events - currentScreen is always screen_viewFirebase 分析事件 - currentScreen 始终为 screen_view
【发布时间】:2019-10-09 19:30:18
【问题描述】:

在我的 Flutter 应用程序中实施 Firebase 分析的过程中,我无法触发正确的事件,或者我不知道这应该如何工作。让我们看看下面的代码:

firebaseAnalytics.setCurrentScreen(screenName: "Dashboard");

当我触发此事件时,在 Firebase Analytics 调试视图中我看到:

当我通过以下方式触发屏幕自动变化时也是如此:

navigatorObservers: [
        FirebaseAnalyticsObserver(analytics: appState.firebaseAnalytics),
      ],

所以我的问题是:为什么 Analytics 会打印出“screen_view”而不是“Dashboard”或我命名路线中的任何其他名称??

屏幕名称实际上已提交给 API 的内部工作,因为我在那个地方调试了 firebase_analytics.dart

Future<void> setCurrentScreen(
      {@required String screenName,
      String screenClassOverride = 'Flutter'}) async {
    if (screenName == null) {
      throw ArgumentError.notNull('screenName');
    }

    await _channel.invokeMethod<void>('setCurrentScreen', <String, String>{
      'screenName': screenName,
      'screenClassOverride': screenClassOverride,
    });
  }

【问题讨论】:

    标签: firebase flutter google-analytics firebase-analytics google-analytics-firebase


    【解决方案1】:

    回答我自己的问题并因此浪费赏金很难,但事实就是如此。以下是我的发现:

    用户在 API 中提供的 screenName 被提交到 Firebase Analytics 仪表板,但您需要深入了解事件“screen_view”以查看您提供的实际点击的屏幕名称。不幸的是,用户提供的 Name 不会显示在 Firebase Analytics 控制台的 debugView 中,这首先让我走错了路,认为它完全丢失了,这是错误的。

    tl;dr:screenName 只是 screen_view 事件的一个参数,它位于 screen_view 事件中,您可以深入了解它。

    【讨论】:

      【解决方案2】:

      为什么使用 navigatorObservers 在 DebugView 中不显示路由名称?为了寻找这个问题的解释,我来到这里并在 Marc's Answer 中找到了答案。它实际上正在被收集并定位为一个名为 firebase_screen 的参数。?

      【讨论】:

      • 请不要添加 "thanks" 作为答案。它们实际上并没有提供问题的答案,并且可能被未来的访问者视为噪音。相反,upvote answers 你喜欢。这样,问题的未来访问者将看到对该答案的更高投票数,并且回答者也将获得声誉积分奖励。见Why is voting important
      猜你喜欢
      • 1970-01-01
      • 2018-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-27
      • 2018-09-07
      • 1970-01-01
      • 2020-11-25
      相关资源
      最近更新 更多