ATT iOS: bu nima, kuzatish so'rovi mexanizmi va IDFA

Muallif: IT Sectr Nashr etilgan: 2026-05-20 O'qish vaqti: 10 daq

App Tracking Transparency (ATT) — bu iOS mexanizmi bo'lib, ilovalar va veb-saytlarda kuzatishdan oldin reklama identifikatori IDFA ga kirish uchun foydalanuvchining aniq roziligini talab qiladi. iOS 14.5 da joriy qilingan ATT barcha dasturchilarni kuzatish ruxsati so'rovi bilan tizim dialogini ko'rsatishga majbur qildi. Apple Developer Documentation ma'lumotlariga ko'ra, maqsadli reklama yoki atributsiya uchun IDFA dan foydalanadigan har bir ilova ATT framework ini integratsiya qilishi va kirish ruxsatini olishi kerak.

Asosiy ma'lumotlar

  • ATT — App Tracking Transparency, iOS 14.5+ da kuzatish so'rovi frameworki
  • IDFA — qurilmaning reklama identifikatori, roziliksiz kirish cheklangan
  • Tizim dialogi — o'zgartirib bo'lmaydigan standart ilova matni bilan pop-up
  • Kuzatish ruxsati — reklama ko'rsatish va o'rnatishlarni atributsiya qilish uchun majburiy so'rov
  • Rad etish — foydalanuvchi istalgan vaqtda Sozlamalar orqali ruxsatni bekor qilishi mumkin

ATT (App Tracking Transparency) nima?

App Tracking Transparency — bu Apple tomonidan iOS 14.5 da taqdim etilgan foydalanuvchi maxfiyligini himoya qilish frameworki. U ilovalardan kuzatish uchun foydalanishdan oldin qurilmaning reklama identifikatoriga (IDFA) kirish uchun aniq ruxsat olishni talab qiladi.

ATT paydo bo'lgunga qadar dasturchilar IDFA ni so'rovsiz o'qiy olishar edi, bu reklama tarmoqlariga foydalanuvchi profillarini yaratish va ularning faoliyatini ilovalar va saytlar o'rtasida kuzatish imkonini berardi. Apple bunday yondashuvni maxfiylik buzilishi deb atadi va majburiy rozilik dialogini joriy qildi.

Framework iOS 14.0 dan boshlab mavjud, ammo IDFA dan foydalanadigan barcha ilovalar uchun 2021 yil aprel oyida iOS 14.5 chiqishi bilan majburiy bo'ldi. Flurry Analytics ma'lumotlariga ko'ra, ATT joriy qilingandan so'ng, AQSh foydalanuvchilarining 25% dan kami kuzatishga rozilik berdi, bu mobil reklama bozorini tubdan o'zgartirdi.

ATT ruxsat mavjudligini ilova o'zgartira olmaydigan yoki chetlab o'ta olmaydigan maxsus tizim dialogi orqali tekshiradi. Foydalanuvchi dasturchi tomonidan taqdim etilgan matn bilan standart pop-upni ko'radi va “Ruxsat berish” yoki “Ilovadan kuzatmaslikni so'rash” ni tanlaydi.

ATT iOS da maxfiylik bilan qanday bog'liq

Apple ATT ni App Store dagi Privacy Nutrition Label va Privacy Manifestni ham o'z ichiga olgan umumiy maxfiylik strategiyasining bir qismi sifatida joylashtiradi. Uchala mexanizm birgalikda ishlaydi: yorliqlar ilova qanday ma'lumotlarni to'planishini ko'rsatadi, Manifest API dan foydalanish sabablarini e'lon qiladi, ATT esa foydalanuvchiga kuzatish ustidan nazorat beradi.

Kuzatishni rad etish ilovaning ishlashini bloklamaydi — foydalanuvchi barcha funksiyalardan foydalanishda davom etishi mumkin, ammo reklama tarmoqlari shaxsiylashtirish va atributsiya uchun IDFA ni olmaydi. IDFA ga alternativa sifatida Apple ning SKAdNetwork va Probabilistic Attribution chiqdi.

Branch Metrics ma'lumotlariga ko'ra, ATT joriy qilingandan so'ng, global miqyosda IDFA oladigan ilovalar ulushi 70% dan 20% gacha kamaydi. Bu o'rnatishlarni atributsiya qilish va reklama orqali monetizatsiya yondashuvlarini qayta ko'rib chiqishga olib keldi.

