ATT iOS: ano ito, mekanismo ng kahilingan sa pagsubaybay at IDFA

May-akda: IT Sectr Nai-publish: 2026-05-20 Oras ng pagbabasa: 10 min

Ang App Tracking Transparency (ATT) ay isang mekanismo ng iOS na nangangailangan ng tahasang pahintulot ng gumagamit upang ma-access ang advertising identifier na IDFA bago ang pagsubaybay sa mga app at website. Ipinakilala sa iOS 14.5, pinilit ng ATT ang lahat ng developer na magpakita ng system dialog na may kahilingan para sa pahintulot sa pagsubaybay. Ayon sa Apple Developer Documentation, bawat app na gumagamit ng IDFA para sa naka-target na advertising o attribution ay dapat isama ang ATT framework at kumuha ng pahintulot sa pag-access.

Mga Pangunahing Punto

  • ATT — App Tracking Transparency, framework ng kahilingan sa pagsubaybay sa iOS 14.5+
  • IDFA — advertising identifier ng device, pinaghihigpitan ang access nang walang pahintulot
  • System dialog — standard pop-up na may teksto ng app na hindi mababago
  • Pahintulot sa pagsubaybay — mandatoryong kahilingan para magpakita ng mga ad at attribution ng mga pag-install
  • Pagtanggi — maaaring bawiin ng gumagamit ang pahintulot anumang oras sa Mga Setting

Ano ang ATT (App Tracking Transparency)?

Ang App Tracking Transparency ay isang framework mula sa Apple para sa pagprotekta sa privacy ng mga gumagamit, na ipinakilala sa iOS 14.5. Nangangailangan ito ng mga app na kumuha ng tahasang pahintulot para ma-access ang advertising identifier ng device (IDFA) bago ito gamitin para sa pagsubaybay.

Bago ang pagdating ng ATT, maaaring basahin ng mga developer ang IDFA nang walang pahintulot, na nagpapahintulot sa mga advertising network na bumuo ng mga profile ng gumagamit at subaybayan ang kanilang aktibidad sa pagitan ng mga app at website. Tinawag ng Apple ang pamamaraang ito na isang paglabag sa privacy at ipinakilala ang mandatoryong dialog ng pahintulot.

Ang framework ay available simula sa iOS 14.0, ngunit naging mandatoryo para sa lahat ng app na gumagamit ng IDFA sa paglabas ng iOS 14.5 noong Abril 2021. Ayon sa Flurry Analytics, pagkatapos ng pagpapatupad ng ATT, wala pang 25% ng mga gumagamit sa US ang nagbigay ng pahintulot sa pagsubaybay, na radikal na nagbago sa merkado ng mobile advertising.

Sinusuri ng ATT ang pagkakaroon ng pahintulot sa pamamagitan ng isang espesyal na system dialog na hindi mababago o malalampasan ng app. Nakikita ng gumagamit ang isang standard pop-up na may tekstong ibinigay ng developer at pinipili ang “Payagan” o “Hilingin sa App na Huwag Sumubaybay”.

Paano nauugnay ang ATT sa privacy sa iOS

Inilalagay ng Apple ang ATT bilang bahagi ng pangkalahatang diskarte sa privacy, na kinabibilangan din ng Privacy Nutrition Label sa App Store at Privacy Manifest. Lahat ng tatlong mekanismo ay nagtutulungan: ipinapakita ng mga label kung anong data ang kinokolekta ng app, idineklara ng Manifest ang mga dahilan ng paggamit ng API, at binibigyan ng ATT ang gumagamit ng kontrol sa pagsubaybay.

Ang pagtanggi sa pagsubaybay ay hindi hinaharangan ang pagpapatakbo ng app mismo — maaaring patuloy na gamitin ng gumagamit ang lahat ng mga function, ngunit hindi makukuha ng mga advertising network ang IDFA para sa personalization at attribution. Ang mga alternatibo sa IDFA ay naging SKAdNetwork at Probabilistic Attribution mula sa Apple.

