ATT iOS: mi ez, a nyomonkövetési kérelem mechanizmusa és az IDFA

Szerző: IT Sectr Megjelenés: 2026-05-20 Olvasási idő: 10 perc

Az App Tracking Transparency (ATT) egy iOS-mechanizmus, amely kifejezett felhasználói hozzájárulást követel az IDFA reklámazonosító eléréséhez a nyomonkövetés előtt az alkalmazásokban és weboldalakon. Az iOS 14.5-ben bevezetett ATT minden fejlesztőt kötelezett a rendszerpárbeszédablak megjelenítésére a nyomonkövetési engedély kérésével. Az Apple Developer Documentation szerint minden alkalmazásnak, amely IDFA-t használ célzott reklámozáshoz vagy attribúcióhoz, integrálnia kell az ATT keretrendszert és el kell nyernie a hozzáférési engedélyt.

Főbb pontok

  • ATT — App Tracking Transparency, a nyomonkövetési kérelem keretrendszere iOS 14.5+ rendszerben
  • IDFA — az eszköz reklámazonosítója, amelyhez a hozzáférés hozzájárulás nélkül korlátozott
  • Rendszerpárbeszéd — szabványos felugró ablak az alkalmazás szövegével, amely nem módosítható
  • Nyomonkövetési engedély — kötelező kérés a hirdetések megjelenítéséhez és a telepítések attribúciójához
  • Elutasítás — a felhasználó bármikor visszavonhatja az engedélyt a Beállításokban

Mi az ATT (App Tracking Transparency)?

Az App Tracking Transparency az Apple keretrendszere a felhasználók adatvédelmének védelmére, amelyet az iOS 14.5-ben vezettek be. Előírja az alkalmazások számára, hogy kifejezett engedélyt szerezzenek az eszköz reklámazonosítójának (IDFA) eléréséhez, mielőtt azt nyomonkövetésre használnák.

Az ATT megjelenése előtt a fejlesztők engedély nélkül olvashatták az IDFA-t, lehetővé téve a hirdetési hálózatok számára, hogy felhasználói profilokat építsenek és kövessék tevékenységüket az alkalmazások és weboldalak között. Az Apple az adatvédelem megsértésének nevezte ezt a megközelítést, és bevezette a kötelező hozzájárulási párbeszédablakot.

A keretrendszer iOS 14.0-tól elérhető, de kötelezővé az IDFA-t használó összes alkalmazás számára az iOS 14.5 2021 áprilisi kiadásával vált. A Flurry Analytics szerint az ATT bevezetése után az amerikai felhasználók kevesebb mint 25%-a adott hozzájárulást a nyomonkövetéshez, ami gyökeresen megváltoztatta a mobilhirdetési piacot.

Az ATT egy speciális rendszerpárbeszédablakon keresztül ellenőrzi az engedély meglétét, amelyet az alkalmazás nem módosíthat vagy kerülhet meg. A felhasználó egy szabványos felugró ablakot lát a fejlesztő által megadott szöveggel, és választ az “Engedélyezés” vagy “Alkalmazás kérelme a nyomonkövetés mellőzésére” lehetőségek között.

Hogyan kapcsolódik az ATT az adatvédelemhez iOS rendszerben

Az Apple az ATT-t az általános adatvédelmi stratégia részeként pozícionálja, amely magában foglalja a Privacy Nutrition Label-t az App Store-ban és a Privacy Manifest-et is. Mindhárom mechanizmus együtt működik: a címkék megmutatják, milyen adatokat gyűjt az alkalmazás, a Manifest deklarálja az API-használat okait, az ATT pedig ellenőrzést ad a felhasználónak a nyomonkövetés felett.

A nyomonkövetés elutasítása nem blokkolja magának az alkalmazásnak a működését — a felhasználó továbbra is használhatja az összes funkciót, de a hirdetési hálózatok nem kapják meg az IDFA-t személyre szabáshoz és attribúcióhoz. Az IDFA alternatívái az Apple SKAdNetwork és Probabilistic Attribution rendszerei lettek.

