Как перейти с Google-Analytics на Firebase-Analytics?

85

Задний план

В последние месяцы Google опубликовал новую альтернативу Analytics, которая называется Firebase Analytics .

Проблема

Поскольку в приложении уже есть Google-Analytics, я обнаружил некоторые препятствия, с которыми не могу понять, как лучше всего их решить.

Вопросы

  1. Раньше функции "newTracker" требовался идентификатор свойства. Теперь я этого не вижу. Значит ли это, что он не нужен?

  2. Ранее "enableAdvertisingIdCollection" также был доступен для сбора информации о рекламе. Я не могу найти его в новых API. Собирается ли он автоматически?

  3. «setDryRun» был доступен для отключения отправки данных на серверы, и теперь я его не вижу. Означает ли это, что это происходит автоматически для отладочных версий приложения? Все ли функции пишут в логи?

  4. Раньше я мог отслеживать "экран":

    public void setScreenName(String name) {
        mGoogleAnalyticsTracker.setScreenName(name);
        mGoogleAnalyticsTracker.send(new HitBuilders.ScreenViewBuilder().build());
    }
    

    Сейчас я его не вижу, но, читая, я думаю, что он автоматический, поэтому он все равно отправляет данные жизненного цикла активности. Это правда?

  5. Наверное, самое главное: раньше я мог отслеживать по категории, действию, метке и значению:

    public void trackEvent(final String category, final String action, final String label, final long value) {
        mGoogleAnalyticsTracker.send(new HitBuilders.EventBuilder()
                .setCategory(category).setAction(action)
                .setLabel(label).setValue(value).build());
    }
    

    и теперь я вижу совершенно другой способ отслеживать события («пользовательские события»), используя пакеты . Пример:

    Bundle bundle = new Bundle();
    bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id);
    bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name);
    bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image");
    mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
    

    Как это работает? Как это отображается на сайте Firebase Analytics ? Я полагаю, что первый параметр logEvent мог бы вести себя как параметр категории Google-Analytics, но что я могу / должен делать с остальным? Согласно документам, это должно быть нормально:

    public void trackEvent(final String category, final String action, final String label, final long value) {
        Bundle bundle = new Bundle();
        bundle.putString("action", action);
        bundle.putString("label", label);
        bundle.putLong("value", value);
        mFirebaseAnalytics.logEvent(category, bundle);
    }
    
  6. Какие события фактически автоматически отслеживаются (я спрашиваю об этом, потому что некоторые говорят, что мне не следует использовать здесь )? Включены ли в них покупки? приложение-приглашения? Объявления? Где я могу увидеть их на сайте консоли?

  7. О журналах говорится, что новый SDK делает это следующим образом:

    Вы можете включить подробное ведение журнала с помощью ряда команд adb:

    adb shell setprop log.tag.FA VERBOSE adb shell setprop log.tag.FA-SVC VERBOSE adb logcat -v time -s FA FA-SVC

    Что делают эти команды? Как я могу это отключить? Я заметил, что это даже отображается в релизной версии приложения ...

  8. Должен ли новый SDK заменить Google-Analytics? Предлагается ли полностью перейти на него? Будут ли обновления в Google-Analytics?

разработчик Android
источник
1
Зачем голосовать за закрытие? :(
Android-разработчик
1
Боковое примечание: я исследовал Firebase Analytics и только что реализовал его в своем приложении для реагирования. Похоже, что его переименовывают в "Google Analytics для Firebase" firebase.google.com/docs/analytics
я
iS GOOGLE Analytics устарела для Интернета?
Ахмад Арслан
@AhmadArslan, я не знаю
разработчик Android

Ответы:

56

Множество вопросов собраны вместе, поэтому я постараюсь кратко ответить на большинство из них:

  1. Отчеты Google Analytics по идентификаторам трекеров, отчеты Firebase Analytics по приложениям. В приложении, определенном в вашем google-services.json, есть только один идентификатор. Идентификатор преобразуется в строковый ресурс плагином служб Google под именем google_app_id. Все события из приложения сообщаются этому единственному идентификатору.
  2. Firebase Analytics сообщает AdId автоматически. Вам не нужно его включать.
  3. Нет функции dryRun. Вы можете использовать отдельный файл google-services.json во время разработки, отфильтровать версию для разработки с помощью версии приложения или добавить свойство пользователя, чтобы отметить экземпляры приложения, используемые для разработки.
  4. Вы можете сообщить об экранах с помощью

    Bundle params = new Bundle();
    params.putString(FirebaseAnalytics.Param.ITEM_CATEGORY, "screen");
    params.putString(FirebaseAnalytics.Param.ITEM_NAME, "screen name");
    firebaseAnalytics.logEvent(FirebaseAnalytics.Event.VIEW_ITEM, params);
    
  5. Вы можете зарегистрировать пользовательское событие с теми же параметрами

    Bundle params = new Bundle();
    params.putString("category", category);
    params.putString("action", action);
    params.putString("label", label);
    params.putLong("value", value);
    firebaseAnalytics.logEvent("xyz_event", params);
    

    Префикс «ga_» зарезервирован, и ваша аналитика не сработает, если вы его используете. Вместо этого используйте "xyz_", где xyz - это, например, инициалы вашей компании.

    Не используйте категорию в качестве названия события, если у вас очень мало категорий, которые вы хотите отслеживать. Firebase Analytics поддерживает до 500 имен событий. При регистрации большего количества данных некоторые из ваших данных будут проигнорированы.

  6. В начале класса FirebaseAnalytics.Event есть список зарезервированных имен событий . Он примерно представляет автоматические события, о которых сообщают.

  7. По умолчанию в Firebase Analytics ведение журнала отладки отключено. Он регистрирует только ошибки и предупреждения. Если вы не включили ведение журнала отладки и ваше приложение настроено правильно, при запуске приложения в журнал записываются только 2 строки с инструкциями о том, как включить ведение журнала отладки. В производственной среде отключать нечего, и нет эквивалента setLogLevel (ERROR) из Google Analytics. WARN - уровень ведения журнала по умолчанию. Вы можете включить ведение журнала только на отдельном устройстве, запустив на нем команду adb). Это поможет вам избежать поставки приложения в производство с включенным ведением журнала отладки.

  8. SDK Google Analytics для Android и iOS не является устаревшим и будет поддерживаться и обновляться в обозримом будущем. Вам не нужно отказываться от него, если вы уже вложили его в свое приложение, и оно соответствует вашим потребностям.

