Skip to content

Описание работы API Пикселя для Android

Данное руководство предназначено для интеграции ИППМ в мобильные приложения на платформе Android.

Интеграция выполняется с помощью библиотеки на платформе Android, которая выполняет функцию сбора данных о характеристиках мобильного устройства. Сбор данных происходит в соответствии с разрешениями приложения. Библиотека не собирает чувствительные (конфиденциальные) данные приложения и персональные данные пользователеля мобильного приложения.

Интеграция в проект

  1. Скопируйте файл библиотеки в директорию мобильного приложения.
  2. Подключите библиотеку к проекту. Для этого в конфигурационном файле build.gradle, в разделе dependencies необходимо добавить:

    dependencies {
        ...
        implementation files('./libs/IdxFraudProtectionAndroid.aar')
        ...
    }
    
  3. Добавьте в Android Manifest следующие разрешения:

    <uses-permission android:name="android.permission.BLUETOOTH"
        android:maxSdkVersion="30" />
    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT"
        android:minSdkVersion="31" />
    
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
        tools:ignore="QueryAllPackagesPermission" />
    

При необходимости часть разрешений можно не включать. В этом случае данные соответствующего разрешения не будут собираться.

Инициализация пикселя

Для инициализации API Пикселя в мобильном приложении Android необходимо выполнить вызов метода init объекта IdxFPManager, передав ему контекст приложения:

IdxFPManager.init("<Код пикселя>", getApplicationContext());

Код пикселя выдается Заказчику представителями IDX. Рекомендуется выполнять инициализацию в методе onCreate в MainActivity, например

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    IdxFPManager.init("<Код пикселя>", getApplicationContext());
    // ...
}

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

@Override
protected void onResume() {
    super.onResume();
    IdxFPManager.resume(getApplicationContext());
}

Установка идентификатора сессии

Данный метод позволяет установить идентификатор сессии, которая ранее была инициирована Заказчиком.

IdxFPManager.getInstance().SetSessionId("<идентификатор сессии>");

Получение идентификатора сессии

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

IdxFPManager.getInstance().GetSessionId();

Сброс идентификатора сессии

Данный метод позволяет сбросить (удалить) идентификатор сессии, который ранее был установлен Заказчиком через API.

IdxFPManager.getInstance().SignOut();

Отправка информации об устройстве в Ядро

Собранная информация об устройстве отправляется в Ядро системы для анализа. Для отправки данных можно использовать отдельный поток в сочетании с конструкцией для обработки ошибок, например:

try {
    ExecutorService executorService = Executors.newSingleThreadExecutor();
    executorService.submit(()-> IdxFPManager.getInstance().DeviceRequest(getActivity(), IdxFPComponent.COM_ALL));
}
catch(Exception ex) {
    // log error
}