A Branch Metrics szerint az ATT bevezetése után az IDFA-t kapó alkalmazások aránya globálisan 70%-ról 20%-ra csökkent. Ez a telepítési attribúció és a hirdetéseken keresztüli monetizálás megközelítéseinek újragondolásához vezetett.

Változások az iOS 15 és 16 rendszerben

Az iOS 15-ben az Apple nem szigorította az ATT követelményeit, de hozzáadta az App Privacy Report-ot — egy jelentést, amely megmutatja a felhasználónak, hogy az alkalmazások milyen gyakran férnek hozzá az érzékelőkhöz és adatokhoz. Az iOS 16 kiterjesztette az irányítást: a felhasználó bármikor módosíthatja a nyomonkövetési beállításokat a Beállítások → Adatvédelem → Nyomonkövetés menüpontban.

Fontos: ha a felhasználó az “Alkalmazás kérelme a nyomonkövetés mellőzésére” lehetőséget választja az ATT párbeszédablakban, az alkalmazás nem kapja meg az IDFA értékét, hanem nulla karakterekből álló sztringet kap — 00000000-0000-0000-0000-000000000000. Az IDFA más módon vagy kerülőutakon történő olvasásának kísérlete az alkalmazás App Store-ból való elutasításához vezet.

iOS 17-től kezdve az Apple fokozta az ellenőrzéseket: ha egy alkalmazás az ATT rendszerpárbeszédablak megjelenítése nélkül kéri az IDFA-t, az OS szinten kap elutasítást, nem csak üres azonosítót. Ez kizárja az IDFA háttérben történő gyűjtésének lehetőségét a felhasználó tudta nélkül.

Hogyan működik a nyomonkövetési kérelem iOS rendszerben

Az ATT kérési folyamat három szakaszból áll: állapotellenőrzés, rendszerpárbeszédablak megjelenítése és válasz feldolgozása. A fejlesztő nem hagyhat ki egyetlen lépést sem — az operációs rendszer minden szakaszt ellenőriz.

Az engedélyezési állapot ellenőrzése

A párbeszédablak meghívása előtt az alkalmazásnak ellenőriznie kell az aktuális állapotot az ATTrackingManager segítségével. A lehetséges állapotok: notDetermined (még nem kérték), restricted (az eszköz irányelvei által tiltott), denied (a felhasználó elutasította), authorized (engedélyezett).

Ha az állapot már meghatározott (authorized vagy denied), a párbeszédablak újbóli meghívása nem lehetséges — a felhasználó végleges döntést hozott. A döntés megváltoztatásának egyetlen módja az iOS rendszerbeállításain keresztül történik.

Az állapot ellenőrzéséhez az ATTrackingManager.trackingAuthorizationStatus tulajdonságot használjuk. A hívásnak a fő szálon kell történnie, mivel a rendszerpárbeszédablak UI-komponens.

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
    }
}

A rendszerpárbeszédablak megjelenítése

A párbeszédablak megjelenítéséhez a requestTrackingAuthorization metódust hívjuk meg egy lezárással, amely megkapja a felhasználó választásának eredményét. Fontos: a párbeszédablak csak egyszer jelenik meg. Ha a fejlesztő megpróbálja újból meghívni, a rendszer figyelmen kívül hagyja a kérést.

A párbeszédablak szövege két részből áll: a rendszer címe (amely nem változtatható) és egy egyedi üzenet, amelyet a fejlesztő az Info.plist-ben ad meg a NSUserTrackingUsageDescription kulcson keresztül.

A párbeszédablaknak természetes kontextusban kell megjelennie — nem az alkalmazás indításakor azonnal, hanem a nyomonkövetéssel kapcsolatos funkció első használatakor. Az Apple azt ajánlja, hogy a párbeszédablakot azután jelenítsük meg, miután a felhasználó megértette a funkció értékét.

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("A felhasználó megtagadta a nyomonkövetést")
            default:
                break
            }
        }
    }
}

IDFA és a hozzáférés korlátozása

