Info
Inhalt

[iOS] 4. Arbeiten mit ATT (App Tracking Transparency / iOS)

Übersicht

Alle neuen Apps, die im App Store eingereicht werden, müssen den Tracking Transparency (ATT) App Richtlinien für iOS 14.0+. Diese Richtlinien verbessern die Privatsphäre der Benutzer, indem sie vor dem Tracking eine ausdrückliche Zustimmung erfordern. Dieses Dokument beschreibt die notwendigen Schritte zur Implementierung von ATT bei Verwendung unseres CMP SDK. Alle mit ATT verbundenen Methoden wurden aufgrund von Einschränkungen im Zusammenhang mit dem Lebenszyklus der App aus unserem CMP SDK v3 entfernt. Daher muss das gesamte ATT in der mobilen App selbst und nicht über unser SDK verwaltet werden, da unser SDK den Lebenszyklus der mobilen App, in die es integriert ist, nicht kennt. Laut Offizielle Dokumentation von Apple:

Aufrufe der API erfolgen nur, wenn der Anwendungsstatus UIApplicationStateActive

1. Fügen Sie das ATT-Framework in Xcode hinzu

Integrieren AppTrackingTransparency.frameworknavigieren Sie zu:

<PROJECT_NAME>.xcproject / <PROJECT_NAME>.xcworkspace -> General -> Frameworks, Libraries, and Embedded Content.

Stellen Sie sicher, dass das Framework korrekt eingebettet ist, um die ATT-Funktionalität zu aktivieren.


2. NSUserTrackingUsageDescription hinzufügen

Fügen Sie den folgenden Schlüssel in Ihre Info.plist Datei:

<key>NSUserTrackingUsageDescription</key>
<string>Your app description explaining why tracking permission is requested.</string>

Diese Nachricht wird den Benutzern in der ATT-Zustimmungsaufforderung angezeigt.


3. Tracking-Autorisierung anfordern

Um eine ordnungsgemäße Handhabung der Einwilligung zu gewährleisten, fordern Sie ATT-Berechtigung beim ersten Start der App. Dies sollte nur geschehen, wenn der Zustimmungsstatus des Benutzers unbekannt ist.

Beispielimplementierung:

import AppTrackingTransparency

class AppDelegate: UIApplicationDelegate {
    // IMPORTANT: this is the proper lifecycle event where the request needs to be done
    func applicationDidBecomeActive(_ application: UIApplication) {
        if #available(iOS 14, *) {
            ATTrackingManager.requestTrackingAuthorization { status in
                switch status {
                    case .authorized:
                        print("Tracking enabled")
                    case .denied, .notDetermined, .restricted:
                        print("Tracking disabled")
                }
            }
        }
    }
}

Hinweis: Stellen Sie sicher, dass die UI-bezogene Logik ausgeführt wird. DispatchQueue.main Warteschlange, da der Abschlusshandler standardmäßig in einer gleichzeitigen Warteschlange ausgeführt wird.


4. Überwachen Sie den Status der Tracking-Autorisierung

Verwende ATTrackingManager.trackingAuthorizationStatus um Änderungen des Zustimmungsstatus zu verfolgen. Folgende Zustände sind möglich:

  • .authorized - Der Benutzer hat seine Zustimmung erteilt.
  • .denied - Dem Benutzer wurde die Tracking-Berechtigung verweigert.
  • .notDetermined – Der Benutzer hat noch keine Auswahl getroffen.
  • .restricted – Das Tracking ist eingeschränkt (z. B. über MDM).

Für Konsistenz behandeln eingeschränkt as verweigert es sei denn, es liegt eine ausdrückliche Zustimmung des Verkäufers vor.


Wenn Ihre App Analysefunktionen von Drittanbietern verwendet, aktualisieren Sie deren Konfiguration basierend auf dem ATT-Status des Benutzers:

  • Deaktivieren Sie das Analytics-Tracking für Benutzer, die das Tracking verweigern oder einschränken.
  • Anonymisiertes Tracking nutzen wenn der Analyseanbieter eine Opt-out-Einstellung anbietet (z. B. mParticles Optischer Ausgang Modus).
  • Überprüfen der SDK-Richtlinien regelmäßig, um den Datenschutzanforderungen von Apple zu entsprechen.

Beispiel für Firebase:

  • Wenn keine Anzeigenframeworks verknüpft sind, greift Firebase Analytics nicht auf die Werbekennung zu.
  • Wenn Sie Analysen mit Anzeigen verwenden, stellen Sie vor der Übermittlung die Einhaltung der ATT-Richtlinien sicher.

Für Apps, die keine erweiterten Analysen erfordern, App Store Analytics (zugänglich über App Store Connect) kann ausreichende Einblicke liefern und gleichzeitig die Einhaltung der Vorschriften gewährleisten.


6. Zusätzliche Überlegungen

  • ATT-Anrufe in eine iOS-Versionsprüfung einbinden um Abstürze bei älteren Versionen zu vermeiden:

    if #available(iOS 14.0, *) {
        ATTrackingManager.requestTrackingAuthorization { _ in }
    }
    
  • Einwilligungsverfolgung für ältere iOS-Versionen mithilfe von Backend-Flags oder lokalem Speicher.

  • Befolgen Sie die ATT-Verordnung umgehend, da bei Nichteinhaltung App-Updates blockiert werden können, selbst im Falle kritischer Fehlerbehebungen.

Weitere Informationen zum Verwalten der Benutzereinwilligung innerhalb der App finden Sie unter Apples ATT-Dokumentation.

Nach oben