Экран пользовательского согласия

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

Версия релиза 1.0.3 | Дата релиза 10.04.2023

Минимальные требования:

  • iOS 13.0 и выше.

  • Используйте Xcode 13 и выше.

Общая информация

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

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

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

  • Федеральный закон от 27 июля 2006 г. N 152-ФЗ "О персональных данных"

  • GDPR (General Data Protection Regulation, Постановление (Европейский союз) 2016/679)

  • COPPA (Children's Online Privacy Protection Rule)

  • CCPA (California Consumer Privacy Act)

Обычно получение согласия пользователя происходит на специальном экране при первом запуске приложения — consent-screen.

В Yabbi SDK реализован такой экран, вы можете добавить и настроить его с помощью работы с библиотекой Consent Manager. Вы можете использовать его, чтобы не создавать Consent Screen самостоятельно.

Демо-приложение

Используйте наше демо-приложение в качестве примера.

Установка

Настройка Podfile

  1. Установите Yabbi SDK. Подробно процесс установки описан в соответствующем разделе.

  2. Добавьте в файл Podfile зависимость для установки Consent manager.

    platform :ios, '13.0'
    
    target 'Sample' do
        use_frameworks!
    
        # подключение зависимости Consent Manager SDK
        pod 'YabbiConsentManager', "1.0.3"
    end
  3. Cохраните файл и нажмите и откройте терминал в папке проекта.

  4. Выполните в терминале команду pod install для установки зависимостей.

Для обновления зависимостей используйте команду pod update.

Перед использование экрана пользовательского согласия необходимо настроить его.

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

  • appendPolicyURL - устанавливает ссылку на политику конфиденциальности вашего приложения. Рекомендуем вам относиться к этому параметру как к обязательному. Ссылки на политики конфиденциальности Yabbi и наших партнёров уже добавлены на экран согласия.

  • appendBundle - устанавливает кастомный Bundle. Он используется для установки иконки приложения в TopBar экрана пользовательского согласия. Если параметр не заполнен, то отобразится существующая иконка приложения.

  • appendName - устанавливает имя вашего приложения в TopBar экрана пользовательского согласия. Если параметр не заполнен, то отобразится существующее название приложения.

  • appendGDPR - добавляет кнопку отказа от сбора данных. Consent screen с одной кнопкой, возможность отказа от сбора данных доступна пользователю только через ограничение настроек устройства.

    Consent screen с двумя кнопками, возможность отказа от сбора данных доступна пользователю по тапу на кнопку "Нет".

Взгляните на полный пример заполнения параметров:

ConsentManager.registerCustomVendor { builder in
    let _ = builder
        .appendPolicyURL("https://yabbi.me/privacy-policies")
        .appendBundle("me.yabbi.ads.app")
        .appendName("Example name")
}

Инициализация

Мы рекомендуем вызывать инициализацию SDK в вашем ViewController - в viewDidLoad методе.

override func viewDidLoad() {
    ConsentManager.loadManager()
}

Показ экрана с запросом разрешений

Чтобы показать экран, необходимо вызывать метод showConsentWindow.

ConsentManager.showConsentWindow(self)

Узнать статус согласия пользователя

Если пользователь дал согласие на сбор данных, метод вернёт true:

ConsentManager.hasConsent

Если метод возвращает false, настоятельно рекомендуем не собирать никакие данные об этом пользователе.

Обновление статуса согласия пользователя (метод SDK для работы с рекламой)

Для обновления статуса согласия в Yabbi SDK (для работы с рекламой) используется метод setUserConsent.

Yabbi.setUserConsent(ConsentManager.hasConsent)

С остальными методами Yabbi SDK (для работы с рекламой) вы можете ознакомиться в соответствующем разделе.

Режим отладки

Если вам требуется логирование ошибок и событий, включите режим отладки. По умолчанию он выключен.

Для включения режима отладки воспользуйтесь методом enableLog.

ConsentManager.enableLog(true)

Отслеживание событий

Consent Manager позволяет вам отслеживать события, связанные с согласием пользователя на сбор данных.

Для отслеживания событий необходимо:

  1. Создайте расширение для ViewController и наследуйте его от интерфейса для отлеживания событий.

extension YourViewController: ConsentDelegate {
    
    func onConsentManagerLoaded() {
       // Вызывается когда менеджер готов к показу
    }
    
    func onConsentManagerLoadFailed(_ error: String) {
        // Вызывется если при загрузке произошла ошибка
    }
    
    func onConsentWindowShown() {
        // Вызывается при показе экрана
    }
    
    func onConsentManagerShownFailed(_ error: String) {
        // Вызывется если при показе экрана произошла ошибка
    }
    
    func onConsentWindowClosed(_ hasConsent: Bool) {
       // Вызывается при закрытии экрана
       // hasConsent - определяет дал ли пользователь согласие
    }
    
}
  1. Свяжите ваш ViewController для отслеживания событий с Consent Manager SDK. Обычно ViewController, который работает с Consent Manager, одновременно является и классом для отслеживания событий, поэтому в качестве свойства делегата можно указать self.

ConsentManager.setDelegate(self)

Last updated

Was this helpful?