Panduan Pengoptimuman ATT Apple: Cara Meningkatkan Kadar Opt-In ATT

opoinstall
2026-08-20
5 min read

Bagaimana cara mengoptimumkan kadar opt-in Ketelusan Penjejakan Apl (ATT)? Meningkatkan pengalaman kebenaran ATT melibatkan penyediaan konteks pra-kebenaran yang jelas, menulis NSUserTrackingUsageDescription yang tepat, dan memilih titik yang relevan dalam perjalanan pengguna untuk memaparkan permintaan kebenaran sistem. Kesan terhadap kadar kebenaran harus diukur secara empirik.

Pengenal pasti untuk Pengiklan (IDFA) ialah pengecam peranti boleh tetapkan semula yang disediakan oleh Apple yang digunakan untuk atribusi dan pengukuran pengiklanan pada iOS. Di bawah rangka kerja Ketelusan Penjejakan Apl (ATT), aplikasi boleh mengakses IDFA hanya selepas menerima kebenaran eksplisit daripada pengguna melalui gesaan kebenaran ATTrackingManager.

Terma Definisi
IDFA Pengecam pengiklanan peringkat platform Apple yang dikawal oleh Ketelusan Penjejakan Apl.
Ketelusan Penjejakan Apl Rangka kerja Apple yang memerlukan kebenaran pengguna sebelum menjejaki pengguna merentas aplikasi dan laman web.
ATTrackingManager API AppTrackingTransparency asli yang digunakan untuk meminta kebenaran penjejakan.
Primer Pra-Kebenaran Skrin dalam apl tersuai yang dipaparkan sebelum gesaan sistem untuk menerangkan sebab kebenaran diminta.

Ekonomi Akses IDFA dan Pengoptimuman Persetujuan ATT

Peranan Akses IDFA Yang Dibenarkan dalam Pengukuran iOS Moden

Akses IDFA yang dibenarkan boleh menyokong atribusi pengiklanan peringkat pengguna dan aliran kerja pengukuran apabila penggunaan data penjejakan aplikasi mematuhi ATT serta keperluan rakan kongsi pengiklanan dan pengukuran. Apabila kebenaran penjejakan tidak tersedia, pasukan yang masih memerlukan pengukuran pengiklanan boleh menggunakan pendekatan pengantaraan platform yang dibenarkan secara bebas seperti AdAttributionKit atau integrasi SKAdNetwork sedia ada.

Apabila dibenarkan, IDFA menyediakan kunci gabungan deterministik untuk integrasi rangkaian iklan yang disokong, membolehkan pendamaian penukaran peringkat kempen tanpa pemodelan statistik. Apabila kebenaran ditolak, aplikasi mengalihkan pengukuran kepada rangka kerja asli platform.

Masalah dengan Gesaan Pelancaran Sejuk Segera

Meminta pengguna untuk kebenaran penjejakan serta-merta semasa pelancaran sejuk dibenarkan dari segi teknikal oleh Apple, tetapi ia mungkin memberikan kurang konteks untuk keputusan kebenaran yang maklum kerana pengguna belum lagi mengalami fungsi aplikasi:

  • Ketiadaan Kepercayaan Produk: Pengguna kali pertama belum lagi membina keyakinan terhadap fungsi aplikasi, nilai jenama, atau amalan keselamatan data.
  • Konteks Tidak Jelas: Dialog sistem asli muncul tanpa penjelasan terlebih dahulu, menyebabkan pengguna yang berhati-hati memilih lalai kepada “Minta Apl Jangan Jejaki”.
  • Keletihan Kebenaran: Menumpuk berbilang dialog kebenaran sistem (seperti Pemberitahuan Push, ATT, dan Lokasi) semasa pelancaran awal apl mewujudkan geseran dan meningkatkan kadar pengabaian onboarding. Dokumentasi API Apple menyatakan bahawa jika amaran kebenaran sedia ada sudah belum selesai, permintaan kebenaran berikutnya tidak akan muncul.

Perjalanan kebenaran opt-in ATT dan aliran primer

