Аналитика мобильных приложений на Flutter. Часть 2. Подключение Firebase Analytics

3D модель телефона с Firebase Analytics
В первой части мы рассмотрели подключение решения Yandex AppMetrica. В этой части мы рассмотрим подключение решения от Google - Firebase.

Добавление приложения в Firebase

Заходим на сайт Firebase и авторизуемся. Переходим к добавлению проекта. Первый шаг это присвоение имени нашему проекту, его будет использовать Firebase.
Заполнение информации о компании на Yandex AppMetrica
Разрешаем Firebase использовать Google Analytics
Процесс заполнение личного профиля
Выбираем страну вашей организации (это не влияет на то, где Google может обрабатывать и хранить данные клиентов для Firebase) и разрешения по сбору данных
Добавление информации о приложении

Установка Firebase CLI

Инструкция по установке Firebase CLI
Windows
Windows
Чтобы загрузить и запустить двоичный файл Firebase CLI, выполните следующие действия:
  1. Загрузите двоичный файл Firebase CLI для Windows .
  2. Получите доступ к двоичному файлу, чтобы открыть оболочку, в которой вы можете запустить команду firebase .
  3. Продолжайте авторизоваться и тестировать CLI .
MacOS или Linux
MacOS или Linux
Запустите следующую команду cURL:
curl -sL https://firebase.tools | bash
Этот скрипт автоматически определяет вашу операционную систему, загружает последнюю версию Firebase CLI, а затем включает глобально доступную команду firebase .
Авторизация в Firebase CLI
Авторизация в Firebase CLI
Войдите в Firebase, используя свою учетную запись Google, выполнив следующую команду
firebase login
Установите интерфейс командной строки FlutterFire, выполнив следующую команду из любого каталога
dart pub global activate flutterfire_cli

Конфигурация проекта с помощью Firebase CLI

Конфигурация Flutterfire
Конфигурация Flutterfire
Добавьте firebase_core в проект
dependencies:
  ...
  firebase_core: ^2.26.0
В терминале проекта введите команду
flutterfire configure
Выбираем созданный нами проект в Firebase и выбираем необходимые платформы
Раздел отчеты в Yandex AppMetrica
После завершения в проекте появятся файлы конфигурации Firebase ( firebase_options.dart, GoogleService-Info.plist, google-services.json и другие)
Конфигурация Android
Конфигурация Android
В android/build.gradle добавляем
dependencies {
       ...
       classpath 'com.google.gms:google-services:4.3.13'
   } 
В android/app/build.gradle добавляем
apply plugin: 'com.google.gms.google-services'

...

dependencies {
 ...
 implementation(platform("com.google.firebase:firebase-bom:32.7.3"))
 implementation("com.google.firebase:firebase-analytics")
}
Конфигурация iOS
Конфигурация iOS
Добавляем GoogleService-Info.plist к Runner через xcode
Раздел отчеты в Yandex AppMetrica

Добавление Firebase Analytics

Добавьте firebase_analytics в проект
dependencies:
  ...
  firebase_analytics: ^10.8.8
В коде проекта инициализируем Firebase
 await Firebase.initializeApp(
     options: DefaultFirebaseOptions.currentPlatform,
   );
Теперь мы можем отправлять сообщения. Например сразу после инициализации приложения можем направить репорт о том что приложение было открыто с помощью команды:
FirebaseAnalytics.instance.logAppOpen();
В Firebase Analytics можно отправлять как свои сообщения так и использовать уже заданные из библиотеки.

Пример своего сообщения:
FirebaseAnalytics.instance.logEvent(
       name: 'my_report',
       parameters: {
         'info': 'some_info',
         'info2': 'some_info',
       },
     );
В Firebase Analytics уже задано множество стандартных событий таких как
  • logAppOpen - событие открытия приложения
  • logPresentOffer - событие показа предложения о покупке
  • logJoinGroup - событие присоеденения пользователя к группе
  • logLogin - событие авторизации пользовтеля
  • logPurchase - событие совершения покупки
  • и другие

Основные функции Firebase Analytics

На вкладке Analytics Dashboard мы можем увидеть сводную информацию по основным параметрам приложения. Также отсюда можно посмотреть более детальную информацию по некоторым параметрам
Диаграмма в разделе технологии
На вкладке “Events” можно увидеть сводку по количеству отправленных репортов, а также посмотреть более детальную информацию по выбранному событию
Диаграмма в разделе технологии

DebugView

Для тестирования запросов в реальном времени можно использовать DebugView. После первой конфигурации приложения и активации sdk может пройти некоторое время прежде чем DebugView начнет принимать запросы.
Android
Android
Необходимо запустить команду:
adb shell setprop debug.firebase.analytics.app your_package_name
Команда для остановки
adb shell setprop debug.firebase.analytics.app .none.
iOS
iOS
Нужно к scheme проекта добавить аргумент -FIRDebugEnabled к "Arguments Passed On Launch"
Диаграмма в разделе технологии
Чтобы отключить нужно передать аргумент -FIRDebugDisabled

Заключение

Мы показали примеры сбора аналитики с помощью Firebase, какие есть типы событий, как их отправлять и тестировать запросы в реальном времени.