Как перейти от Google Analytics к Firebase-Analytics?
Фон
В последние месяцы Google опубликовал новую альтернативу Google Analytics, которая называетсяFirebase Analytics.
Проблема
Поскольку приложение уже имеет Google-Analytics, я нахожу некоторые препятствия, которые я не вижу, как лучше всего справиться.
Вопросы
Ранее для функции newTracker требовался идентификатор свойства. Сейчас я этого не вижу. Означает ли это, что он не нужен?
Ранее функция "enableAdvertisingIdCollection" была также доступна для сбора информации об объявлениях. Я не могу найти его в новых API. Собирается ли он автоматически?
"setDryRun" был доступен, чтобы отключить отправку данных на серверы, и теперь я не вижу его. Значит ли это автоматически для отладочных версий приложения? Все ли функции записывают в журналы?
Ранее я мог отслеживать "экран":
public void setScreenName(String name) {
mGoogleAnalyticsTracker.setScreenName(name);
mGoogleAnalyticsTracker.send(new HitBuilders.ScreenViewBuilder().build());
}
Сейчас я этого не вижу, но, как я прочитал, я думаю, что это автоматически, поэтому в любом случае он отправляет данные жизненного цикла активности. Это правда?
Наверное, самая важная вещь: раньше я мог отслеживать, используя категорию, действие, метку и значение:
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);
}
Какие события на самом деле автоматически отслеживаются (я спрашиваю об этом, потому что некоторые говорят, что я не должен использовать, здесь)? Они включают покупки? приложение-инвайты? Объявления? Где я могу увидеть их на веб-сайте консоли?
О журналах говорится, что новый SDK делает это следующим образом:
Вы можете включить подробное ведение журнала с помощью ряда команд adb:
adb shell setprop log.tag.FA VERBOSE adb shell setprop log.tag.FA -s VC VERBOSE adb logcat -v время -s FA FA -s VC
Что делают эти команды? Как я могу отключить это? Я заметил, что это даже отображается в версии приложения...
Новый SDK должен заменить Google-Analytics? Предлагается полностью перейти на него? Будут ли в Google-Analytics какие-либо обновления?
Ответы
Ответ 1
Множество вопросов объединено, поэтому я постараюсь кратко ответить на большинство из них:
- Google Analytics сообщает о трекерах, Firebase Analytics сообщает о приложениях. В приложении, указанном в вашем google-services.json, есть только один идентификатор. Идентификатор переводится в строковый ресурс с помощью плагина служб Google под именем "google_app_id". Все события из приложения передаются на этот один идентификатор.
- Firebase Analytics сообщает об AdId автоматически. Вам не нужно включать его.
- Нет функции DryRun. Вы можете использовать отдельный google-services.json во время разработки, отфильтровать версию для разработки с помощью версии приложения или добавить свойство пользователя, чтобы отметить экземпляры приложения, использованные для разработки.
Вы можете сообщать об экранах с помощью
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);
Вы можете войти в пользовательское событие с теми же параметрами
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 имен событий. В противном случае некоторые ваши данные будут игнорироваться.
В начале класса FirebaseAnalytics.Event есть список зарезервированных имен событий. Он примерно представляет автоматические события, о которых сообщают.
В Firebase Analytics по умолчанию отключено ведение журнала отладки. Он только регистрирует ошибки и предупреждения. Если вы не включили ведение журнала отладки и ваше приложение правильно настроено, при запуске приложения регистрируются только две строки с инструкциями о том, как включить ведение журнала отладки. В производстве нет ничего, что можно отключить, и нет эквивалента setLogLevel (ERROR) из Google Analytics. WARN - уровень ведения журнала по умолчанию. Вы можете включить ведение журнала только на отдельном устройстве, выполнив команду adb на устройстве). Это поможет вам избежать доставки приложения в производство с включенным ведением журнала отладки.
Google Analytics SDK для Android и iOS не устарела и будет поддерживаться и обновляться в обозримом будущем. Вам не нужно уходить от него, если вы уже вложили его в свое приложение и оно отвечает вашим потребностям.
Ответ 2
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 часов
- Поток поведения (из GA) отсутствует
- Аудитория обладает большим преимуществом FA и в сочетании с уведомлениями позволяет взаимодействовать с определенной группой пользователей
- При использовании Firebase Crash Reporting автоматически создается аудитория с пользователями, которые столкнулись с аварией
- Анализ воронок имеет гораздо больший смысл, чем в GA, поскольку FA основывается на событиях, а не на видах экрана
- Бесплатные и безлимитные, кроме количества видов мероприятий (ограничено до 500); нет ограничений по объему событий для каждого типа
- Некоторые события регистрируются автоматически (например, сеансы, основанные на жизненном цикле активности)
- Относительно низкая занимаемая площадь по сравнению с методами GA
- Слишком прост в настройке, нет инициализации синглтона, просто включите зависимость Gradle и начните регистрировать события
- Консоль "все в одном", если вы планируете использовать другие службы Firebase
Что касается того, стоит ли переходить с одного на другое или если держать оба параллельно, ответ таков: это зависит.
- Если вы ранее широко использовали GA, есть вероятность, что вам будет не хватать некоторых его функций при полном переходе на FA.
- Однако, если это новый старт для вашего проекта, FA гораздо более склонна к кроссплатформенной среде, ориентированной на мобильные устройства, поэтому вы вполне можете рассматривать ее как свой собственный аналитический инструмент.
Напомним, что Firebase только что запустился, и Google планирует добавить дополнительные функции в ближайшие недели (например, панель мониторинга в режиме реального времени).
Для учебника вы можете найти здесь https://firebase.google.com/docs/analytics/android/start/