Mobil inkişafda giriş icazələri və məxfilik: bu nədir, hansı mexanizmlər və necə konfiqurasiya etməli

Müəllif: IT Sectr Dərc olunub: 2026-05-17 Oxuma vaxtı: 11 dəq

Giriş icazələri və məxfilik — mobil inkişafın ən vacib və sürətlə dəyişən sahələrindən biridir. Apple Developer Guidelines (2025)-a görə, 2021-ci ildə ATT (App Tracking Transparency) tətbiq edildikdən sonra istifadəçilərin izlənməyə razılıq nisbəti təxminən 20% təşkil edir. Gəlin iOS və Android-də icazə modellərini, məxfilik tələblərini (ATT, Privacy Manifest, GDPR) və onların tətbiqi ilə bağlı praktiki məsləhətləri nəzərdən keçirək.

Əsas məqamlar

  • Runtime Permission — tətbiq işləyərkən icazə istəmə (Android 6.0+, iOS 8.0+). İstifadəçi imtina edə və ya giriş verə bilər.
  • Android: Normal Permission (avtomatik), Dangerous Permission (runtime sorğusu tələb edir). Permission Group əlaqəli icazələri qruplaşdırır.
  • iOS: ATT (App Tracking Transparency) — IDFA izlənməsi sorğusu. Privacy Manifest — toplanan məlumat növlərinin təsviri. Info.plist Usage Description — hər icazənin istifadə məqsədinin təsviri.
  • GDPR (Ümumi Məlumat Qoruma Qaydası) — Avropa məlumat qoruma qaydası. Şəxsi məlumatların toplanması üçün istifadəçinin açıq razılığını tələb edir.
  • IDFA (iOS) və GAID/AAID (Android) — hədəfləmə və atribusiya üçün istifadə olunan reklam identifikatorları. IDFA-ya giriş üçün ATT tələb olunur.

iOS və Android-də icazə modelləri

İcazə modelləri iOS və Android-də ümumi bir fikri bölüşür: istifadəçi həssas məlumatlara (kamera, mikrofon, yer, kontaktlar) girişə razılıq verməlidir. Lakin tətbiq əhəmiyyətli dərəcədə fərqlənir. Android istifadə anında (runtime) icazə istəyir, iOS Info.plist-də məqsədin təsvirini tələb edir və ilk girişdə sorğu göndərir. Mobil tətbiqdə giriş icazələrinin düzgün tətbiqi təhlükəsizlik və etibarın əsasıdır.

Android 6.0-dan (API 23) əvvəl bütün icazələr quraşdırma zamanı istənirdi — istifadəçi ya hamısını qəbul edir, ya da tətbiqi quraşdırmırdı. Android 6.0 ilə Runtime Permissions meydana gəldi: tətbiq ilk ehtiyac anında icazə istəyir və istifadəçi imtina edə bilər. iOS iOS 8.0-dan bəri oxşar yanaşmadan istifadə edir. Mobil inkişafda giriş icazələrinin təkamülünü başa düşmək intuitiv UX dizayn etməyə kömək edir.

IT Sectr-da biz «minimum icazələr» prinsipinə əməl edirik: yalnız həqiqətən lazım olanı və yalnız lazım olduqda istəyirik. Bu, istifadəçi etibarını artırır: Google-a (2025) görə, ilk işə salmada 5-dən çox icazə istəyən tətbiqlərin qeydiyyat konversiya nisbəti 30% aşağıdır. Mobil tətbiqlərdə bu giriş icazəsi modeli təcrübəmizlə təsdiqlənir.

Parametr iOS Android
MexanizmResursa ilk girişdə sorğuİlk girişdə sorğu (Runtime Permission)
Məqsəd təsviriInfo.plist (Privacy — Usage Description)shouldShowRequestPermissionRationale (istəyə bağlı)
İcazənin ləğviParametrlər → MəxfilikParametrlər → Tətbiqlər → İcazələr
QruplaşdırmaXeyr (hər icazə ayrı)Permission Groups (məs. STORAGE)
Reklam ID-siIDFA (ATT tələb olunur)GAID / AAID (Google Play Services)
MəxfilikPrivacy Manifest (2024-dən)Data Safety Section (Google Play)