Menilai Prestasi Opt-In Secara Empirik

Kadar persetujuan yang boleh dicapai berbeza mengikut kategori apl, kepercayaan audiens, masa gesaan, and kejelasan salinan. Pasukan harus menilai varian pengoptimuman menggunakan ujian A/B terkawal daripada bergantung pada penanda aras industri tetap.

Lihat Juga: IDFA ──> Model Atribusi Mudah Alih

Mekanik Teknikal Rangka Kerja AppTrackingTransparency

Empat Status Kebenaran

Akses kepada IDFA dikawal secara ketat oleh enum ATTrackingManager.AuthorizationStatus:

  • notDetermined (0): Pengguna belum lagi diberikan dialog kebenaran.
  • restricted (1): Peranti disekat oleh kawalan ibu bapa, profil konfigurasi pendidikan, atau MDM korporat; kebenaran penjejakan tidak boleh diberikan dan butang tetapan dilumpuhkan.
  • denied (2): Apl tidak mempunyai kebenaran untuk mengakses data berkaitan apl untuk penjejakan selepas pengguna menolak permintaan tersebut.
  • authorized (3): Pengguna membenarkan penjejakan. Pada peranti iOS dan iPadOS yang disokong, ini biasanya membenarkan akses kepada pengecam pengiklanan bukan sifar.

Status kebenaran ATT dan tingkah laku IDFA

Peraturan Gesaan Sistem Sekali Sahaja

Sistem pengendalian iOS menguatkuasakan peraturan persembahan tunggal untuk ATTrackingManager.requestTrackingAuthorization. Sebaik sahaja pengguna berinteraksi dengan modal asli sama ada dengan memilih “Benarkan” atau “Minta Apl Jangan Jejaki”, sistem mengingati status yang ditentukan dan tidak memaparkan gesaan itu lagi semasa pemasangan apl tersebut.

Walaupun gesaan sistem tidak akan muncul kali kedua, pengguna boleh melaraskan kebenaran penjejakan mereka secara manual pada bila-bila masa dalam Tetapan iOS.

Bagaimana iOS Menguatkuasakan Pengsifaran Pengecam Apabila Kebenaran Penjejakan Ditolak

Pada iOS 14.5 dan lebih baharu, pengecam pengiklanan biasanya mengembalikan semua sifar (00000000-0000-0000-0000-000000000000) apabila kebenaran penjejakan tidak diberikan. Pembangun harus mengesahkan kedua-dua status kebenaran ATT dan nilai pengecam yang dikembalikan atas permintaan daripada mengandaikan rentetan yang dicache kekal sah merentas pelancaran aplikasi.

Seni Bina UX Penukaran Tinggi: Strategi Primer Pra-Kebenaran

Anatomi Primer Konteks Berkesan: Kekangan HIG Apple

Menurut Garis Panduan Antara Muka Pengguna Apple mengenai Privasi, aplikasi boleh membentangkan skrin pra-amaran tersuai sebelum gesaan kebenaran sistem jika konteks tambahan diperlukan. Walau bagaimanapun, Apple mengenakan peraturan reka bentuk yang ketat pada primer pra-kebenaran ini:

  • Butang Tindakan Tunggal: Skrin pra-kebenaran mesti menyediakan hanya satu butang (seperti “Teruskan” atau “Seterusnya”) yang menuju terus ke gesaan sistem. Ia tidak boleh menawarkan butang “Batal”, “Tutup”, atau “Tidak Sekarang” yang memintas atau melambatkan amaran sistem.
  • Tiada Peniruan UI: Skrin primer tidak boleh meniru secara visual kotak amaran sistem iOS asli atau memaparkan butang palsu berlabel “Benarkan”.
  • Tiada Paksaan Visual: Antara muka tidak boleh menggunakan grafik, anak panah, atau penggayaan kontras tinggi yang direka untuk memanipulasi atau mendorong pengguna ke arah memilih “Benarkan” pada gesaan sistem berikutnya.

