Firebase Analytics事件-currentScreen始终为screen_view

时间:2019-10-09 19:30:18

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

在我的flutter应用程序中实现Firebase分析的过程中,我无法触发适当的事件,或者我不知道该如何工作。让我们采用以下代码:

firebaseAnalytics.setCurrentScreen(screenName: "Dashboard");

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

Firebase Analytics DebugView

当我触发屏幕时,同样会通过以下方式自动更改:

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

所以我的问题是:为什么Google Analytics(分析)会打印出“ screen_view”而不是“仪表板”或我在命名路线中使用的其他任何名称?

屏幕名称实际上已提交给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,
    });
  }

2 个答案:

答案 0 :(得分:2)

回答我自己的问题,从而浪费赏金很困难,但这就是事实。这是我的发现:

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

tl; dr :screenName只是screen_view事件的一个参数,它位于screen_view事件的右侧,您可以对其进行深入研究。

答案 1 :(得分:-1)

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