Cədvəl 4. iOS və Android icazə modellərinin müqayisəsi. Əsas fərq: iOS Info.plist-də hər icazənin istifadə məqsədinin aydın mətn təsvirini tələb edir. Android istifadəçiyə icazənin nə üçün lazım olduğunu izah etmək üçün shouldShowRequestPermissionRationale təklif edir. Platformalar arasında giriş hüquqlarındakı fərqləri başa düşmək düzgün modeli seçməyə kömək edir.

İcazə növləri (Normal, Dangerous, Runtime)

Normal Permissions — istifadəçinin məxfiliyi üçün təhlükə yaratmayan icazələr. Quraşdırma zamanı avtomatik verilir: INTERNET, ACCESS_NETWORK_STATE, VIBRATE, BLUETOOTH. Tərtibatçı onları kodda istəməlidir. Bu giriş icazəsi təsnifatı məxfilik risk səviyyəsinə uyğundur.

Dangerous Permissions — şəxsi məlumatlara giriş tələb edən icazələr: CAMERA, RECORD_AUDIO, ACCESS_FINE_LOCATION, READ_CONTACTS, READ_CALENDAR, READ_EXTERNAL_STORAGE. Onlar runtime sorğusu tələb edir. Permission Group — əlaqəli icazələr qrupu: istifadəçi CAMERA-ya icazə veribsə, video yazma icazəsi (RECORD_AUDIO? yox, bu ayrı qrupdur) — yox, CAMERA və RECORD_AUDIO müxtəlif qruplardadır.

Runtime Permission — Android-də ActivityCompat.requestPermissions() çağırmaq və ya iOS-da CLLocationManager.requestWhenInUseAuthorization() vasitəsilə istəmək. İstifadəçi cavab verə bilər: Grant (icazə ver), Deny (imtina et) və ya «Bir daha soruşma» (Android-də iki imtinadan sonra). Mobil tətbiqdə giriş icazələrini konfiqurasiya etmək istifadəçi davranışını nəzərə almağı tələb edir.

Runtime Permission

Runtime Permission Android-də hər istifadədən əvvəl cari statusun yoxlanılmasını tələb edir. shouldShowRequestPermissionRationale() metodu, istifadəçi artıq imtina edibsə, true qaytarır — bu, izahatla dialoq göstərmək üçün siqnaldır. iOS-da ekvivalent status yoxlamasıdır: .notDetermined, .denied, .authorized, .restricted. Mobil tətbiq məxfiliyi icazə statusunun daimi monitorinqini tələb edir.

kotlin
// Kotlin — kamera üçün runtime icazə sorğusu
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 kodlarını skan etmək üçün kamera girişi lazımdır")
            }
            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()
        }
    }
}

Bu kod düzgün nümunəni göstərir: statusu yoxla → izahat göstər (lazım olduqda) → icazə istə → nəticəni idarə et. shouldShowRequestPermissionRationale vacib bir metoddur: istifadəçi artıq imtina edibsə, icazənin nə üçün lazım olduğunu izah edən dialoq göstərin. Bu olmadan, istifadəçi daimi olaraq girişi rədd edə bilər.

Məxfilik (ATT, Privacy Manifest, IDFA)

ATT (App Tracking Transparency) — izləmə üçün istifadəçinin açıq razılığını tələb edən Apple freymvorku (iOS 14.5+). Razılıq olmadan, IDFA (Reklamçılar üçün Identifikator) sıfır qaytarır. Flurry-ə (2025) görə, ATT qəbul nisbəti bölgədən və tətbiq növündən asılı olaraq 15–25% təşkil edir. Mobil tətbiqdə giriş icazələrinin idarə edilməsi düzgün freymvorkun seçilməsi ilə başlayır.

Privacy Manifest — tərtibatçının tətbiqin hansı məlumat növlərini və hansı məqsədlərlə topladığını bəyan etdiyi məcburi fayl (2024-cü ildən yeni tətbiqlər üçün, 2025-dən yeniləmələr üçün). Apple icmal zamanı Privacy Manifest-in tətbiqin real davranışına uyğunluğunu yoxlayır. Mobil tətbiqdə məxfilik sənədləşdirilməlidir.

App Tracking Transparency (ATT)

