Firebase Analytics 事件 - currentScreen 始终为 screen_view
Firebase Analytics Events - currentScreen is always screen_view
在我的 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,
});
}
回答我自己的问题并因此浪费赏金很难,但事实就是如此。以下是我的发现:
用户在 API 中提供的屏幕名称已提交到 Firebase Analytics 仪表板,但您需要深入了解事件 "screen_view" 以查看您提供的实际点击屏幕名称。不幸的是,用户提供的名称不会显示在 Firebase Analytics 控制台的 debugView 中,这让我一开始就走错了路,认为它完全丢失了,这是错误的。
tl;dr: screenName 只是 screen_view 事件的一个参数,它就在 screen_view 事件中,您可以深入研究。
为什么使用 navigatorObservers 在 DebugView 中不显示路由名称?为了寻找这个问题的解释,我来到这里并在马克的回答中找到了答案。它实际上正在被收集并作为一个名为 firebase_screen.
的参数定位
在我的 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,
});
}
回答我自己的问题并因此浪费赏金很难,但事实就是如此。以下是我的发现:
用户在 API 中提供的屏幕名称已提交到 Firebase Analytics 仪表板,但您需要深入了解事件 "screen_view" 以查看您提供的实际点击屏幕名称。不幸的是,用户提供的名称不会显示在 Firebase Analytics 控制台的 debugView 中,这让我一开始就走错了路,认为它完全丢失了,这是错误的。
tl;dr: screenName 只是 screen_view 事件的一个参数,它就在 screen_view 事件中,您可以深入研究。
为什么使用 navigatorObservers 在 DebugView 中不显示路由名称?为了寻找这个问题的解释,我来到这里并在马克的回答中找到了答案。它实际上正在被收集并作为一个名为 firebase_screen.
的参数定位