Интеграция Android

Интеграция

Чтобы интегрировать библиотеку, используйте следующий фрагмент кода:

import android.app.Application;
import com.bmtanalytics.sdk.tracking.BMT;
import com.bmtanalytics.sdk.tracking.Configuration;
import com.bmtanalytics.sdk.tracking.Configuration.UploadInterval;
import com.bmtanalytics.sdk.tracking.Event.Type;
import com.bmtanalytics.sdk.tracking.Event;
import com.bmtanalytics.sdk.tracking.ExtraData;
public class App extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        initBMT();
    }
    private void initBMT() {
        int BMT_API_KEY = 12;
        Configuration config = new Configuration.Builder()
        .setUploadInterval(UploadInterval.HALF_HOUR)
        .setGZIPEnabled(false)
        .setLogcatEnabled(true)
        .setUncaugthExceptionTracking(true)
        .build();
        BMT.init(this, BMT_API_KEY, config);   // with custom config
        // BMT.init(this, BMT_API_KEY); // with default config
        
        BMT.SessionData.addExtraData(
             new ExtraData("app", "BMT SDK Sample"));
        BMT.track(new Event(Type.OTHER, "Application loaded"));
    }
}    

Конфигурация

Для того, чтобы контролировать логику работы системы аналитики Maxymizely, используйте такие поля и методы:

Основные поля конфигурации:

  • SiteId — идентификатор ресурса, который необходимо отслеживать
  • ConfigurationId — идентификатор для отслеживания пользователей
  • ExternalId — уникальный идентификатор пользователей (например, внутренний идентификатор пользователя в базе данных, электронная почта, логин, Facebook ID, или любая другая информация, которая помогает идентифицировать уникального пользователя)

Дополнительные методы конфигурации:

BMT.SessionData.replaceExtraData(new ExtraData("attribute", attr))  

Этот метод позволяет назначить ряд дополнительных параметров пользователю в форме имя-значение.

Вам нужно будет предоставить соответствующие права разрешения для android.permission чтобы система слежения могла передавать собранные данные на сервер.

  • #INTERNET чтобы загрузить события на сервер слежения
  • #ACCESS_NETWORK_STATE для проверки состояния сетевых соединений
  • #READ_PHONE_STATE чтобы собрать информацию об устройстве

Вот часть декларативного файла под андроид:

<service
    android:name="com.bmtanalytics.sdk.api.UploadService"
    android:permission="android.permission.INTERNET" />
<receiver
    android:name="com.bmtanalytics.sdk.api.ConnectivityReceiver"
    android:permission="android.permission.ACCESS_NETWORK_STATE" >
    <intent-filter>
        <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
    </intent-filter>
</receiver>

Приложение

Основой для анализа является процесс отслеживания событий, которые происходят в рамках приложения. Эти события могут быть инициированные пользователем, а также путем интерактивных окон, в которых находится содержимое.

Для системного интегратора, существует два уровня регистрируемых событий:

  • Системный уровень
  • Пользовательский уровень

Системный уровень включает в себя тип событий  Type.ERROR, который регистрирует информацию об ошибках. Это событие вызывается системой автоматически при возникновении исключения. На пользовательском уровне все типы событий доступны.

Пример установки отслеживания:

BMT.track(new Event(Type.LOADPAGE, MyClass.class.getSimpleName()));  

С помощью метода BMT.track, интегратор реализует контрольные точки в функциональной системе веб-ресурсов.

Для точной идентификации контрольных событий/контрольных точек есть определенный набор параметров конфигурации:

  • Значение — идентификатор контрольной точки (идентификатор HTML элемента, имя поля, и т.д.)
  • CustomAttribute1, CustomAttribute2, CustomAttribute3 — 3 дополнительные атрибуты, которые устанавливаются по усмотрению пользователя/разработчика

В теле процедуры, которая обрабатывает событие, необходимо указать:

BMT.track(new Event(Type.CLICK, "Login button clicked"));
BMT.track(new Event(Type.LOADPAGE, MyClass.class.getSimpleName()));  

Примеры событий:

1. Если вы ввели неправильные учетные данные:

BMT.track(new Event(Type.LOGIN, "Login failed, incorrect credentials"));
BMT.SessionData.removeExtraDataByKey(Email);  

2. Если вы ввели правильные учетные данные:

BMT.track(new Event(Type.LOGIN, "Attempting to login"));
BMT.track(new Event(Type.VIEWELEMENT, "Progress is shown"));