ATT Info.plist açarı NSUserTrackingUsageDescription-ın izləmənin nə üçün lazım olduğuna dair təsvirlə əlavə edilməsini və ATTrackingManager.requestTrackingAuthorization() çağırılmasını tələb edir. Vacib: GDPR razılığını göstərməzdən əvvəl ATT istənilməlidir? Xeyr, ATT ayrı bir Apple sorğusudur. AB-də əvvəlcə GDPR bannerini, sonra ATT-ni göstərin. iOS-da mobil tətbiqdə giriş icazələri məcburi ATT konfiqurasiyası tələb edir.

IDFA reklam atribusiyası və fərdiləşdirmə üçün istifadə olunur. Android-də ekvivalent GAID (Google Advertising ID) və ya AAID (Amazon Advertising ID)-dir. Android 13+-dan etibarən GAID-ə giriş üçün runtime icazəsi (com.google.android.gms.permission.AD_ID) mövcuddur. Mobil tətbiq məxfiliyi reklam identifikatorları üzərində nəzarət tələb edir.

GDPR və istifadəçi razılığı

GDPR (Ümumi Məlumat Qoruma Qaydası) — 2018-ci ilin may ayından qüvvədə olan AB qaydası. Tələb edir: şəxsi məlumatların toplanması üçün açıq razılıq, giriş icazələrini idarə etmək hüququ, məlumatların silinməsi hüququ (unutulma hüququ), məlumat pozuntuları barədə bildiriş və böyük şirkətlər üçün DPO (Məlumat Qoruma Məmuru) təyin edilməsi. Qayda həmçinin mobil tətbiqlərdə şəffaf giriş icazəsi modelini müəyyən edir.

Mobil tətbiqlər üçün GDPR deməkdir: ilk işə salmada razılıq bannerinin göstərilməsi (hansı məlumatların hansı məqsədlərlə toplandığının aydın təsviri ilə), qeyri-vacib icazələrdən imtina etmək imkanı, parametrlərdə «Hesabı sil» düyməsi. Məşhur GDPR alətləri: OneTrust, Google-ın Razılıq İdarəetmə Platforması (CMP), Usercentrics. Mobil tətbiqdə məxfiliyin təmin edilməsi CMP inteqrasiyasını tələb edir.

IT Sectr-da biz GDPR razılığını onboarding mərhələsində tətbiq edirik: istifadəçi aydın təsvir görür, hansı məlumatların toplanmasına icazə verəcəyini seçir və parametrlərdə seçimini dəyişə bilər. Bu, təkcə hüquqi tələb deyil, həm də etibar amilidir: şəffaf tətbiqlərin saxlama nisbəti 20% daha yüksəkdir (IT Sectr məlumatları, 2024). Mobil tətbiq məxfiliyi və giriş icazələrinin idarə edilməsi istifadəçilərin saxlanmasının əsas amilləridir.

Razılıq olmalıdır: könüllü (yox yox deməkdir), konkret («hər şey üçün» razılıq toplana bilməz), məlumatlı (istifadəçi nəyə razı olduğunu bilir) və birmənalı (aktiv hərəkət tələb olunur — işarə qutusu, düymə). Əvvəlcədən işarələnmiş qutular GDPR tərəfindən qadağandır. Pozuntuya görə cərimələr — qlobal dövriyyənin 4%-i və ya 20 milyon avroya qədər. Mobil tətbiqdə giriş icazələrinin düzgün konfiqurasiyası cərimələrdən qaçmağa kömək edir.

Praktiki məsləhətlər

IT Sectr təcrübəsinə əsaslanaraq — icazələr və məxfiliklə işləmək üçün bir neçə praktiki tövsiyə. İcazələri kontekstdə istəyin: sistem dialoqundan əvvəl icazənin nə üçün lazım olduğunu izah edən ekran göstərin. Məsələn, kameranı istəməzdən əvvəl göstərin: «QR kodlarını skan etmək üçün kamera girişinə ehtiyacımız var» — bu, razılıq ehtimalını 40% artırır. Mobil tətbiqlərdə giriş icazələri istifadə kontekstində istənilməlidir.