iOS 15 va 16 dagi o'zgarishlar

iOS 15 da Apple ATT talablarini kuchaytirmadi, lekin App Privacy Report — ilovalar sensorlar va ma'lumotlarga qanchalik tez-tez murojaat qilishini ko'rsatadigan hisobotni qo'shdi. iOS 16 nazoratni kengaytirdi: foydalanuvchi istalgan vaqtda Sozlamalar → Maxfiylik → Kuzatish orqali kuzatish sozlamalarini o'zgartirishi mumkin.

Muhim: agar foydalanuvchi ATT dialogida “Ilovadan kuzatmaslikni so'rash” ni tanlasa, ilova IDFA qiymatini olmaydi, uning o'rniga nollar qatori — 00000000-0000-0000-0000-000000000000 qaytariladi. IDFA ni boshqa usulda yoki aylanma yo'llar bilan o'qishga urinish App Store da ilovani rad etilishiga olib keladi.

iOS 17 dan boshlab, Apple tekshiruvlarni kuchaytirdi: agar ilova ATT tizim dialogini ko'rsatmasdan IDFA so'rasa, u bo'sh identifikator emas, balki OT darajasida rad javobini oladi. Bu foydalanuvchining xabarisiz IDFA ni fon to'plash imkoniyatini istisno qiladi.

iOS da kuzatish so'rovi qanday ishlaydi

ATT so'rovi jarayoni uch bosqichdan iborat: statusni tekshirish, tizim dialogini ko'rsatish va javobni qayta ishlash. Dasturchi hech qanday bosqichni o'tkazib yubora olmaydi — OT har bir bosqichni nazorat qiladi.

Avtorizatsiya statusini tekshirish

Dialogni chaqirishdan oldin ilova ATTrackingManager orqali joriy statusni tekshirishi kerak. Mumkin bo'lgan statuslar: notDetermined (hali so'ralmagan), restricted (qurilma siyosatlari bilan taqiqlangan), denied (foydalanuvchi rad etgan), authorized (ruxsat berilgan).

Agar status allaqachon aniqlangan bo'lsa (authorized yoki denied), dialogni qayta chaqirish mumkin emas — foydalanuvchi yakuniy qaror qilgan. Qarorni o'zgartirishning yagona yo'li — iOS tizim sozlamalari orqali.

Statusni tekshirish uchun ATTrackingManager.trackingAuthorizationStatus xususiyati ishlatiladi. Chaqiruv asosiy oqimda amalga oshirilishi kerak, chunki tizim dialogi UI komponentidir.

swift
import AppTrackingTransparency
import AdSupport

func checkTrackingStatus() {
    let status = ATTrackingManager.trackingAuthorizationStatus
    switch status {
    case .notDetermined:
        requestTrackingPermission()
    case .authorized:
        readIDFA()
    case .denied, .restricted:
        useAlternativeTracking()
    @unknown default:
        break
    }
}

Tizim dialogini ko'rsatish

Dialog ko'rsatish uchun requestTrackingAuthorization metodi foydalanuvchi tanlovi natijasini oladigan yopilish bilan chaqiriladi. Muhim: dialog faqat bir marta ko'rsatiladi. Agar dasturchi uni qayta chaqirishga urinsa, tizim so'rovni e'tiborsiz qoldiradi.

Dialogdagi matn ikki qismdan iborat: tizim sarlavhasi (uni o'zgartirib bo'lmaydi) va dasturchi Info.plist da NSUserTrackingUsageDescription kaliti orqali ko'rsatadigan maxsus xabar.

Dialog tabiiy kontekstda paydo bo'lishi kerak — ilova ishga tushganda darhol emas, balki kuzatish bilan bog'liq funksiyadan birinchi foydalanishga urinishda. Apple dialog foydalanuvchi funksiyaning qiymatini tushunganidan keyin ko'rsatishni tavsiya qiladi.

swift
func requestTrackingPermission() {
    ATTrackingManager.requestTrackingAuthorization { status in
        DispatchQueue.main.async {
            switch status {
            case .authorized:
                let idfa = ASIdentifierManager.shared().advertisingIdentifier
                print("IDFA: \(idfa)")
            case .denied:
                print("Foydalanuvchi kuzatishni rad etdi")
            default:
                break
            }
        }
    }
}

