在我的flutter应用程序中实现Firebase分析的过程中,我无法触发适当的事件,或者我不知道该如何工作。让我们采用以下代码:
firebaseAnalytics.setCurrentScreen(screenName: "Dashboard");
当我触发此事件时,在Firebase Analytics调试视图中,我看到以下内容:
当我触发屏幕时,同样会通过以下方式自动更改:
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,
});
}
答案 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的参数中。?