Права на достъп и поверителност — една от най-важните и бързо променящи се области на мобилното разработване. Според Apple Developer Guidelines (2025), от въвеждането на ATT (App Tracking Transparency) през 2021 г., процентът на съгласие на потребителите за проследяване е около 20%. Нека разгледаме моделите на разрешения на iOS и Android, изискванията за поверителност (ATT, Privacy Manifest, GDPR) и практически съвети за тяхното внедряване.
Основни точки
Модели на разрешения на iOS и Android споделят обща идея: потребителят трябва да даде съгласие за достъп до чувствителни данни (камера, микрофон, геолокация, контакти). Въпреки това, внедряването се различава значително. Android изисква разрешения в момента на използване (runtime), iOS изисква описание на целта в Info.plist и иска при първи достъп. Правилното внедряване на правата на достъп в мобилно приложение е основата на сигурността и доверието.
Преди Android 6.0 (API 23) всички разрешения се изискваха при инсталиране — потребителят или приемаше всички, или не инсталираше приложението. С Android 6.0 бяха въведени Runtime Permissions: приложението иска разрешение в момента на първа необходимост и потребителят може да откаже. iOS използва подобен подход от iOS 8.0. Познаването на еволюцията на правата на достъп в мобилното разработване помага за проектирането на интуитивен UX.
В IT Sectr следваме принципа на «минималните разрешения»: искаме само това, което наистина е необходимо, и само когато е необходимо. Това повишава доверието на потребителите: според Google (2025), приложенията, които искат повече от 5 разрешения при първо стартиране, имат 30% по-нисък процент на конверсия на регистрация. Този модел на права на достъп в мобилните приложения се потвърждава от нашата практика.
| Параметър | iOS | Android |
|---|---|---|
| Механизъм | Искане при първи достъп до ресурс | Искане при първи достъп (Runtime Permission) |
| Описание на целта | Info.plist (Privacy — Usage Description) | shouldShowRequestPermissionRationale (опционално) |
| Оттегляне на разрешение | Настройки → Поверителност | Настройки → Приложения → Разрешения |
| Групиране | Не (всяко разрешение отделно) | Permission Groups (напр. STORAGE) |
| Рекламен ID | IDFA (изисква ATT) | GAID / AAID (Google Play Services) |
| Поверителност | Privacy Manifest (от 2024) | Data Safety Section (Google Play) |
Таблица 4. Сравнение на моделите на разрешения на iOS и Android. Основната разлика: iOS изисква изрично текстово описание на целта на използване на всяко разрешение в Info.plist. Android предлага shouldShowRequestPermissionRationale, за да обясни на потребителя защо е необходимо разрешението. Разбирането на разликите в правата на достъп между платформите помага да изберете правилния модел.
Normal Permissions — разрешения, които не представляват заплаха за поверителността на потребителя. Те се предоставят автоматично при инсталиране: INTERNET, ACCESS_NETWORK_STATE, VIBRATE, BLUETOOTH. Разработчикът не трябва да ги иска в кода. Тази класификация на правата на достъп съответства на нивото на риск за поверителността.
Dangerous Permissions — разрешения, които изискват достъп до лични данни: CAMERA, RECORD_AUDIO, ACCESS_FINE_LOCATION, READ_CONTACTS, READ_CALENDAR, READ_EXTERNAL_STORAGE. Те изискват runtime искане. Permission Group — група от свързани разрешения: ако потребителят е разрешил CAMERA, разрешението за запис на видео (RECORD_AUDIO? не, това е отделна група) — не, CAMERA и RECORD_AUDIO са в различни групи.
Runtime Permission — извикване на ActivityCompat.requestPermissions() на Android или искане чрез CLLocationManager.requestWhenInUseAuthorization() на iOS. Потребителят може да отговори: Grant (разреши), Deny (откажи) или «Не питай повече» (на Android след два отказа). Конфигурирането на правата на достъп в мобилно приложение изисква отчитане на поведението на потребителя.
Runtime Permission на Android изисква проверка на текущото състояние преди всяка употреба. Методът shouldShowRequestPermissionRationale() връща true, ако потребителят вече е отказал — това е сигнал за показване на диалогов прозорец с обяснение. На iOS, еквивалентът е проверка на състоянието: .notDetermined, .denied, .authorized, .restricted. Поверителността на мобилното приложение изисква постоянно наблюдение на състоянието на разрешенията.
// Kotlin — искане на runtime разрешение за камера
class CameraActivity : AppCompatActivity() {
companion object {
private const val CAMERA_PERMISSION_CODE = 100
}
private fun requestCameraPermission() {
when {
ContextCompat.checkSelfPermission(
this, Manifest.permission.CAMERA
) == PackageManager.PERMISSION_GRANTED -> {
openCamera()
}
shouldShowRequestPermissionRationale(Manifest.permission.CAMERA) -> {
showRationaleDialog("Необходим е достъп до камера за сканиране на QR кодове")
}
else -> {
requestPermissions(
arrayOf(Manifest.permission.CAMERA),
CAMERA_PERMISSION_CODE
)
}
}
}
override fun onRequestPermissionsResult(
requestCode: Int,
permissions: Array<String>,
grantResults: IntArray
) {
if (requestCode == CAMERA_PERMISSION_CODE &&
grantResults.firstOrNull() == PackageManager.PERMISSION_GRANTED
) {
openCamera()
}
}
}
Този код показва правилния модел: провери състоянието → покажи обяснение (ако е необходимо) → поискай разрешение → обработи резултата. shouldShowRequestPermissionRationale е важен метод: ако потребителят вече е отказал, покажете диалогов прозорец, обясняващ защо е необходимо разрешението. Без това, потребителят може окончателно да откаже достъп.
ATT (App Tracking Transparency) — рамка на Apple (iOS 14.5+), която изисква изрично съгласие на потребителя за проследяване. Без съгласие, IDFA (Identifier for Advertisers) връща нули. Според Flurry (2025), степента на приемане на ATT е 15–25% в зависимост от региона и типа на приложението. Управлението на правата на достъп в мобилно приложение започва с избора на правилната рамка.
Privacy Manifest — задължителен файл (от 2024 г. за нови приложения, от 2025 г. за актуализации), в който разработчикът декларира какви типове данни събира приложението и за какви цели. Apple проверява съответствието на Privacy Manifest с реалното поведение на приложението по време на преглед. Поверителността в мобилно приложение трябва да бъде документирана.
ATT изисква добавяне на ключа Info.plist NSUserTrackingUsageDescription с описание защо е необходимо проследяване и извикване на ATTrackingManager.requestTrackingAuthorization(). Важно: трябва ли да поискате ATT преди показване на съгласие GDPR? Не, ATT е отделно искане на Apple. В ЕС първо покажете GDPR банер, след това ATT. Правата на достъп в мобилно приложение на iOS изискват задължителна конфигурация на ATT.
IDFA се използва за рекламна атрибуция и персонализация. На Android, еквивалентът е GAID (Google Advertising ID) или AAID (Amazon Advertising ID). От Android 13+ съществува runtime разрешение за достъп до GAID (com.google.android.gms.permission.AD_ID). Поверителността на мобилното приложение изисква контрол върху рекламните идентификатори.
GDPR (Общ регламент за защита на данните) — регламент на ЕС, в сила от май 2018 г. Изисква: изрично съгласие за събиране на лични данни, право на управление на правата на достъп, право на изтриване на данни (право да бъдеш забравен), уведомления за нарушение на данни и назначаване на DPO (служител по защита на данните) за големи компании. Регламентът също така определя прозрачен модел на права на достъп в мобилните приложения.
За мобилните приложения GDPR означава: показване на банер за съгласие при първо стартиране (с ясно описание на това какви данни се събират и за какви цели), възможност за отказ от незадължителни разрешения и бутон «Изтриване на акаунт» в настройките. Популярни инструменти за GDPR: OneTrust, платформата за управление на съгласие (CMP) на Google, Usercentrics. Осигуряването на поверителност в мобилно приложение изисква CMP интеграция.
В IT Sectr внедряваме GDPR съгласие на етапа на въвеждане: потребителят вижда ясно описание, избира кои данни разрешава да се събират и може да промени избора си в настройките. Това не е само законово изискване, но и фактор на доверие: прозрачните приложения имат 20% по-високо задържане (данни на IT Sectr, 2024). Поверителността на мобилното приложение и управлението на правата на достъп са ключови фактори за задържане на потребителите.
Съгласието трябва да бъде: доброволно (не означава не), конкретно (не може да се събира съгласие „за всичко“), информирано (потребителят знае за какво дава съгласие) и недвусмислено (изисква се активно действие — квадратче за отметка, бутон). Предварително маркираните квадратчета са забранени от GDPR. Глоби за нарушение — до 4% от глобалния оборот или 20 милиона евро. Правилната конфигурация на правата на достъп в мобилно приложение помага да се избегнат глоби.
Въз основа на опита на IT Sectr — няколко практически препоръки за работа с разрешения и поверителност. Искайте разрешения в контекст: покажете екран, който обяснява защо е необходимо разрешението, преди системния диалог. Например, преди да поискате камера, покажете: «Нуждаем се от достъп до камера за сканиране на QR кодове» — това увеличава вероятността за съгласие с 40%. Правата на достъп в мобилните приложения трябва да се искат в контекста на използване.
Не искайте всички разрешения при първо стартиране. Контекстуалното искане на разрешение (искане в момента на използване) дава 60% по-висока конверсия от искането по време на въвеждане. Обработвайте отказа елегантно: ако потребителят откаже, не блокирайте функционалността, а предложете алтернатива (напр. ръчно въвеждане на адрес вместо геолокация). Поверителността в мобилното приложение печели от този подход.
За iOS не забравяйте да добавите Privacy Manifest (задължително за всички приложения от 2025 г.). За Android посочете секцията за сигурност на данните в Google Play Console. Съхранявайте състоянието на всички разрешения локално и синхронизирайте с настройките на системата. Редовно проверявайте съответствието — законодателството се променя бързо. Моделът на права на достъп и поверителността на мобилното приложение изискват постоянен одит.
Често задавани въпроси
ATT е рамка на Apple (iOS 14.5+), която изисква изрично искане за проследяване на потребителя. Без съгласие, IDFA връща нули. ATT искането трябва да съдържа ясно описание на целта на проследяване. Степента на приемане е 15–25% в зависимост от приложението. Правата на достъп в мобилно приложение на iOS изискват ясно описание на целта на проследяване.
Normal Permissions се предоставят автоматично при инсталиране — не изискват искане (INTERNET, VIBRATE). Dangerous Permissions изискват runtime искане (CAMERA, LOCATION, MICROPHONE) — потребителят може да откаже по всяко време. Normal не засяга поверителността; Dangerous предоставя достъп до лични данни.
GDPR изисква: изрично съгласие за събиране на данни, възможност за изтриване на акаунт и данни, уведомления за нарушения. За приложения: банер за съгласие при първо стартиране, ясно описание на целите на събиране на данни, бутон «Изтриване на акаунт» в настройките, включително управление на правата на достъп. Глоба — до 4% от оборота.
IDFA (Identifier for Advertisers) е уникален рекламен идентификатор на устройството на iOS. Използва се за насочване на реклами и атрибуция на инсталации. От iOS 14.5, за достъп до IDFA е необходимо съгласие чрез ATT. На Android, еквивалентът е GAID (Google Advertising ID). Поверителността на мобилното приложение изисква контрол върху рекламните идентификатори.
Обобщение
Ще разработим мобилно приложение под ключ
IT Sectr създава iOS и Android приложения за стартъпи и бизнеси от 2017 г. Ще ви консултираме и ще предложим най-доброто решение.