События Firebase Analytics - текущий экран всегда отображается на экране - PullRequest
2 голосов
/ 09 октября 2019

На своем пути внедрения аналитики Firebase в мое приложение для флаттера я не могу получить правильные события для запуска, или я не понимаю, как это должно работать. Давайте возьмем следующий код:

firebaseAnalytics.setCurrentScreen(screenName: "Dashboard");

Когда я запускаю это событие, в представлении отладки Firebase Analytics я вижу это:

Firebase Analytics DebugView

То же самое, когда я запускаю, экран автоматически изменяется с помощью:

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,
    });
  }

1 Ответ

2 голосов
/ 14 октября 2019

Отвечать на мой собственный вопрос и, таким образом, тратить награду трудно, но так оно и есть. Вот мои выводы:

Предоставленное пользователем screenName в API отправляется на панель мониторинга Firebase Analytics, но вам нужно перейти к событию "screen_view", чтобы увидеть фактически введенные вами имена экранов. К сожалению, введенное пользователем имя не будет отображаться в debugView консоли Firebase Analytics, что в первую очередь поставило меня на неверный след, думая, что его вообще не хватает, что неправильно.

tl; dr: screenName - это просто параметр события screen_view, который находится прямо внутри события screen_view, которое вы можете развернуть.

...