Ayon sa Branch Metrics, pagkatapos ng pagpapatupad ng ATT, ang bahagi ng mga app na tumatanggap ng IDFA ay bumagsak mula 70% hanggang 20% sa buong mundo. Ito ay humantong sa muling pagsusuri ng mga diskarte sa attribution ng pag-install at monetization sa pamamagitan ng advertising.

Mga pagbabago sa iOS 15 at 16

Sa iOS 15, hindi pinahigpit ng Apple ang mga kinakailangan ng ATT, ngunit nagdagdag ng App Privacy Report — isang ulat na nagpapakita sa gumagamit kung gaano kadalas ang mga app ay nag-a-access ng mga sensor at data. Pinalawak ng iOS 16 ang kontrol: maaaring baguhin ng gumagamit ang mga setting ng pagsubaybay anumang oras sa pamamagitan ng Mga Setting → Privacy → Pagsubaybay.

Mahalaga: kung pinili ng gumagamit ang “Hilingin sa App na Huwag Sumubaybay” sa ATT dialog, hindi natatanggap ng app ang halaga ng IDFA, sa halip ay ibinabalik ang isang string ng mga zero — 00000000-0000-0000-0000-000000000000. Ang pagtatangka na basahin ang IDFA sa ibang paraan o sa pamamagitan ng mga workaround ay humahantong sa pagtanggi ng app sa App Store.

Simula sa iOS 17, pinahigpit ng Apple ang mga pagsusuri: kung hihilingin ng app ang IDFA nang hindi ipinapakita ang system dialog ng ATT, makakatanggap ito ng pagtanggi sa antas ng OS, hindi lamang isang walang laman na identifier. Ito ay nag-aalis ng posibilidad ng background collection ng IDFA nang walang kaalaman ng gumagamit.

Paano gumagana ang kahilingan sa pagsubaybay sa iOS

Ang proseso ng kahilingan ng ATT ay binubuo ng tatlong yugto: pagsusuri ng status, pagpapakita ng system dialog, at pagproseso ng tugon. Hindi maaaring laktawan ng developer ang alinman sa mga hakbang — kinokontrol ng OS ang bawat yugto.

Pagsusuri ng status ng awtorisasyon

Bago tawagan ang dialog, dapat suriin ng app ang kasalukuyang status sa pamamagitan ng ATTrackingManager. Ang mga posibleng status ay: notDetermined (hindi pa hinihiling), restricted (ipinagbabawal ng mga patakaran ng device), denied (tumanggi ang gumagamit), authorized (pinayagan).

Kung natukoy na ang status (authorized o denied), hindi posible ang muling pagtawag sa dialog — ang gumagamit ay gumawa ng pinal na desisyon. Ang tanging paraan upang baguhin ang desisyon ay sa pamamagitan ng mga system setting ng iOS.

Para sa pagsusuri ng status, ginagamit ang property na ATTrackingManager.trackingAuthorizationStatus. Ang tawag ay dapat mangyari sa main thread, dahil ang system dialog ay isang UI component.

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

Pagpapakita ng system dialog

Para sa pagpapakita ng dialog, tinatawag ang method na requestTrackingAuthorization na may closure na tumatanggap ng resulta ng pinili ng gumagamit. Mahalaga: ang dialog ay ipinapakita lamang nang isang beses. Kung susubukan ng developer na tawagin ito muli, hindi papansinin ng system ang kahilingan.

Ang teksto sa dialog ay binubuo ng dalawang bahagi: system title (hindi mababago) at custom na mensahe na tinutukoy ng developer sa Info.plist sa pamamagitan ng key na NSUserTrackingUsageDescription.

Ang dialog ay dapat lumitaw sa natural na konteksto — hindi kaagad sa paglunsad ng app, kundi sa unang pagtatangka na gamitin ang functionality na may kaugnayan sa pagsubaybay. Inirerekomenda ng Apple na ipakita ang dialog pagkatapos maunawaan ng gumagamit ang halaga ng feature.

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("Tinanggihan ng gumagamit ang pagsubaybay")
            default:
                break
            }
        }
    }
}

IDFA at paghihigpit sa pag-access

