App Tracking Transparency Framework (ab iOS 14)¶
Mit Einführung von iOS14 wird der bisherige LAT (Limit Ad Tracking) Mechanismus durch das neue Framework „App Tracking Transparency“ (ATT) abgelöst. Die IOLib iOS unterstützt ATT ab Version 2.2.0 und respektiert die über die App einzuholende Einwilligung resp. Ablehnung der Nutzer ebenso wie die Einstellungen/Restriktionen im jeweiligen Endgerät.
Im Wesentlichen sind dies die folgenden 2 Schritte:
1. In Xcode: Neuen Key in Info.plist einfügen
In der Information Property List des Projekts muss ein neuer Key „NSUserTrackingUsageDescription“ angelegt werden:
Dieser enthält einen Text (String) zur Erläuterung der Begründung für die Abfrage zum Tracking der Werbe-ID (IDFA) durch die jeweilige App.
2. In Xcode:
Direkt nach Start der App sollte die Authorisierungsanfrage ausgelöst werden, indem die Methode „requestTrackingAuthorization“ aufgerufen wird.
Objective-C:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Swift:
1 2 3 4 5 6 7 8 9 10 11 |
|
Wird diese Anfage zum ersten Mal gestellt, erscheint folgender Alert (Beispiel aus IOLibSample):
Der Text innerhalb des roten Rahmens entspricht exakt dem String, welcher in Schritt 1 in der Info.plist unter „NSUserTrackingUsageDescription“ definiert wurde.
Das iOS System persistiert die Wahl des Nutzer, daher erscheint dieser Alert exakt einmal. Wurde die Erlaubnis zur Abfrage in den System-Einstellungen des Gerätes global deaktiviert, dann wird der Alert nicht angezeigt.
Hinweis
Es ist ratsam, den App Nutzern vor Aufruf der ATT-Authorisierungsabfrage die Hintergründe dieser Abfrage ausführlicher zu erläutern. Dies könnte die Opt-in Quote deutlich erhöhen.
Die ATT-Authorisierungsabfrage wirkt sich wie folgt auf den AuthorizationStatus aus:
case notDetermined: IDFA, IDFV, InstallationID case authorized: IDFA, IDFV, InstallationID case denied: IDFV, InstallationID case restricted: IDFV, InstallationID IDFA = „AdvertisingIdentifier“ IDFV = „VendorIdentifier“ InstallationID = Zufällige, von der Lib erzeugte ID (Reset bei Neuinstallation der App) authorized = „Tracking“ global erlaubt bzw. Optin-Abfrage in der App erlaubt denied = „Tracking“ nach Optin-Abfrage in der App abgelehnt oder global deaktiviert notDetermined = Nutzer wurde noch nicht gefragt restricted = Einstellung kann vom Nutzer nicht geändert werden, da gesperrt
Da Apple die Pflicht des Einbaus der Abfrage des Advertising Identifiers auf April 2021 verschoben hat, kann eine App noch mit dem SDK13 kompiliert werden. So erscheint in der App keine ATT-Authorisierungsabfrage. Der AuthorizationStatus bleibt auf „NotDetermined“ und somit wird weiterhin der Advertising Identifier geliefert.