مجوزهای دسترسی و حریم خصوصی در توسعه موبایل: چیست، چه مکانیسم‌هایی و چگونه تنظیم کنیم

نویسنده: IT Sectr منتشر شده: 2026-05-17 زمان مطالعه: 11 دقیقه

مجوزهای دسترسی و حریم خصوصی — یکی از مهم‌ترین و سریع‌ترین حوزه‌های در حال تغییر توسعه موبایل است. طبق Apple Developer Guidelines (2025)، از زمان معرفی ATT (App Tracking Transparency) در سال 2021، میزان رضایت کاربران برای ردیابی حدود 20% است. بیایید مدل‌های مجوز در iOS و Android، الزامات حریم خصوصی (ATT، Privacy Manifest، GDPR) و نکات عملی برای پیاده‌سازی آن‌ها را بررسی کنیم.

نکات کلیدی

  • Runtime Permission — درخواست مجوز در حین اجرای برنامه (Android 6.0+، iOS 8.0+). کاربر می‌تواند رد کند یا دسترسی بدهد.
  • Android: Normal Permission (خودکار)، Dangerous Permission (نیاز به درخواست runtime). Permission Group مجوزهای مرتبط را گروه‌بندی می‌کند.
  • iOS: ATT (App Tracking Transparency) — درخواست ردیابی IDFA. Privacy Manifest — توصیف انواع داده‌های جمع‌آوری شده. Info.plist Usage Description — توصیف هدف استفاده از هر مجوز.
  • GDPR (مقررات عمومی حفاظت از داده) — مقررات اروپایی حفاظت از داده. نیاز به رضایت صریح کاربر برای جمع‌آوری داده‌های شخصی دارد.
  • IDFA (iOS) و GAID/AAID (Android) — شناسه‌های تبلیغاتی که برای هدف‌یابی و انتساب استفاده می‌شوند. برای دسترسی به IDFA نیاز به ATT است.

مدل‌های مجوز در iOS و Android

مدل‌های مجوز در 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)
شناسه تبلیغاتیIDFA (نیاز به ATT)GAID / AAID (Google Play Services)
حریم خصوصیPrivacy Manifest (از 2024)Data Safety Section (Google Play)

جدول 4. مقایسه مدل‌های مجوز iOS و Android. تفاوت اصلی: iOS نیاز به توصیف متنی صریح از هدف استفاده از هر مجوز در Info.plist دارد. Android shouldShowRequestPermissionRationale را برای توضیح به کاربر ارائه می‌دهد که چرا مجوز لازم است. درک تفاوت‌های حقوق دسترسی بین پلتفرم‌ها به انتخاب مدل مناسب کمک می‌کند.

انواع مجوز (Normal، Dangerous، Runtime)

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

Runtime Permission در Android نیاز به بررسی وضعیت فعلی قبل از هر استفاده دارد. متد shouldShowRequestPermissionRationale() اگر کاربر قبلاً رد کرده باشد true برمی‌گرداند — این سیگنالی برای نمایش گفتگو با توضیح است. در iOS، معادل بررسی وضعیت است: .notDetermined، .denied، .authorized، .restricted. حریم خصوصی برنامه موبایل نیاز به نظارت مستمر بر وضعیت مجوزها دارد.

kotlin
// 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، Privacy Manifest، IDFA)

ATT (App Tracking Transparency) — فریمورک اپل (iOS 14.5+) که نیاز به رضایت صریح کاربر برای ردیابی دارد. بدون رضایت، IDFA (شناسه برای تبلیغ‌کنندگان) صفر برمی‌گرداند. طبق Flurry (2025)، نرخ پذیرش ATT بسته به منطقه و نوع برنامه 15–25% است. مدیریت مجوزهای دسترسی در یک برنامه موبایل با انتخاب فریمورک مناسب شروع می‌شود.

Privacy Manifest — یک فایل اجباری (از 2024 برای برنامه‌های جدید، از 2025 برای به‌روزرسانی‌ها) که در آن توسعه‌دهنده اعلام می‌کند برنامه چه نوع داده‌هایی را و برای چه اهدافی جمع‌آوری می‌کند. اپل در طول بررسی، مطابقت Privacy Manifest را با رفتار واقعی برنامه بررسی می‌کند. حریم خصوصی در یک برنامه موبایل باید مستند شود.

App Tracking Transparency (ATT)

ATT نیاز به افزودن کلید Info.plist NSUserTrackingUsageDescription با توضیح اینکه چرا ردیابی لازم است و فراخوانی ATTrackingManager.requestTrackingAuthorization() دارد. مهم: آیا باید ATT را قبل از نمایش رضایت GDPR درخواست کرد؟ خیر، ATT یک درخواست جداگانه اپل است. در اتحادیه اروپا، ابتدا بنر 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 و رضایت کاربر