джаби
источник
3
5. Похоже, что использование нестандартных пакетов пока не поддерживается, согласно этим сообщениям: stackoverflow.com/a/37779048 , stackoverflow.com/a/37511858 . Очень жаль.
разработчик Android
1
Спасибо за комментарий. Изменено значение на long через 5. Автоматических отчетов по всем параметрам пока нет, но вы можете связать учетную запись с BigQuery и использовать ее для создания отчетов. В BigQuery есть бесплатная квота, которая может быть всем, что вам нужно. Abotu 3. По умолчанию - отчетность. 4. Сообщения экрана не являются автоматическими. Вам нужно регистрировать событие при отображении контента. 5. Если отчетов по умолчанию недостаточно, вы можете запросить данные в BigQuery. Он содержит необработанные события, когда вы их регистрировали. 6. Вы должны игнорировать app_uninstall. 7. Если вы включите ведение журнала отладки на устройстве, вы увидите все журналы.
djabi
1
8. Это очень широкий вопрос. О каких конкретных функциях вы спрашиваете. Если Firebase Analytics идентичен Google Analytics, это будет Google Analytics, а не Firebase Analytics.
djabi
2
'Префиксы firebase_, google_ и ga_ зарезервированы и не должны использоваться.': Firebase.google.com/docs/reference/cpp/group/parameter-names Мое предложение вместо "ga_event" будет быть «abc_event», где «abc» - это аббревиатура для вас или вашей компании.
KRA2008
5
Я приземлился здесь, поскольку сейчас 2019 год, и Google скоро откажется от GA в пользу FA, поэтому этот шаг является обязательным. support.google.com/firebase/answer/9167112
Райан,
13

Google Analytics - это бесплатный сервис веб-аналитики, предлагаемый Google, который отслеживает и сообщает о посещаемости веб-сайтов. 1 Компания Google запустила сервис в ноябре 2005 г. после приобретения Urchin. Firebase - поставщик облачных услуг и серверная часть как сервисная компания, базирующаяся в Сан-Франциско, Калифорния. Компания производит ряд продуктов для разработчиков программного обеспечения, создающих мобильные или веб-приложения.

Как перейти от Google Analytics к Firebase Analytics?

Google Analytics (GA) и Firebase Analytics (FA), несмотря на их общее название, во многих аспектах сильно различаются. В то время как GA является универсальным (и более ориентированным на веб) инструментом аналитики, Firebase создавалась с учетом мобильных устройств: поэтому набор функций у них разный, с некоторыми вещами, которые были добавлены в FA, и вещами, которые отсутствуют в GA. .

В частности, при рассмотрении Firebase Analytics следует обратить внимание на следующие моменты:

  • Просмотр в реальном времени отсутствует
  • События доступны через 4-6 часов.
  • Behavior Flow (из GA) отсутствует
  • Аудитории имеют большое преимущество FA и, в сочетании с уведомлениями, позволяют взаимодействовать с определенной группой пользователей.
  • При использовании Firebase Crash Reporting автоматически создается аудитория с пользователями, у которых произошел сбой.
  • Анализ воронки имеет гораздо больше смысла, чем в GA, поскольку FA основан на событиях, а не на просмотрах экрана.
  • Бесплатно и без ограничений, кроме количества типов мероприятий (до 500); нет ограничений по объему мероприятий по каждому типу
  • Некоторые события регистрируются автоматически (например, сеансы на основе жизненного цикла активности)
  • Относительно небольшой объем используемых методов по сравнению с количеством методов GA
  • Очень проста в настройке, нет синглтона для инициализации, просто включите зависимость Gradle и начните регистрацию событий
  • Универсальная консоль, если вы планируете использовать другие службы Firebase

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

  • Если вы раньше активно использовали GA, есть вероятность, что вам не хватит некоторых его функций при полном переходе на FA.
  • Однако, если это новый старт для вашего проекта, FA гораздо более склонен к кроссплатформенной мобильной ориентированной среде, поэтому вы вполне можете рассматривать ее как свой собственный инструмент аналитики.

Кстати, имейте в виду, что Firebase только что запущена, и у Google есть планы по добавлению дополнительных функций в ближайшие недели (например, приборной панели в реальном времени).

Для руководства вы можете найти здесь https://firebase.google.com/docs/analytics/android/start/

Шубхам Шарма
источник
11
Я приземлился здесь, поскольку сейчас 2019 год, и Google скоро откажется от GA в пользу FA, поэтому этот шаг является обязательным. support.google.com/firebase/answer/9167112
Райан,
1
Значит, это означает, что мы должны использовать Firebase Analytics вместо Google Analytics? Я прав?
Сумит Шукла
@ Райан святая корова! Я хотел перейти в Google Analytics из Firebase Analytics, но Ваш комментарий меня спас! Благодарность!
Александар