Описание работы API Пикселя для Android
Данное руководство предназначено для интеграции ИППМ в мобильные приложения на платформе Android.
Интеграция выполняется с помощью библиотеки на платформе Android, которая выполняет функцию сбора данных о характеристиках мобильного устройства. Сбор данных происходит в соответствии с разрешениями приложения. Библиотека не собирает чувствительные (конфиденциальные) данные приложения и персональные данные пользователеля мобильного приложения.
Интеграция в проект¶
- Скопируйте файл библиотеки в директорию мобильного приложения.
-
Подключите библиотеку к проекту. Для этого в конфигурационном файле build.gradle, в разделе dependencies необходимо добавить:
dependencies { ... implementation files('./libs/IdxFraudProtectionAndroid.aar') ... } -
Добавьте в 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
}