İlk işə salmada bütün icazələri istəməyin. Kontekstli icazə sorğusu (istifadə anında istəmə) onboarding zamanı istəməkdən 60% daha yüksək konversiya verir. İmtinanı nəzakətlə idarə edin: istifadəçi imtina edərsə, funksionallığı bloklamayın, alternativ təklif edin (məsələn, yer əvəzinə əl ilə ünvan daxil etmə). Mobil tətbiq məxfiliyi bu yanaşmadan faydalanır.

iOS üçün mütləq Privacy Manifest əlavə edin (2025-dən bütün tətbiqlər üçün məcburi). Android üçün Google Play Console-da Data Safety Section təyin edin. Bütün icazələrin statusunu lokal olaraq saxlayın və sistem parametrləri ilə sinxronizə edin. Müntəzəm olaraq uyğunluğu yoxlayın — qanunvericilik sürətlə dəyişir. Mobil tətbiqin giriş icazəsi modeli və məxfiliyi daimi audit tələb edir.

Tez-tez verilən suallar

ATT (App Tracking Transparency) nədir?

ATT istifadəçini izləmək üçün açıq sorğu tələb edən Apple freymvorkudur (iOS 14.5+). Razılıq olmadan, IDFA sıfır qaytarır. ATT sorğusu izləmə məqsədinin aydın təsvirini ehtiva etməlidir. Qəbul nisbəti tətbiqdən asılı olaraq 15–25% təşkil edir. iOS-da mobil tətbiqdə giriş icazələri izləmə məqsədinin aydın təsvirini tələb edir.

Android-də Normal və Dangerous Permission arasındakı fərq nədir?

Normal Permissions quraşdırma zamanı avtomatik verilir — sorğu tələb olunmur (INTERNET, VIBRATE). Dangerous Permissions runtime sorğusu tələb edir (CAMERA, LOCATION, MICROPHONE) — istifadəçi istənilən vaxt imtina edə bilər. Normal məxfiliyə təsir etmir; Dangerous şəxsi məlumatlara giriş verir.

GDPR mobil tətbiqlərə necə təsir edir?

GDPR tələb edir: məlumat toplanması üçün açıq razılıq, hesab və məlumatların silinməsi imkanı, pozuntu bildirişləri. Tətbiqlər üçün: ilk işə salmada razılıq banneri, məlumat toplama məqsədlərinin aydın təsviri, parametrlərdə «Hesabı sil» düyməsi, giriş icazələrinin idarə edilməsi daxil olmaqla. Cərimə — dövriyyənin 4%-nə qədər.

IDFA nədir və nə üçün lazımdır?

IDFA (Reklamçılar üçün Identifikator) iOS-da cihazın unikal reklam identifikatorudur. Reklam hədəfləmə və quraşdırma atribusiyası üçün istifadə olunur. iOS 14.5-dən etibarən IDFA-ya giriş üçün ATT vasitəsilə razılıq tələb olunur. Android-də ekvivalent GAID (Google Advertising ID)-dir. Mobil tətbiq məxfiliyi reklam identifikatorları üzərində nəzarət tələb edir.

Xülasə

  • Runtime Permission — icazələrin «istifadə anında» istənilməsinin müasir modeli, quraşdırma zamanı deyil. İstifadəçi etibarını artırır.
  • Android: Normal (avtomatik) və Dangerous (runtime) icazələr. Qruplaşdırma üçün Permission Groups. İzahat üçün shouldShowRequestPermissionRationale.
  • iOS: IDFA üçün ATT (App Tracking Transparency). Privacy Manifest (2025-dən məcburi). Hər icazə üçün Info.plist-də Usage Description.
  • GDPR — Avropa qaydası: açıq razılıq, silmə hüququ, şəffaflıq. Dövriyyənin 4%-nə qədər cərimə. Alətlər: OneTrust, Google CMP.
  • IDFA (iOS) və GAID/AAID (Android) — reklam identifikatorları. IDFA üçün ATT tələb olunur (qəbul nisbəti 15–25%).
  • Ən yaxşı təcrübələr: kontekstli sorğular (60% daha yüksək konversiya), imtinanın nəzakətli idarə edilməsi, Privacy Manifest, müntəzəm uyğunluq auditi.
  • Mobil tətbiqdə giriş icazələri və məxfilik — istifadəçi etibarının əsası. Şəffaf tətbiqlərin saxlama nisbəti 20% daha yüksəkdir (IT Sectr məlumatları, 2024).

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et