Flutter SDK для интеграции системы продуктовой аналитики Consta Analytics.
Пакет используется для подключения Flutter-приложений к Consta Analytics. SDK предоставляет возможность отправки пользовательских событий из приложения посредством интеграции c публичным API системы продуктовой аналитики.
Перед установкой необходимо интегрировать пакет в приложение с помощью команды
$ flutter pub add consta_analyticsimport 'package:consta_analytics/spa_sdk.dart';void main(){
//...
SpaSdk.init(counterId: {"Номер счетчика"}, uriServiceSpa: {"Url для отправки запроса "});
//...
} <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/> <key>NSLocationAlwaysUsageDescription</key>
<string>Your location is required for xyz benefits for you</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Your location is required for xyz benefits for you</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>Your location is required for xyz benefits for you</string>После добавления разрешений, вызовите метод [SpaSdk.activateLocation] для активации отправки геопозиции
SpaSdk.auth(userId: "id пользователя");SpaSdk.instance.sendEvent(const EventSpa.appSessionStart());
SpaSdk.instance.sendEvent(EventSpa.custom(eventType: "eventType", customParam: {
"customParam1": "valueCustomParam1",
"customParam2": "valueCustomParam2",
}))Есть несколько дефолтных конструкторов для создания событий:
[EventSpa.appException] - для отправки исключений
[EventSpa.appUpdate] - для отправки событий об обновлении приложения
[EventSpa.linkOpened] - для отправки событий об открытии ссылки
[EventSpa.error] - для отправки ошибок
[EventSpa.fileOpenedInLink] - для отправки событий об открытии файла по ссылке
[EventSpa.firstOpen] - для отправки событий первого открытия приложения
[EventSpa.screenView] - для отправки событий просмотра экрана
[EventSpa.scroll] - для отправки событий скролла
[EventSpa.appSessionStart] - для отправки событий начала сессии
[EventSpa.appSessionEnd] - для отправки событий окончания сессии
[EventSpa.search] - для отправки событий поиска
[EventSpa.custom] - для отправки кастомных событий
Дефолтные данные которые мы собираем и отправляем вместе с событием:
[EventSpa.ipAddress] - ip адрес
[EventSpa.sessionId] - id сессии
[EventSpa.libraryVersion] - версия библиотеки
[EventSpa.counterId] - id счетчика
[EventSpa.appVersion] - версия приложения
[EventSpa.deviceId] - id устройства
[EventSpa.appName] - название приложения
[EventSpa.deviceName] - название устройства
[EventSpa.osVersion] - версия операционной системы
[EventSpa.osName] - название операционной системы
[EventSpa.platform] - платформа
[EventSpa.language] - язык
[EventSpa.resolutionWidth] - ширина экрана
[EventSpa.resolutionHeight] - высота экрана
[EventSpa.id] - id события
Поля которые требуют дополнителые действия:
[EventSpa.latitude] - широта
[EventSpa.longitude] - долгота
[EventSpa.userId] - id пользователя
В случае возникновения ошибок при отправке событий, они сохраняются в локальной базе данных
и отправляются на сервер при следующей отправке событий