Ang IDFA (Identifier for Advertisers) ay isang natatanging advertising identifier ng iOS device, na ginagamit para sa naka-target na advertising at attribution ng mga pag-install. Bago ang ATT, nakuha ito ng mga developer sa pamamagitan ng ASIdentifierManager nang walang mga paghihigpit. Pagkatapos ng pagpapakilala ng ATT, ang access sa IDFa ay hinarangan hanggang ang gumagamit ay magbigay ng tahasang pahintulot.

Ano ang IDFA at para saan ito ginagamit

Ang IDFA ay isang UUID string, natatangi para sa bawat iOS device. Ginagamit ng mga advertising network ang IDFA para sa: pagsubaybay sa mga pag-install ng app (attribution), pagpapakita ng mga kaugnay na ad batay sa mga interes ng gumagamit, pagsukat ng epektibo ng mga kampanya sa advertising, at retargeting — pagbabalik ng mga gumagamit na hindi nakatapos ng target na aksyon.

Pagkatapos tumanggi ang gumagamit sa pagsubaybay, ibinabalik ng ASIdentifierManager ang halagang 00000000-0000-0000-0000-000000000000. Gayunpaman, maaari pa ring basahin ng app ang IDFA para sa mga teknikal na layunin (halimbawa, anti-fraud), ngunit hindi ito maaaring ipasa sa mga advertising network.

Ayon sa Singular (2024), ang global ATT consent rate ay 25-35%, kung saan ang Europe (GDPR) ay mas mataas (40-50%) kumpara sa US (15-25%). Pinilit nito ang mga advertising platform na bumuo ng mga alternatibong pamamaraan ng attribution.

Mga alternatibo sa IDFA: SKAdNetwork at Probabilistic Attribution

Ang SKAdNetwork ay isang framework ng Apple para sa attribution ng pag-install nang hindi isiniwalat ang IDFA. Gumagana ito sa antas ng OS: ang advertising network ay nagpapadala ng signed postback na bini-verify ng Apple at ipinapasa sa developer. Ang attribution ay nangyayari nang walang pagkilala sa partikular na gumagamit, sa antas lamang ng kampanya.

Ang Probabilistic Attribution ay gumagamit ng maraming signal ng device — modelo, bersyon ng iOS, time zone, liwanag ng screen — para sa probabilistic matching ng mga pag-install sa mga ad impression. Gayunpaman, ipinagbabawal ng Apple ang pamamaraang ito sa mga patakaran nito, at ang paggamit nito ay maaaring humantong sa pagtanggi ng app.

Ang Google, Adjust, at AppsFlyer ay bumuo ng kanilang sariling hybrid na solusyon, na pinagsasama ang SKAdNetwork sa kanilang sariling pinagsama-samang data. Halimbawa, gumagamit ang Google Ads Conversion Tracking ng SKAdNetwork postbacks at sariling machine learning models para sa attribution nang walang IDFA.

Pagpatupad ng ATT sa code ng app

Para sa pagsasama ng ATT, kailangan mong idagdag ang key na NSUserTrackingUsageDescription sa Info.plist at i-import ang framework na AppTrackingTransparency. Nasa ibaba ang mga hakbang para sa Swift at Objective-C.

Pag-configure ng Info.plist

Unang hakbang — idagdag ang key na NSUserTrackingUsageDescription sa Info.plist na may tekstong nagpapaliwanag kung bakit kailangan ng app ang pagsubaybay. Ang tekstong ito ay ipapakita sa system dialog. Halimbawa: “Ang iyong IDFA ay ginagamit para sa pagpapakita ng mga personalized na ad at pagsubaybay sa epektibo ng kampanya”.

Kung wala ang key na ito, ang pagtawag sa requestTrackingAuthorization ay magdudulot ng crash ng app — tahasang sinusuri ng Apple ang pagkakaroon ng NSUserTrackingUsageDescription bago ipakita ang dialog. Ang teksto ay dapat maikli, tiyak, at tumutugma sa aktwal na paggamit ng data.

Mahalaga: ang key ay idinaragdag nang manu-mano sa pamamagitan ng Xcode Info tab o sa pamamagitan ng pag-edit ng XML source ng Info.plist. Pagkatapos idagdag, i-rebuild ang proyekto at suriin kung ang key ay lumilitaw sa huling binary.

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

