Описание работы API Пикселя для iOS
Данное руководство предназначено для интеграции ИППМ в мобильные приложения на платформе iOS.
Интеграция выполняется с помощью библиотеки (XCFramework) на платформе iOS и языке программирования Swift. Библиотека выполняет функцию сбора данных о характеристиках мобильного устройства. Сбор данных происходит в соответствии с разрешениями приложения. Библиотека не собирает чувствительные (конфиденциальные) данные приложения и персональные данные пользователеля мобильного приложения.
Интеграция в проект¶
-
Добавьте ссылки на зависимости DevicePpi, UIScreenExtension и IdxFraudProtectionKit в Podfile мобильного приложения. Например:
target 'DemoApp' do use_frameworks! pod 'DevicePpi', git: 'https://github.com/Clafou/DevicePpi.git', tag: '1.2.23' pod 'UIScreenExtension', git: 'https://github.com/marchv/UIScreenExtension.git', tag: '0.0.11' pod 'IdxFraudProtectionKit', git: 'https://github.com/iidx-ru/IdxFraudProtectioniOSKit.git', tag: '1.0.16' end -
Выполните установку зависимостей приложения с помощью команды:
pod install
Инициализация пикселя¶
Для инициализации API Пикселя в мобильном приложении iOS необходимо создать новый объект IdxFPManager:
var sdk = IdxFPManager(pixelCode: "<Код пикселя>")
Код пикселя выдается Заказчику представителями IDX.
Установка идентификатора сессии¶
Данный метод позволяет установить идентификатор сессии, которая ранее была инициирована Заказчиком.
sdk.setSessionId(sessionId: "<идентификатор сессии>")
Получение идентификатора сессии¶
Данный метод позволяет получить идентификатор сессии, если он ранее был установлен с помощью вызова соответствующего метода.
sdk.getSessionId()
Сброс идентификатора сессии¶
Данный метод позволяет сбросить (удалить) идентификатор сессии, который ранее был установлен Заказчиком через API.
sdk.clearSessionId()
Отправка информации об устройстве в Ядро¶
Собранная информация об устройстве отправляется в Ядро системы для анализа. Для отправки информации можно использовать два варианта: с данными о геолокации и без неё. Для отправки данных с геолокацией необходимо использовать параметр location типа CLLocation:
sdk.DeviceRequest(location: recentLocation)
Для отправки данных без геолокации:
sdk.DeviceRequest(location: nil)