GDPR (مقررات عمومی حفاظت از داده) — مقررات اتحادیه اروپا که از مه 2018 لازم‌الاجرا است. الزامات: رضایت صریح برای جمع‌آوری داده‌های شخصی، حق مدیریت مجوزهای دسترسی، حق حذف داده‌ها (حق فراموش شدن)، اعلان نقض داده‌ها و انتصاب DPO (افسر حفاظت از داده) برای شرکت‌های بزرگ. این مقررات همچنین یک مدل شفاف مجوز دسترسی در برنامه‌های موبایل تعریف می‌کند.

برای برنامه‌های موبایل، GDPR به معنای: نمایش بنر رضایت در اولین راه‌اندازی (با توضیح واضح اینکه چه داده‌هایی برای چه اهدافی جمع‌آوری می‌شوند)، امکان رد مجوزهای غیرضروری و دکمه «حذف حساب» در تنظیمات است. ابزارهای محبوب GDPR: OneTrust، پلتفرم مدیریت رضایت (CMP) گوگل، 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 (App Tracking Transparency) چیست؟

ATT یک فریمورک اپل (iOS 14.5+) است که نیاز به درخواست صریح برای ردیابی کاربر دارد. بدون رضایت، IDFA صفر برمی‌گرداند. درخواست ATT باید شامل توضیح واضحی از هدف ردیابی باشد. نرخ پذیرش بسته به برنامه 15–25% است. مجوزهای دسترسی در یک برنامه موبایل در iOS نیاز به توضیح واضح هدف ردیابی دارند.

تفاوت بین Normal و Dangerous Permission در Android چیست؟

Normal Permissions به طور خودکار در زمان نصب اعطا می‌شوند — نیازی به درخواست ندارند (INTERNET، VIBRATE). Dangerous Permissions نیاز به درخواست runtime دارند (CAMERA، LOCATION، MICROPHONE) — کاربر می‌تواند در هر زمانی رد کند. Normal بر حریم خصوصی تأثیر نمی‌گذارد؛ Dangerous دسترسی به داده‌های شخصی را فراهم می‌کند.

GDPR چگونه بر برنامه‌های موبایل تأثیر می‌گذارد؟

GDPR نیاز دارد: رضایت صریح برای جمع‌آوری داده، امکان حذف حساب و داده، اعلان نقض. برای برنامه‌ها: بنر رضایت در اولین راه‌اندازی، توضیح واضح اهداف جمع‌آوری داده، دکمه «حذف حساب» در تنظیمات، از جمله مدیریت مجوزهای دسترسی. جریمه — تا 4% گردش مالی.

IDFA چیست و چرا لازم است؟

IDFA (شناسه برای تبلیغ‌کنندگان) یک شناسه تبلیغاتی منحصر به فرد دستگاه در iOS است. برای هدف‌یابی تبلیغات و انتساب نصب استفاده می‌شود. از iOS 14.5، برای دسترسی به IDFA باید از طریق ATT رضایت گرفت. در Android، معادل GAID (Google Advertising ID) است. حریم خصوصی برنامه موبایل نیاز به کنترل بر شناسه‌های تبلیغاتی دارد.

خلاصه

  • Runtime Permission — مدل مدرن درخواست مجوزها «در زمان استفاده»، نه در زمان نصب. اعتماد کاربر را افزایش می‌دهد.
  • Android: مجوزهای Normal (خودکار) و Dangerous (runtime). Permission Groups برای گروه‌بندی. shouldShowRequestPermissionRationale برای توضیح.
  • iOS: ATT (App Tracking Transparency) برای IDFA. Privacy Manifest (اجباری از 2025). Usage Description در Info.plist برای هر مجوز.
  • GDPR — مقررات اروپا: رضایت صریح، حق حذف، شفافیت. جریمه تا 4% گردش مالی. ابزارها: OneTrust، Google CMP.
  • IDFA (iOS) و GAID/AAID (Android) — شناسه‌های تبلیغاتی. ATT برای IDFA لازم است (نرخ پذیرش 15–25%).
  • بهترین روش‌ها: درخواست‌های زمینه‌ای (60% تبدیل بالاتر)، مدیریت ظریف رد، Privacy Manifest، حسابرسی منظم انطباق.
  • مجوزهای دسترسی در برنامه موبایل و حریم خصوصی — پایه اعتماد کاربر. برنامه‌های شفاف نرخ نگهداشت 20% بالاتری دارند (داده‌های IT Sectr، 2024).

ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد

IT Sectr از سال 2017 برنامه‌های iOS و Android را برای استارتاپ‌ها و کسب‌وکارها ایجاد می‌کند. ما به شما مشاوره می‌دهیم و بهترین راه‌حل را پیشنهاد خواهیم کرد.

بحث درباره پروژه