Buong pagsasama sa Swift

Sa isang tunay na proyekto, mas mainam na tawagan ang kahilingan ng ATT bago ang unang pagpapatakbo ng advertising module o tracker. Inirerekomenda na ipaliwanag muna sa gumagamit ang halaga ng pahintulot sa isang hiwalay na screen (pre-permission prompt) — ito ay nagpapataas ng porsyento ng pahintulot ng 20-30%.

Ang pre-permission prompt ay isang sariling UI na nagpapakita ng benepisyo ng pagpapagana ng pagsubaybay (“Tulungan kaming magpakita ng mga kaugnay na ad”). Pagkatapos lamang pindutin ang button na “Magpatuloy” ay tatawagin ang ATT system dialog. Ang Adjust (2024) ay nagtala ng 40% na pagtaas sa pahintulot kapag gumagamit ng pre-permission screen.

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

Mga pagkakamali sa paggamit ng ATT

Ang mga developer ay madalas na nagkakamali sa pagsasama ng ATT na humahantong sa pagbaba ng conversion ng pahintulot o pagtanggi ng app ng mga moderator ng App Store. Talakayin natin ang limang pinakakaraniwang problema.

Kahilingan ng ATT kaagad pagkatapos ilunsad ang app

Ang pinakakaraniwang pagkakamali — pagpapakita ng ATT system dialog sa unang screen pagkatapos mag-load ang app. Hindi pa nauunawaan ng gumagamit ang halaga ng app at may mataas na posibilidad na pindutin ang “Tanggihan”. Ang IronSource (2023) ay nagpakita ng 32% na pagbaba sa pahintulot kapag hiniling sa unang screen kumpara sa kahilingan pagkatapos ng ikatlong session.

Rekomendasyon: humingi ng pagsubaybay pagkatapos magsagawa ang gumagamit ng target na aksyon (tumingin ng content, nagsimula ng onboarding) o pagkatapos ng 3-5 session ng paggamit ng app. Ito ay nagpapataas ng tiwala at kamalayan sa halaga.

Kawalan ng pre-permission screen

Ang pagpapakita ng ATT system dialog nang walang paunang paliwanag — isang pagkakamali na nagpapababa ng conversion sa 15-20%. Nakikita ng gumagamit ang isang hindi inaasahang kahilingan at likas na tumatanggi. Ang pre-permission screen na may paliwanag ng benepisyo ay nagpapataas ng pahintulot sa 35-45%.

Ang teksto ng pre-permission ay dapat tiyak: “Payagan ang pagpapakita ng mga kaugnay na ad — nakakatulong ito sa amin na manatiling libre”. Iwasan ang mga pangkalahatang parirala — binabawasan nito ang tiwala. Ang GameAnalytics noong 2023 ay nagpakita na ang pre-permission na may paliwanag ng benepisyo ay nagbibigay ng 28% na mas maraming pahintulot kaysa sa isang blangkong screen.

Pagwawalang-bahala sa status na restricted at denied

Kung tumanggi na ang gumagamit sa pagsubaybay o ang status ay restricted (parental control, corporate policies), hindi dapat tawagin muli ng app ang ATT dialog. Ang muling pagtawag ay hindi gagana at ituturing na paglabag sa privacy. Sa halip, lumipat sa SKAdNetwork at contextual advertising.

Sa status na restricted, hindi matutukoy ng app kung ang opsyon na “Payagan ang Mga Kahilingan sa Pagsubaybay” ay naka-on sa mga setting. Sa kasong ito, palaging gamitin ang attribution na walang alternatibo sa pamamagitan ng SKAdNetwork at huwag magpakita ng pre-permission screen.

Pagsusuri ng IDFA nang hindi tinatawag ang ATT

Ang pagbabasa ng IDFA sa pamamagitan ng ASIdentifierManager.shared().advertisingIdentifier nang walang paunang pahintulot ng ATT ay nagbabalik ng string ng mga zero. Ang ilang developer ay sumusubok na gumamit ng mga lumang paraan ng pag-access sa IDFA sa pamamagitan ng pribadong API — ito ay garantisadong hahantong sa pagtanggi ng app sa pagsusuri.

