Giter Site home page Giter Site logo

ronfall / mytracker-flutter Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mytrackersdk/mytracker-flutter

0.0 0.0 1.0 101 KB

flutter myTracker sdk

License: GNU Lesser General Public License v3.0

Ruby 5.08% Objective-C 18.09% Kotlin 43.39% Dart 32.03% Swift 1.42%

mytracker-flutter's Introduction

myTracker Flutter SDK

Platforms License

Общая информация

myTracker — Мультиплатформенная система аналитики и атрибуции на базе технологий Mail.ru Group.

Минимальные требования

Android

  • Android api level 21 (Android 5.0)
  • Разрешение android.permission.INTERNET
  • Разрешение android.permission.ACCESS_NETWORK_STATE

Обязательные зависимости, которые будет добавлены автоматически:

iOS

  • Минимальная поддерживаемая версия iOS - 12.4
  • xCode версия 12.4 или выше

В случае, если необходимо получение информации об IDFA/IDFV на iOS 14+, то необходимо получение разрешения от пользователя.
Для решения, возможно использовать App Tracking Transparency Plugin. Или реализовать запрос разрешений самостоятельно.

Данные о местоположении

Если необходим сбор данных о местоположении, то добавление разрешений на доступ к локации и запрос этих разрешений также является обязательным.
Для решения данной задачи можно воспользоваться Location Permission Plugin. Или реализовать запрос разрешений самостоятельно.

Приложения для Huawei App Store

Если вы делаете сборку приложения для 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.

MyTrackerConfig

Экземпляр данного класса отвечает за конфигурацию трекера и предоставляет следующие методы.

Отслеживание запусков приложения. По умолчанию 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)

MyTrackerParams

Экземпляр данного класса предназначен для настройки пользовательских параметров.

Пользовательские параметры могут быть установлены в любой момент работы приложения.

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()

mytracker-flutter's People

Contributors

ronfall avatar altk avatar dmsrgv avatar

Forkers

dmsrgv

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.