Az IDFA (Identifier for Advertisers) az iOS-eszköz egyedi reklámazonosítója, amelyet célzott hirdetésekhez és telepítési attribúcióhoz használnak. Az ATT előtt a fejlesztők az ASIdentifierManager-en keresztül korlátozások nélkül jutottak hozzá. Az ATT bevezetése után az IDFA-hoz való hozzáférés blokkolva van, amíg a felhasználó kifejezett hozzájárulást nem ad.

Mi az IDFA és mire használják

Az IDFA egy UUID sztring, amely minden iOS-eszközre egyedi. A hirdetési hálózatok az IDFA-t használják: alkalmazástelepítések nyomonkövetésére (attribúció), releváns hirdetések megjelenítésére a felhasználói érdeklődés alapján, hirdetési kampányok hatékonyságának mérésére és retargetingre — azon felhasználók visszacsábítására, akik nem fejeztek be egy célzott műveletet.

Miután a felhasználó elutasította a nyomonkövetést, az ASIdentifierManager a 00000000-0000-0000-0000-000000000000 értéket adja vissza. Az alkalmazás továbbra is olvashatja az IDFA-t technikai célokra (például csalás elleni védelem), de nem továbbíthatja azt hirdetési hálózatoknak.

A Singular (2024) szerint a globális ATT hozzájárulási arány 25-35%, Európában (GDPR) magasabb (40-50%), mint az USA-ban (15-25%). Ez arra kényszerítette a hirdetési platformokat, hogy alternatív attribúciós módszereket fejlesszenek.

Az IDFA alternatívái: SKAdNetwork és Probabilistic Attribution

Az SKAdNetwork az Apple keretrendszere a telepítési attribúcióhoz az IDFA felfedése nélkül. OS szinten működik: a hirdetési hálózat egy aláírt postbacket küld, amelyet az Apple ellenőriz és továbbít a fejlesztőnek. Az attribúció az adott felhasználó azonosítása nélkül, csak kampányszinten történik.

A Probabilistic Attribution az eszköz számos jelét — modell, iOS-verzió, időzóna, képernyő fényereje — használja a telepítések és a hirdetési megjelenések valószínűségi alapon történő párosításához. Az Apple azonban tiltja ezt a módszert a szabályaiban, és használata az alkalmazás elutasításához vezethet.

A Google, az Adjust és az AppsFlyer saját hibrid megoldásokat fejlesztettek ki, amelyek kombinálják az SKAdNetwork-et saját összesített adataikkal. Például a Google Ads Conversion Tracking SKAdNetwork postbackeket és saját gépi tanulási modelleket használ az attribúcióhoz IDFA nélkül.

ATT implementálása az alkalmazás kódjában

Az ATT integrálásához hozzá kell adni a NSUserTrackingUsageDescription kulcsot az Info.plist-hez, és importálni kell az AppTrackingTransparency keretrendszert. Az alábbiakban a Swift és Objective-C lépései találhatók.

Az Info.plist konfigurálása

Az első lépés — a NSUserTrackingUsageDescription kulcs hozzáadása az Info.plist-hez egy szöveggel, amely elmagyarázza, miért van szüksége az alkalmazásnak a nyomonkövetésre. Ez a szöveg jelenik meg a rendszerpárbeszédablakban. Példa: “Az Ön IDFA-ja személyre szabott hirdetések megjelenítéséhez és a kampányok hatékonyságának nyomonkövetéséhez használatos”.

E kulcs nélkül a requestTrackingAuthorization hívása az alkalmazás összeomlását okozza — az Apple kifejezetten ellenőrzi a NSUserTrackingUsageDescription meglétét a párbeszédablak megjelenítése előtt. A szövegnek rövidnek, konkrétnak és a tényleges adathasználatnak megfelelőnek kell lennie.

Fontos: a kulcs manuálisan kerül hozzáadásra az Xcode Info fülön keresztül vagy az Info.plist XML forrásának szerkesztésével. Hozzáadás után építse újra a projektet, és ellenőrizze, hogy a kulcs megjelenik-e a végleges binárisban.

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

