Skip to content

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

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

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

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

  1. Добавьте ссылки на зависимости 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
    
  2. Выполните установку зависимостей приложения с помощью команды:

    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)