Экран пользовательского согласия
Библиотека для демонстрации готового экрана сбора согласия на сбор, обработку и использования данных о пользователе.
Версия релиза 1.0.3 | Дата релиза 10.04.2023
Информация, приведенная ниже, не является юридической консультацией. Yabbi не несет ответственности за последствия ее использования. Перед принятием юридически значимых решений рекомендуется проконсультироваться с юристом.
Общая информация
Для соответствия требованиям магазина приложений и законов, регулирующих сбор, обработку и использование персональных данных пользователя, требуется получение его согласия на вышеуказанные действия. При получении отказа следует не собирать никаких данных о пользователе.
Помимо согласия пользователя, вам потребуется подготовить надлежащим образом политику конфиденциальности и другие документы, требуемые магазинами приложений и законодательством тех стран, в которых опубликовано ваше приложение.
Получения однозначного согласия на сбор, обработку и использование пользовательских данных требуют большинство стран. Вот несколько основных документов, описывающих данный процесс:
Федеральный закон от 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 и Consent Manager
Обычно получение согласия пользователя происходит на специальном экране при первом запуске приложения — consent-screen.
В Yabbi SDK реализован такой экран, вы можете добавить и настроить его с помощью работы с библиотекой Consent Manager. Вы можете использовать его, чтобы не создавать Consent Screen самостоятельно.
Демо-приложение
Используйте наше демо-приложение в качестве примера.
Установка
Настройка Podfile
Установите Yabbi SDK. Подробно процесс установки описан в соответствующем разделе.
Добавьте в файл
Podfile
зависимость для установки Consent manager.platform :ios, '13.0' target 'Sample' do use_frameworks! # подключение зависимости Consent Manager SDK pod 'YabbiConsentManager', "1.0.3" end
Cохраните файл и нажмите и откройте терминал в папке проекта.
Выполните в терминале команду
pod install
для установки зависимостей.
Настройка библиотеки Consent Manager
Перед использование экрана пользовательского согласия необходимо настроить его.
Для того, чтобы задать параметры, вызывайте методы переменной 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")
}
Работа с библиотекой Consent Manager
Инициализация
Мы рекомендуем вызывать инициализацию 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 позволяет вам отслеживать события, связанные с согласием пользователя на сбор данных.
Для отслеживания событий необходимо:
Создайте расширение для
ViewController
и наследуйте его от интерфейса для отлеживания событий.
extension YourViewController: ConsentDelegate {
func onConsentManagerLoaded() {
// Вызывается когда менеджер готов к показу
}
func onConsentManagerLoadFailed(_ error: String) {
// Вызывется если при загрузке произошла ошибка
}
func onConsentWindowShown() {
// Вызывается при показе экрана
}
func onConsentManagerShownFailed(_ error: String) {
// Вызывется если при показе экрана произошла ошибка
}
func onConsentWindowClosed(_ hasConsent: Bool) {
// Вызывается при закрытии экрана
// hasConsent - определяет дал ли пользователь согласие
}
}
Свяжите ваш
ViewController
для отслеживания событий с Consent Manager SDK. ОбычноViewController
, который работает с Consent Manager, одновременно является и классом для отслеживания событий, поэтому в качестве свойства делегата можно указатьself
.
ConsentManager.setDelegate(self)
Last updated
Was this helpful?