Teljes integráció Swift-ben

Egy valódi projektben az ATT kérést célszerű a reklámmodul vagy tracker első indítása előtt meghívni. Ajánlott előzetesen elmagyarázni a felhasználónak a hozzájárulás értékét egy külön képernyőn (pre-permission prompt) — ez 20-30%-kal növeli a hozzájárulások arányát.

A pre-permission prompt egy saját UI, amely megmutatja a nyomonkövetés bekapcsolásának előnyét (“Segítsen nekünk releváns hirdetéseket megjeleníteni”). Csak a “Folytatás” gomb megnyomása után hívódik meg az ATT rendszerpárbeszédablak. Az Adjust (2024) 40%-os növekedést regisztrált a hozzájárulásban pre-permission képernyő használatakor.

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"))
            )
        }
    }
}

Hibák az ATT használata során

A fejlesztők gyakran követnek el tipikus hibákat az ATT integrálásakor, amelyek a hozzájárulási konverzió csökkenéséhez vagy az alkalmazás App Store moderátorok általi elutasításához vezetnek. Vizsgáljuk meg az öt leggyakoribb problémát.

ATT kérés közvetlenül az alkalmazás indítása után

A leggyakoribb hiba — az ATT rendszerpárbeszédablak megjelenítése az alkalmazás betöltése utáni első képernyőn. A felhasználó még nem érti az alkalmazás értékét, és nagy valószínűséggel az “Elutasítás” gombot nyomja meg. Az IronSource (2023) 32%-os csökkenést mutatott a hozzájárulásban az első képernyős kérés esetén a harmadik munkamenet utáni kéréshez képest.

Javaslat: kérjen nyomonkövetést azután, hogy a felhasználó végrehajtott egy célzott műveletet (megtekintette a tartalmat, elkezdte a bevezetést) vagy 3-5 alkalmazáshasználati munkamenet után. Ez növeli a bizalmat és az érték tudatosulását.

A pre-permission képernyő hiánya

Az ATT rendszerpárbeszédablak megjelenítése előzetes magyarázat nélkül — olyan hiba, amely 15-20%-ra csökkenti a konverziót. A felhasználó váratlan kérést lát, és ösztönösen elutasítja. A pre-permission képernyő az előny magyarázatával 35-45%-ra növeli a hozzájárulást.

A pre-permission szövegének konkrétnak kell lennie: “Engedélyezze a releváns hirdetések megjelenítését — segít nekünk ingyenesnek maradni”. Kerülje az általános kifejezéseket — ezek csökkentik a bizalmat. A GameAnalytics 2023-ban kimutatta, hogy a pre-permission az előny magyarázatával 28%-kal több hozzájárulást eredményez, mint egy üres képernyő.

A restricted és denied állapotok figyelmen kívül hagyása

Ha a felhasználó már elutasította a nyomonkövetést, vagy az állapot restricted (szülői felügyelet, vállalati irányelvek), az alkalmazás nem hívhatja meg újra az ATT párbeszédablakot. Az újbóli hívás nem működik, és az adatvédelem megsértéseként érzékelhető. Ehelyett váltson SKAdNetwork-re és kontextuális hirdetésekre.

Restricted állapotban az alkalmazás nem tudja meghatározni, hogy a “Nyomonkövetési kérelmek engedélyezése” opció be van-e kapcsolva a beállításokban. Ebben az esetben mindig használjon alternatíva nélküli attribúciót SKAdNetworkön keresztül, és ne jelenítsen meg pre-permission képernyőt.

IDFA ellenőrzése az ATT meghívása nélkül

Az IDFA olvasása az ASIdentifierManager.shared().advertisingIdentifier segítségével előzetes ATT engedély nélkül nullákból álló sztringet ad vissza. Egyes fejlesztők megpróbálják az IDFA elérésének régi módszereit használni privát API-okon keresztül — ez garantáltan az alkalmazás elutasításához vezet a felülvizsgálat során.