IDFA va kirishni cheklash

IDFA (Identifier for Advertisers) — bu iOS qurilmasining noyob reklama identifikatori bo'lib, maqsadli reklama va o'rnatishlarni atributsiya qilish uchun ishlatiladi. ATT dan oldin dasturchilar uni ASIdentifierManager orqali hech qanday cheklovlarsiz olishardi. ATT joriy qilingandan so'ng, foydalanuvchi aniq rozilik bermaguncha IDFA ga kirish bloklanadi.

IDFA nima va u nima uchun kerak

IDFA — bu har bir iOS qurilmasi uchun noyob UUID qator. Reklama tarmoqlari IDFA dan quyidagilar uchun foydalanadi: ilovalarni o'rnatishlarni kuzatish (atributsiya), foydalanuvchi qiziqishlariga asoslangan tegishli reklamalarni ko'rsatish, reklama kampaniyalari samaradorligini o'lchash va retargeting — maqsadli harakatni tugatmagan foydalanuvchilarni qaytarish.

Foydalanuvchi kuzatishni rad etganidan so'ng, ASIdentifierManager 00000000-0000-0000-0000-000000000000 qiymatini qaytaradi. Shu bilan birga, ilova texnik maqsadlarda (masalan, firibgarlikka qarshi) IDFA ni o'qishi mumkin, ammo uni reklama tarmoqlariga uzata olmaydi.

Singular (2024) ma'lumotlariga ko'ra, global ATT rozilik darajasi 25-35% ni tashkil qiladi, Yevropada (GDPR) ko'rsatkich AQShga (15-25%) nisbatan yuqoriroq (40-50%). Bu reklama platformalarini muqobil atributsiya usullarini ishlab chiqishga majbur qildi.

IDFA ga alternativa: SKAdNetwork va Probabilistic Attribution

SKAdNetwork — IDFA ni oshkor qilmasdan o'rnatishlarni atributsiya qilish uchun Apple frameworki. U OT darajasida ishlaydi: reklama tarmog'i imzolangan postbekni yuboradi, Apple uni tekshiradi va dasturchiga uzatadi. Atributsiya aniq foydalanuvchini identifikatsiya qilmasdan, faqat kampaniya darajasida amalga oshiriladi.

Probabilistic Attribution o'rnatishlarni reklama ko'rinishlari bilan ehtimollik asosida moslashtirish uchun qurilmaning ko'plab signallaridan — model, iOS versiyasi, vaqt mintaqasi, ekran yorqinligi — foydalanadi. Biroq, Apple bu usulni o'z qoidalarida taqiqlaydi va undan foydalanish ilovani rad etilishiga olib kelishi mumkin.

Google, Adjust va AppsFlyer o'zlarining gibrid yechimlarini ishlab chiqdilar, ular SKAdNetwork ni o'zlarining agregatlangan ma'lumotlari bilan birlashtiradi. Masalan, Google Ads Conversion Tracking IDFA siz atributsiya uchun SKAdNetwork postbeklari va o'zining mashina o'rganish modellaridan foydalanadi.

ATT ni ilova kodida amalga oshirish

ATT ni integratsiya qilish uchun Info.plist ga NSUserTrackingUsageDescription kalitini qo'shish va AppTrackingTransparency frameworkini import qilish kerak. Quyida Swift va Objective-C uchun qadamlar keltirilgan.

Info.plist ni sozlash

Birinchi qadam — Info.plist ga NSUserTrackingUsageDescription kalitini ilovaga nima uchun kuzatish kerakligini tushuntiruvchi matn bilan qo'shish. Bu matn tizim dialogida ko'rsatiladi. Misol: “Sizning IDFA shaxsiylashtirilgan reklamalarni ko'rsatish va kampaniyalar samaradorligini kuzatish uchun ishlatiladi”.

Ushbu kalitsiz, requestTrackingAuthorization chaqiruvi ilovaning qulashiga olib keladi — Apple dialog ko'rsatishdan oldin NSUserTrackingUsageDescription mavjudligini aniq tekshiradi. Matn qisqa, aniq va ma'lumotlardan haqiqiy foydalanishga mos kelishi kerak.

Muhim: kalit Xcode Info tab orqali yoki Info.plist XML manbasini tahrirlash orqali qo'lda qo'shiladi. Qo'shgandan so'ng, loyihani qayta yig'ing va kalit yakuniy binarda ko'rinishini tekshiring.

