В первой части мы рассмотрели подключение решения Yandex AppMetrica. В этой части мы рассмотрим подключение решения от Google - Firebase.
Добавление приложения в Firebase
Заходим на сайт Firebase и авторизуемся. Переходим к добавлению проекта.
Первый шаг это присвоение имени нашему проекту, его будет использовать Firebase.
Разрешаем Firebase использовать Google Analytics.
Выбираем страну вашей организации (это не влияет на то, где Google может обрабатывать и хранить данные клиентов для Firebase) и разрешения по сбору данных.
Установка Firebase CLI
Инструкция по установке Firebase CLI.
Windows
Чтобы загрузить и запустить двоичный файл Firebase CLI, выполните следующие действия:
Загрузите двоичный файл Firebase CLI для Windows .
Получите доступ к двоичному файлу, чтобы открыть оболочку, в которой вы можете запустить команду firebase .
Продолжите авторизацию и тестирование CL.
MacOS или Linux
Запустите следующую команду cURL:
curl -sL https://firebase.tools | bash
Этот скрипт автоматически определяет вашу операционную систему, загружает последнюю версию Firebase CLI, а затем включает глобально доступную команду firebase.
Авторизация в Firebase CLI
Войдите в Firebase, используя свою учетную запись Google, выполнив следующую команду:
firebase login
Установите интерфейс командной строки FlutterFire, выполнив следующую команду из любого каталога:
dart pub global activate flutterfire_cli
Конфигурация проекта с помощью Firebase CLI
Конфигурация Flutterfire
Добавьте firebase_core в проект:
dependencies:
...
firebase_core: ^2.26.0
В терминале проекта введите команду:
flutterfire configure
Выбираем созданный нами проект в Firebase и выбираем необходимые платформы:

После завершения в проекте появятся файлы конфигурации Firebase ( firebase_options.dart, GoogleService-Info.plist, google-services.json и другие).
Конфигурация 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
Добавляем GoogleService-Info.plist к Runner через Xcode:

Добавление 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
Необходимо запустить команду:
adb shell setprop debug.firebase.analytics.app your_package_name
Команда для остановки:
adb shell setprop debug.firebase.analytics.app .none.
iOS
Нужно к scheme проекта добавить аргумент -FIRDebugEnabled
к "Arguments Passed On Launch".

Чтобы отключить, нужно передать аргумент -FIRDebugDisabled
Заключение
Мы показали примеры сбора аналитики с помощью Firebase, какие есть типы событий, как их отправлять и тестировать запросы в реальном времени.