myTracker — Мультиплатформенная система аналитики и атрибуции на базе технологий Mail.ru Group.
- Android api level 21 (Android 5.0)
- Разрешение
android.permission.INTERNET
- Разрешение
android.permission.ACCESS_NETWORK_STATE
Обязательные зависимости, которые будет добавлены автоматически:
- Google Play Services (модуль com.google.android.gms:play-services-ads-identifier)
- Google Play Install Referrer (модуль com.android.installreferrer:installreferrer)
- Минимальная поддерживаемая версия iOS - 12.4
- xCode версия 12.4 или выше
В случае, если необходимо получение информации об IDFA/IDFV на iOS 14+, то необходимо получение разрешения от пользователя.
Для решения, возможно использовать App Tracking Transparency Plugin. Или реализовать запрос разрешений самостоятельно.
Если необходим сбор данных о местоположении, то добавление разрешений на доступ к локации и запрос этих разрешений также является обязательным.
Для решения данной задачи можно воспользоваться Location Permission Plugin. Или реализовать запрос разрешений самостоятельно.
Если вы делаете сборку приложения для Huawei App Store, то обязательно наличие в проекте подключенной библиотеки Huawei Media Services (модуль com.huawei.hms:hms-ads-identifier), для того, чтобы myTracker мог получить OAID.
Скачайте SDK, добавьте его в ваш проект по некоторому пути PATH_TO_SDK
и укажите его в качестве зависимости в pubspec.yaml
вашего приложения:
dependencies:
...
mytracker_sdk:
path: PATH_TO_SDK
...
При инициализации трекера необходимо указать ваш appId.
При необходимости до инициализации, можно выполнить дополнительную конфигурацию трекера и параметров.
Активность приложения (запуски, сессии) отслеживается автоматически.
// При необходимости настраиваем параметры
final trackerParams = MyTracker.trackerParams;
final trackerConfig = MyTracker.trackerConfig;
// ...
// Настройка параметров трекера
// ...
// Инициализируем экземпляр
await MyTracker.init(SDK_KEY);
Конфигурацию трекера можно произвести через экземпляр класса MyTrackerConfig
, доступный через метод MyTracker.trackerConfig
.
Параметры трекера можно настроить через экземпляр класса MyTrackerParams
, который доступен через метод MyTracker.trackerParams
.
Экземпляр данного класса отвечает за конфигурацию трекера и предоставляет следующие методы.
Отслеживание запусков приложения. По умолчанию true.
Future<void> setTrackingLaunchEnabled(boolean trackingLaunchEnabled)
Интервал в секундах, в течение которого не будет засчитываться новый запуск и прерываться сессия при сворачивании приложения.
По умолчанию 30 секунд. Можно установить значение в диапазоне 30-7200 секунд.
Future<void> setLaunchTimeout(int seconds)
Интервал в секундах, в течение которого события будут накапливаться на устройстве перед отправкой на сервер.
По умолчанию 900 секунд. Можно установить значение в диапазоне 1-86400 секунд.
Future<void> setBufferingPeriod(int seconds)
Интервал в секундах после установки или обновления приложения, в течение которого события будут незамедлительно отправляться на сервер.
По умолчанию 0 секунд (незамедлительная отправка выключена). Можно установить значение в диапазоне 0-432000 секунд (5 суток).
Future<void> setForcingPeriod(int seconds)
Отслеживание местоположения.
По умолчанию true.
Future<void> setTrackingLocationEnabled(boolean trackingLocationEnabled)
Установка региона сервера приёма данных.
Доступные значения:
- MyTrackerRegion.EU - Европа.
- MyTrackerRegion.RU - РФ.
Future<void> setRegion(MyTrackerRegion region)
Установка прокси-хоста сервера приёма данных.
Future<void> setProxyHost(String proxyHost)
Экземпляр данного класса предназначен для настройки пользовательских параметров.
Пользовательские параметры могут быть установлены в любой момент работы приложения.
Future<void> setUserInfo() async
{
final trackerParams = await MyTracker.trackerParams;
// Устанавливаем пол
await trackerParams.setAge(22);
// Устанавливаем возраст
await trackerParams.setGender(MyTrackerGender.FEMALE);
// Устанавливаем айди
trackerParams.setCustomUserIds(["user_id_0", "user_id_1"]);
//Устанавливаем адреса электронной почты
trackerParams.setEmails(["[email protected]", "[email protected]"]);
//Устанавливаем номера телефонаов
trackerParams.setPhones(["84953332211", "84953332212", "84953332213"]);
}
Включение/выключение режима отладки производится через статические методы класса MyTracker.
Включение/выключение режима отладки.
По умолчанию false.
Future<void> setDebugMode(boolean debugMode)
События можно отправлять через статические методы класса MyTracker.
Доступны следующие методы для трекинга различных типов событий:
Событие логина.
Обязательный параметр userId задаёт идентификатор пользователя.
Дополнительный параметр eventParams позволяет задать произвольные параметры ключ-значение для события.
Максимальная длина ключа и значения - 255 символов.
Future<void> trackLoginEvent(String userId, Map<String, String>? eventParams)
Событие регистрации.
Обязательный параметр userId задаёт идентификатор пользователя.
Дополнительный параметр eventParams позволяет задать произвольные параметры ключ-значение для события.
Максимальная длина ключа и значения - 255 символов.
Future<void> trackRegistrationEvent(String userId, Map<String, String>? eventParams)
Произвольное событие с заданным именем.
Дополнительный параметр eventParams позволяет задать произвольные параметры ключ-значение для события.
Максимальная длина ключа и значения - 255 символов.
Future<void> trackEvent(String name, Map<String, String>? eventParams)
Например:
MyTracker.trackEvent("name", {"key_0": "value_0", "key_1": "value_1"});
Принудительная отправка всех событий и сброс таймера отправки.
Future<void> flush()