Mematuhi Garis Panduan Semakan App Store 5.1.2

Di bawah Garis Panduan Semakan App Store Apple Seksyen 5.1.2, Apple menguatkuasakan sempadan yang jelas mengenai permintaan kebenaran:

  • Larangan Penjejakan Berkaitan Insentif: Apl dilarang sama sekali menawarkan insentif kewangan, mata wang maya, kandungan premium, atau diskaun sebagai pertukaran untuk memberikan persetujuan ATT. Berbuat demikian melanggar Garis Panduan 5.1.2 dan boleh mengakibatkan penolakan apl.
  • Tiada Sekatan Fungsi Teras: Aplikasi tidak boleh menyekat ciri teras, menghalang penciptaan akaun, atau menurunkan prestasi apl jika pengguna menolak kebenaran penjejakan.
  • Keinginan Utama Pilihan Pengguna: Pilihan penjejakan sebenar pengguna mesti sentiasa dibuat pada gesaan sistem Apple asli.

Peraturan reka bentuk primer pra kebenaran ATT



Peringkat 1: Onboarding Pengguna / Realisasi Nilai Teras
                      │
                      ▼
Peringkat 2: Skrin Primer Pra-Kebenaran Kontekstual
         (Tindakan Tunggal "Teruskan" ── Menjelaskan Tujuan)
                      │
                      ▼
Peringkat 3: Modal Sistem ATTrackingManager iOS Asli
         (Pengguna Memilih "Benarkan" atau "Minta Apl Jangan Jejaki")
                      │
         ┌────────────┴────────────┐
         ▼                         ▼
   [.authorized]             [.denied]
   ATT Dibenarkan       P Fallback Anggun
   (IDFA biasanya       kepada API Platform
    tersedia)           (AdAttributionKit / SKAN)

Mengoptimumkan Rentetan NSUserTrackingUsageDescription

Mengkonfigurasi Info.plist untuk Ketelusan Tujuan

Kunci NSUserTrackingUsageDescription dalam Info.plist menentukan rentetan penerangan yang dipaparkan terus dalam amaran sistem ATT Apple asli. Menurut dokumentasi Apple, rentetan ini mesti ringkas, khusus, dan menerangkan dengan tepat cara data penjejakan digunakan.

Menguji Varian Rentetan Tujuan Jelas Tanpa Mengubah Pendedahan Asas

Apabila menguji variasi rentetan, setiap varian yang diuji mesti menerangkan dengan tepat dan lengkap amalan penjejakan sebenar aplikasi:

  • Fokus Pemperibadian: Menjelaskan cara data digunakan untuk menyesuaikan cadangan kandungan and cadangan produk.
  • Fokus Kaitan Iklan: Menjelaskan cara data digunakan untuk menyampaikan promosi yang relevan dan mengelakkan iklan berulang.
  • Fokus Pengukuran Kempen: Menjelaskan cara data digunakan untuk mengukur prestasi perkongsian pengiklanan.

Konfigurasi di bawah menggambarkan contoh NSUserTrackingUsageDescription. Gunakannya hanya jika perkataan tersebut menerangkan dengan tepat amalan penjejakan sebenar apl:


```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>NSUserTrackingUsageDescription</key>
    <string>Data anda akan digunakan untuk menyampaikan cadangan produk yang diperibadikan, tawaran promosi yang relevan, dan mengukur prestasi kempen pengiklanan.</string>
</dict>
</plist>

Kejuruteraan Pencetus Masa Gesaan Optimum dalam Kitaran Hayat Pengguna

Pertimbangan Masa merentas Perjalanan Pengguna

Walaupun meminta kebenaran ATT pada pelancaran pertama dibenarkan dari segi teknikal, membentangkan gesaan selepas pengguna mengalami utiliti produk awal boleh memberikan konteks yang lebih relevan untuk permintaan kebenaran:

  • Pencetus Pasca-Onboarding: Membentangkan gesaan selepas pengguna selesai menyediakan akaun dan mengkonfigurasi keutamaan awal.
  • Pencetus Milestones Kontekstual: Membentangkan gesaan selepas melengkapkan tindakan pengguna teras (cth., melengkapkan tutorial onboarding dalam permainan, menyimpan item kegemaran dalam apl beli-belah, atau menanda halaman artikel dalam apl kandungan).

Pelaksanaan Kejuruteraan ATTrackingManager dalam Swift

Mengendalikan Keadaan Aktif Aplikasi dan Keselamatan Benang

Menurut dokumentasi API Apple, ATTrackingManager.requestTrackingAuthorization memaparkan dialog modal hanya apabila keadaan aplikasi adalah .active. Jika gesaan kebenaran lain aktif atau belum selesai, amaran sistem tidak akan muncul, dan permintaan serentak tidak beratur oleh sistem pengendalian.

Masa gesaan ATT dan syarat permintaan

Pelaksanaan di bawah mengasingkan pengurusan status kebenaran daripada paparan pra-kebenaran tersuai ilustrasi:

import UIKit
import AppTrackingTransparency
import AdSupport

final class ATTManager {

    static let shared = ATTManager()
    private init() {}

    /// Menilai status kebenaran semasa
    var currentStatus: ATTrackingManager.AuthorizationStatus {
        return ATTrackingManager.trackingAuthorizationStatus
    }

    /// Menentukan sama ada kebenaran penjejakan boleh dibentangkan
    var canRequestAuthorization: Bool {
        return currentStatus == .notDetermined
    }

    /// Meminta kebenaran penjejakan dengan pengesahan keadaan aktif aplikasi
    /// - Parameter completion: Penutupan yang mengembalikan status kebenaran yang diselesaikan
    func requestAuthorization(completion: @escaping (ATTrackingManager.AuthorizationStatus) -> Void) {
        guard canRequestAuthorization else {
            completion(currentStatus)
            return
        }

        // Sahkan aplikasi aktif sebelum memanggil requestTrackingAuthorization
        guard UIApplication.shared.applicationState == .active else {
            print("Permintaan ATT dilangkau: aplikasi tidak aktif. Hubungi semula setelah aktif jika status kekal notDetermined.")
            completion(currentStatus)
            return
        }

        DispatchQueue.main.async {
            ATTrackingManager.requestTrackingAuthorization { status in
                DispatchQueue.main.async {
                    switch status {
                    case .authorized:
                        // Baca pengecam pengiklanan semasa atas permintaan; jangan kekalkan IDFA yang dicache.
                        let idfa = ASIdentifierManager.shared().advertisingIdentifier.uuidString
                        print("ATT Dibenarkan - IDFA tersedia: \(idfa)")
                    case .denied:
                        print("ATT Ditolak - Pengecam pengiklanan mengembalikan sifar")
                    case .restricted:
                        print("ATT Dihadkan oleh profil sistem")
                    case .notDetermined:
                        print("ATT Keadaan belum diselesaikan")
                    @unknown default:
                        print(

"Keadaan tidak diketahui ATT ditemui")
                    }
                    completion(status)
                }
            }
        }
    }
}

/// UIViewController tersuai ilustrasi untuk primer pra-kebenaran yang selaras dengan HIG
final class ATTPrimerViewController: UIViewController {

    private let continueButton = UIButton(type: .system)
    private let titleLabel = UILabel()
    private let descriptionLabel = UILabel()

    var onContinueTapped: (() -> Void)?

    override func viewDidLoad() {
        super.viewDidLoad()
        setupUI()
    }

    private func setupUI() {
        view.backgroundColor = .systemBackground
        
        // Cegah leret interaktif untuk menutup apabila dibentangkan secara modal untuk memastikan navigasi laluan tunggal
        isModalInPresentation = true

        titleLabel.text = "Bantu Kami Memperibadikan Pengalaman Anda"
        titleLabel.font = .boldSystemFont(ofSize: 20)
        titleLabel.textAlignment = .center
        titleLabel.numberOfLines = 0

        descriptionLabel.text = "Kami menggunakan data untuk menyesuaikan cadangan produk dan menyampaikan tawaran promosi yang relevan. Pada skrin seterusnya, anda akan melihat gesaan kebenaran standard Apple untuk mengesahkan pilihan anda."
        descriptionLabel.font = .systemFont(ofSize: 15)
        descriptionLabel.textAlignment = .center
        descriptionLabel.textColor = .secondaryLabel
        descriptionLabel.numberOfLines = 0

        // Panduan HIG Apple memerlukan satu tindakan Teruskan atau Seterusnya
        continueButton.setTitle("Teruskan", for: .normal)
        continueButton.titleLabel?.font = .boldSystemFont(ofSize: 17)
        continueButton.addTarget(self, action: #selector(handleContinue), for: .touchUpInside)

        let stack = UIStackView(arrangedSubviews: [titleLabel, descriptionLabel, continueButton])
        stack.axis = .vertical
        stack.spacing = 20
        stack.translatesAutoresizingMaskIntoConstraints = false

        view.addSubview(stack)
        NSLayoutConstraint.activate([
            stack.centerXAnchor.constraint(equalTo: view.centerXAnchor),
            stack.centerYAnchor.constraint(equalTo: view.centerYAnchor),
            stack.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 32),
            stack.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -32)
        ])
    }

    @objc private func handleContinue() {
        // Mekanik pembentangan dan pemecatan adalah ilustrasi dan harus disesuaikan dengan seni bina navigasi apl.
        dismiss(animated: true) { [weak self] in
            self?.onContinueTapped?()
        }
    }
}

Pemulihan Pasca-Penolakan: Membimbing Pengguna ke Tetapan Sistem Tanpa Melanggar Dasar

Bilakah Perlu Memperkenalkan Aliran Kerja Tetapan Sekunder

Apabila pengguna memilih “Minta Apl Jangan Jejaki”, status kebenaran diselesaikan kepada .denied. Panggilan seterusnya kepada requestTrackingAuthorization mengembalikan .denied tanpa memaparkan dialog. Walau bagaimanapun, jika pengguna kemudiannya memulakan ciri yang mendapat faedah jelas daripada penjejakan (seperti meminta tetapan pengiklanan yang diperibadikan dalam profil akaun mereka), apl boleh menyediakan laluan yang tidak memaksa ke Tetapan iOS.

Menggunakan UIApplication.openSettingsURLString

Untuk membimbing pengguna ke anak tetingkap tetapan apl, gunakan UIApplication.openSettingsURLString:

if let settingsURL = URL(string: UIApplication.openSettingsURLString),
   UIApplication.shared.canOpenURL(settingsURL) {
    UIApplication.shared.open(settingsURL, options: [:], completionHandler: nil)
}

Perhatikan bahawa API ini membuka halaman tetapan khusus aplikasi; ia tidak menyediakan pautan mendalam (deep link) terus ke skrin global Tetapan > Privasi & Keselamatan > Penjejakan.

Sempadan Dasar App Store

  • Tiada Bebel Berterusan: Jangan paparkan sepanduk berulang yang mendesak pengguna untuk mendayakan penjejakan dalam tetapan.
  • Tiada Sekatan Ciri: Jangan sekali-kali melumpuhkan fungsi teras kerana penjejakan kekal dilumpuhkan dalam tetapan.

Matriks Keputusan Perbandingan: Strategi Pra-Kebenaran berbanding Gesaan Pelancaran Sejuk

Dimensi Gesaan Pelancaran Sejuk Lalai Modal Kebenaran Disekat Keras Primer Pra-Kebenaran Selaras HIG
Konteks Pengguna Sebelum Gesaan Rendah (Tiada penglibatan produk) Berbeza (Menyekat akses) Kontekstual (Dibentangkan selepas interaksi yang relevan)
Panduan UI/Kebenaran Apple Dibenarkan apabila permintaan dan penggunaan data mematuhi Tidak dibenarkan apabila akses atau pampasan bergantung pada penjejakan Dibenarkan apabila kekangan pra-amaran HIG dan peraturan penjejakan dipatuhi
Kekangan UI Pra-Amaran Apple Tatasusunan Tidak Berkenaan (N/A) Tatasusunan Tidak Berkenaan (N/A) Tindakan Teruskan/Seterusnya tunggal; tiada amaran palsu
Masa Gangguan Kebenaran Serta-merta semasa pelancaran Menyekat Milestone kontekstual
Kadar Opt-In Yang Pemerhatian Mesti diukur secara empirik Tidak dibenarkan Mesti diukur secara empirik

Soalan Lazim (FAQ)

Bolehkah apl menawarkan mata wang dalam apl atau diskaun sebagai pertukaran untuk memberikan kebenaran ATT?
Tidak. Garis Panduan Semakan App Store Apple 5.1.2 secara jelas melarang menawarkan insentif—seperti mata wang maya, ciri tambahan, tunai, atau diskaun—sebagai pertukaran untuk persetujuan pengguna untuk menjejak. Berbuat demikian melanggar garis panduan platform dan boleh mengakibatkan penolakan apl.
Bolehkah apl memaparkan gesaan ATT kedua jika pengguna mula-mula memilih "Minta Apl Jangan Jejaki"?
Tidak. iOS membenarkan gesaan asal <code>ATTrackingManager.requestTrackingAuthorization</code> dipaparkan hanya sekali setiap pemasangan apl. Jika pengguna menolak kebenaran, panggilan seterusnya mengembalikan <code>.denied</code> tanpa memaparkan dialog. Untuk melaraskan kebenaran, pengguna mesti mengemas kini pilihan penjejakan mereka secara manual dalam Tetapan iOS.
Adakah primer pra-kebenaran melanggar garis panduan App Store Apple?
Apple membenarkan penjelasan pra-amaran tersuai apabila konteks tambahan diperlukan, dengan syarat skrin mematuhi Garis Panduan Antara Muka Pengguna: ia mesti menggunakan satu tindakan Teruskan atau Seterusnya yang menuju terus ke gesaan sistem, tidak boleh menyertakan tindakan Batal atau Tutup pada primer, tidak boleh meniru amaran sistem asal, dan tidak boleh menggunakan perkataan atau petunjuk visual yang memberi tekanan kepada pengguna ke arah memilih Benarkan.

Ringkasan dan Rangka Kerja Keputusan

Meningkatkan pengalaman kebenaran ATT memerlukan pendedahan tujuan yang jelas dan masa yang sedar konteks. Apabila penjelasan tambahan diperlukan, primer pra-kebenaran yang selaras dengan HIG boleh menyediakan konteks sebelum gesaan sistem, sambil menyelaraskan pengalaman kebenaran dengan garis panduan penjejakan dan antara muka yang diterbitkan oleh Apple.

Jika konteks atribusi atau onboarding masih diperlukan selepas penolakan ATT, aplikasi boleh menggunakan mekanisme yang dibenarkan secara bebas seperti AdAttributionKit, integrasi SKAdNetwork sedia ada, or penghalaan kontekstual pihak pertama tulen yang kekal dalam peraturan penjejakan Apple.

Untuk penghalaan kontekstual khusus produk dan tingkah laku atribusi, semak dokumentasi OpoInstall dan nilai pelaksanaan terhadap keperluan penjejakan Apple yang berkenaan.

Bahan Berkaitan

  • Konsep: Ketelusan Penjejakan Apl, Pengoptimuman IDFA, Primer Pra-Kebenaran, Corong Persetujuan

  • Teknologi: Rangka Kerja StoreKit, Rangka Kerja AppTrackingTransparency, SDK Mudah Alih OpoInstall

  • Piawaian: Garis Panduan Antara Muka Pengguna Apple mengenai Privasi, Garis Panduan Semakan App Store Seksyen 5.1.2

  • API: ATTrackingManager.requestTrackingAuthorization, UIApplication.openSettingsURLString, ASIdentifierManager

Dokumentasi Rasmi

Share this article