Az Apple statikus kódelemzőt és gépi tanulást használ a kerülőutak észlelésére. Még ha az alkalmazás át is megy a felülvizsgálaton, a későbbi frissítések vagy automatikus ellenőrzések feltárhatják a jogsértést, és a fejlesztői fiók letiltásához vezethetnek.

Helytelen szöveg a NSUserTrackingUsageDescription-ben

Túl hosszú, homályos vagy félrevezető szöveg a NSUserTrackingUsageDescription kulcsban — az alkalmazás moderátorok általi elutasításának oka. Az Apple ellenőrzi, hogy a leírás megfelel-e a tényleges adathasználatnak. Ha az alkalmazás nem tartalmaz hirdetéseket, de “reklámcélokra” hivatkozik, a moderátor elutasítja a buildet.

Ajánlott formátum: az IDFA használati céljának konkrét leírása 2-3 mondatban. Példa hirdetések nélküli alkalmazáshoz: “Az azonosító elemzési és csalásmegelőzési célokra szolgál. Az adatokat nem adjuk át harmadik félnek, és nem használjuk profilalkotásra”.

Gyakran Ismételt Kérdések

Mi történik, ha nem adom hozzá az ATT-t az alkalmazáshoz?

Ha az alkalmazás IDFA-t vagy nyomonkövetést használ ATT nélkül, az Apple elutasítja azt a felülvizsgálati folyamat során. Még nyomonkövetés hiányában is ajánlott hozzáadni az ATT-t az átláthatóság érdekében, ellenkező esetben a következő frissítésnél nő az elutasítás kockázata.

Működik az alkalmazás nyomonkövetési hozzájárulás nélkül?

Igen, az alkalmazás teljes mértékben működik, de a hirdetési hálózatok nem kapják meg az IDFA-t személyre szabáshoz és attribúcióhoz. Az alkalmazás összes funkciója, a személyre szabott hirdetések kivételével, elérhető marad.

Visszaállítható az ATT állapot iOS rendszerben?

Igen, a felhasználó bármikor módosíthatja döntését a Beállítások → Adatvédelem → Nyomonkövetés menüpontban. Az alkalmazás nem tudja programozottan visszaállítani az állapotot — csak a rendszerbeállításokon keresztül.

Hogyan növelhető az ATT hozzájárulási arány?

Használjon pre-permission képernyőt az előny magyarázatával, kérjen nyomonkövetést ne az első indításkor, hanem egy célzott művelet elvégzése után. A Meta (2024) 35%-os növekedést mutatott a hozzájárulásban késleltetett kérés esetén.

Érinti az ATT a gyermekeknek szánt alkalmazásokat?

A “Gyermekeknek” kategóriájú alkalmazások az Apple szabályai szerint nem használhatják az IDFA-t és az ATT-t nyomonkövetésre. Továbbá tilos adatokat továbbítaniuk harmadik félnek elemzési vagy hirdetési célokra.

Összefoglalás

  • ATT — App Tracking Transparency, kötelező keretrendszer az IDFA elérési kérelemhez iOS 14.5+ rendszerben
  • IDFA — az eszköz reklámazonosítója, amelyet az ATT véd a jogosulatlan hozzáféréstől
  • Rendszerpárbeszéd — a felhasználó mindig olyan párbeszédablakot lát, amelyet az alkalmazás nem módosíthat vagy kerülhet meg
  • Pre-permission — saját képernyő az előny magyarázatára, 20-40%-kal növeli a hozzájárulást
  • SKAdNetwork — alternatíva nélküli attribúció az Apple-től IDFA hozzáférés nélküli alkalmazások számára
  • Konverzió — a globális hozzájárulási arány 25-35%, Európában a GDPR-nak köszönhetően akár 50%
  • Integrálja az ATT-t bármely tracker meghívása előtt, és feltétlenül adja hozzá a NSUserTrackingUsageDescription kulcsot az Info.plist-hez

Kulcsrakész mobilalkalmazást fejlesztünk

Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.

Projekt megbeszélése

Olvassa el is