Gumagamit ang Apple ng static code analyzer at machine learning para makahanap ng mga workaround. Kahit na pumasa ang app sa pagsusuri, ang mga kasunod na update o awtomatikong pagsusuri ay maaaring makakita ng paglabag at humantong sa pagbabawal ng account ng developer.

Hindi tamang teksto sa NSUserTrackingUsageDescription

Ang sobrang haba, malabo o mapanlinlang na teksto sa key na NSUserTrackingUsageDescription — dahilan ng pagtanggi ng app ng mga moderator. Sinusuri ng Apple kung ang paglalarawan ay tumutugma sa aktwal na paggamit ng data. Kung ang app ay walang mga ad ngunit nagsasaad ng “para sa mga layunin ng advertising”, tatanggihan ng moderator ang build.

Inirerekomendang format: isang tiyak na paglalarawan ng layunin ng paggamit ng IDFA sa 2-3 pangungusap. Halimbawa para sa isang app na walang mga ad: “Ang identifier ay ginagamit para sa analytics at pag-iwas sa panloloko. Ang data ay hindi ipinapasa sa mga third party at hindi ginagamit para sa pag-profile”.

Mga Madalas Itanong

Ano ang mangyayari kung hindi ko idagdag ang ATT sa app?

Kung ang app ay gumagamit ng IDFA o pagsubaybay nang walang ATT, tatanggihan ito ng Apple sa proseso ng pagsusuri. Kahit na walang pagsubaybay, inirerekomenda na idagdag ang ATT para sa transparency, kung hindi ay tataas ang panganib ng pagtanggi sa susunod na update.

Gumagana ba ang app nang walang pahintulot sa pagsubaybay?

Oo, gumagana nang buo ang app, ngunit ang mga advertising network ay hindi makakakuha ng IDFA para sa personalization at attribution. Lahat ng function ng app, maliban sa mga personalized na ad, ay nananatiling available.

Maaari bang i-reset ang ATT status sa iOS?

Oo, maaaring baguhin ng gumagamit ang desisyon anumang oras sa pamamagitan ng Mga Setting → Privacy → Pagsubaybay. Hindi maaaring programmatically i-reset ng app ang status — sa pamamagitan lamang ng mga system setting.

Paano taasan ang porsyento ng pahintulot ng ATT?

Gumamit ng pre-permission screen na may paliwanag ng benepisyo, humingi ng pagsubaybay hindi sa unang paglunsad kundi pagkatapos magsagawa ng target na aksyon. Ang Meta (2024) ay nagpakita ng 35% na pagtaas sa pahintulot sa naantalang kahilingan.

Naaapektuhan ba ng ATT ang mga app para sa mga bata?

Ang mga app sa kategoryang “Para sa mga Bata” ay hindi maaaring gumamit ng IDFA at ATT para sa pagsubaybay ayon sa mga patakaran ng Apple. Bawal din silang maglipat ng data sa mga third party para sa analytics o advertising.

Buod

  • ATT — App Tracking Transparency, mandatoryong framework para sa kahilingan ng access sa IDFA sa iOS 14.5+
  • IDFA — advertising identifier ng device, protektado ng ATT laban sa hindi awtorisadong pag-access
  • System dialog — palaging nakikita ng gumagamit ang dialog na hindi mababago o malalampasan ng app
  • Pre-permission — sariling screen ng paliwanag ng benepisyo, nagpapataas ng pahintulot ng 20-40%
  • SKAdNetwork — walang alternatibong attribution mula sa Apple para sa mga app na walang access sa IDFA
  • Conversion — global consent rate ay 25-35%, sa Europe hanggang 50% dahil sa GDPR
  • Isama ang ATT bago tumawag ng anumang tracker at siguraduhing idagdag ang key na NSUserTrackingUsageDescription sa Info.plist

Gagawa kami ng mobile application na turnkey

Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.

Pag-usapan ang proyekto

Basahin din