xml
<!-- Info.plist -->
<key>NSUserTrackingUsageDescription</key>
<string>This identifier is used to deliver
personalized ads and measure campaign performance.</string>

Swift da to'liq integratsiya

Haqiqiy loyihada ATT so'rovini reklama moduli yoki treker birinchi ishga tushirilishidan oldin chaqirish yaxshiroqdir. Ruxsatdan oldin foydalanuvchiga alohida ekranda (pre-permission prompt) rozilikning qiymatini tushuntirish tavsiya etiladi — bu rozilik foizini 20-30% ga oshiradi.

Pre-permission prompt — bu kuzatishni yoqishning foydasini ko'rsatadigan o'z UI (“Tegishli reklamalarni ko'rsatishimizga yordam bering”). Faqat “Davom etish” tugmasi bosilgandan so'ng ATT tizim dialogi chaqiriladi. Adjust (2024) pre-permission ekranidan foydalanganda rozilik 40% ga oshganini qayd etdi.

swift
final class TrackingManager {
    static let shared = TrackingManager()

    func requestTrackingIfNeeded() {
        guard ATTrackingManager.trackingAuthorizationStatus
            == .notDetermined
        else { return }

        ATTrackingManager.requestTrackingAuthorization { _ in
            NotificationCenter.default.post(
                Notification(Name("trackingStatusChanged"))
            )
        }
    }
}

ATT bilan ishlashda xatolar

Dasturchilar ATT ni integratsiya qilishda ko'pincha rozilik konversiyasining pasayishiga yoki App Store moderatorlari tomonidan ilovani rad etilishiga olib keladigan tipik xatolarga yo'l qo'yadilar. Beshta eng keng tarqalgan muammolarni ko'rib chiqamiz.

Ilova ishga tushgandan so'ng darhol ATT so'rovi

Eng keng tarqalgan xato — ATT tizim dialogini ilova yuklangandan so'ng birinchi ekranda ko'rsatish. Foydalanuvchi hali ilovaning qiymatini tushunmaydi va yuqori ehtimollik bilan “Rad etish” tugmasini bosadi. IronSource (2023) birinchi ekranda so'rovda uchinchi seansdan keyingi so'rovga nisbatan rozilik 32% ga kamayganini ko'rsatdi.

Tavsiya: foydalanuvchi maqsadli harakatni amalga oshirganidan (kontentni ko'rgan, onbordingni boshlagan) yoki ilovadan 3-5 seans foydalanganidan so'ng kuzatishni so'rang. Bu ishonchni va qiymatni anglashni oshiradi.

Pre-permission ekranining yo'qligi

Oldindan tushuntirishsiz ATT tizim dialogini ko'rsatish — konversiyani 15-20% gacha kamaytiradigan xato. Foydalanuvchi kutilmagan so'rovni ko'radi va instinktiv ravishda rad etadi. Foydani tushuntiruvchi pre-permission ekrani rozilikni 35-45% gacha oshiradi.

Pre-permission matni aniq bo'lishi kerak: “Tegishli reklamalarni ko'rsatishga ruxsat bering — bu bizga bepul qolishimizga yordam beradi”. Umumiy iboralardan saqlaning — ular ishonchni kamaytiradi. GameAnalytics 2023 yilda foydani tushuntiruvchi pre-permission bo'sh ekranga nisbatan 28% ko'proq rozilik berishini ko'rsatdi.

Restricted va denied statuslarini e'tiborsiz qoldirish

Agar foydalanuvchi allaqachon kuzatishni rad etgan bo'lsa yoki status restricted (ota-ona nazorati, korporativ siyosatlar) bo'lsa, ilova ATT dialogini qayta chaqirmasligi kerak. Qayta chaqiruv ishlamaydi va maxfiylik buzilishi sifatida qabul qilinadi. Buning o'rniga SKAdNetwork va kontekstli reklamaga o'ting.

Restricted statusida ilova sozlamalarda “Kuzatish so'rovlariga ruxsat berish” opsiyasi yoqilganligini aniqlay olmaydi. Bu holda har doim SKAdNetwork orqali muqobilsiz atributsiyadan foydalaning va pre-permission ekranini ko'rsatmang.

ATT ni chaqirmasdan IDFA ni tekshirish

ASIdentifierManager.shared().advertisingIdentifier orqali oldindan ATT ruxsatisiz IDFA ni o'qish nollar qatorini qaytaradi. Ba'zi dasturchilar shaxsiy API lar orqali IDFA ga kirishning eski usullaridan foydalanishga harakat qiladilar — bu ko'rib chiqishda ilovaning rad etilishiga kafolatlanadi.

Apple aylanma yo'llarni topish uchun statik kod analizatori va mashina o'rganishdan foydalanadi. Ilova ko'rib chiqishdan o'tgan taqdirda ham, keyingi yangilanishlar yoki avtomatik tekshiruvlar buzilishni aniqlashi va dasturchi hisobining bloklanishiga olib kelishi mumkin.

NSUserTrackingUsageDescription da noto'g'ri matn

NSUserTrackingUsageDescription kalitida juda uzun, noaniq yoki chalg'ituvchi matn — moderatorlar tomonidan ilovani rad etish sababi. Apple tavsifning ma'lumotlardan haqiqiy foydalanishga mos kelishini tekshiradi. Agar ilovada reklama bo'lmasa, lekin “reklama maqsadlarida” deb ko'rsatilgan bo'lsa, moderator yig'ilmani rad etadi.

Tavsiya etilgan format: IDFA dan foydalanish maqsadining 2-3 jumlalik aniq tavsifi. Reklamasiz ilova uchun misol: “Identifikator analitika va firibgarlikning oldini olish uchun ishlatiladi. Ma'lumotlar uchinchi shaxslarga uzatilmaydi va profillash uchun ishlatilmaydi”.

Ko'p beriladigan savollar

Agar ilovaga ATT qo'shilmasa nima bo'ladi?

Agar ilova ATT siz IDFA yoki kuzatishdan foydalansa, Apple uni ko'rib chiqish jarayonida rad etadi. Hatto kuzatish bo'lmasa ham, shaffoflik uchun ATT qo'shish tavsiya etiladi, aks holda keyingi yangilanishda rad etilish xavfi ortadi.

Ilova kuzatishga roziliksiz ishlaydimi?

Ha, ilova to'liq ishlaydi, ammo reklama tarmoqlari shaxsiylashtirish va atributsiya uchun IDFA ni olmaydi. Ilovaning barcha funksiyalari, shaxsiylashtirilgan reklamadan tashqari, mavjud bo'lib qoladi.

iOS da ATT statusini qayta tiklash mumkinmi?

Ha, foydalanuvchi istalgan vaqtda Sozlamalar → Maxfiylik → Kuzatish orqali qarorini o'zgartirishi mumkin. Ilova dasturiy ravishda statusni qayta tiklay olmaydi — faqat tizim sozlamalari orqali.

ATT rozilik foizini qanday oshirish mumkin?

Foydani tushuntiruvchi pre-permission ekranidan foydalaning, kuzatishni birinchi ishga tushirishda emas, balki maqsadli harakatdan so'ng so'rang. Meta (2024) kechiktirilgan so'rovda rozilik 35% ga oshganini ko'rsatdi.

ATT bolalar ilovalariga ta'sir qiladimi?

“Bolalar uchun” toifasidagi ilovalar Apple qoidalariga ko'ra kuzatish uchun IDFA va ATT dan foydalana olmaydi. Shuningdek, ularga analitika yoki reklama uchun ma'lumotlarni uchinchi shaxslarga uzatish taqiqlangan.

Xulosa

  • ATT — App Tracking Transparency, iOS 14.5+ da IDFA ga kirish so'rovi uchun majburiy framework
  • IDFA — qurilmaning reklama identifikatori, ruxsatsiz kirishdan ATT tomonidan himoyalangan
  • Tizim dialogi — foydalanuvchi har doim ilova o'zgartira olmaydigan yoki chetlab o'ta olmaydigan dialogni ko'radi
  • Pre-permission — foydani tushuntiruvchi o'z ekrani, rozilikni 20-40% ga oshiradi
  • SKAdNetwork — IDFA ga kirish imkoniyati bo'lmagan ilovalar uchun Apple dan muqobilsiz atributsiya
  • Konversiya — global rozilik darajasi 25-35%, Yevropada GDPR tufayli 50% gacha
  • ATT ni har qanday treker chaqiruvidan oldin integratsiya qiling va Info.plist ga NSUserTrackingUsageDescription kalitini qo'shishni unutmang

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing