[iOS] 4. Praca z ATT (przejrzystość śledzenia aplikacji / iOS)
Zakładka Podgląd
Wszystkie nowe aplikacje przesyłane do App Store muszą być zgodne z wytycznymi firmy Apple Przejrzystość śledzenia aplikacji (ATT) wytyczne dla iOS 14.0+. Te wytyczne zwiększają prywatność użytkownika, wymagając wyraźnej zgody przed śledzeniem. Ten dokument przedstawia niezbędne kroki w celu wdrożenia ATT podczas korzystania z naszego zestawu SDK CMP. Wszystkie metody związane z ATT zostały usunięte z naszego zestawu SDK CMP v3 ze względu na ograniczenia związane z cyklem życia aplikacji. W związku z tym wszystkimi metodami ATT należy zarządzać w samej aplikacji mobilnej, a nie za pośrednictwem naszego zestawu SDK, gdyż nasz zestaw SDK nie jest świadomy cyklu życia aplikacji mobilnej, z którą jest integrowany. Zgodnie z Oficjalna dokumentacja firmy Apple:
Wywołania interfejsu API są wyświetlane tylko wtedy, gdy stan aplikacji jest UIApplicationStateActive
1. Dodaj ATT Framework w Xcode
Integrować Framework Transparency śledzenia aplikacji, przejdź do:
<PROJECT_NAME>.xcproject / <PROJECT_NAME>.xcworkspace -> General -> Frameworks, Libraries, and Embedded Content.
Upewnij się, że struktura jest prawidłowo osadzona, aby umożliwić działanie funkcji ATT.
2. Dodaj NSUserTrackingUsageDescription
Dołącz następujący klucz do swojego Info.plist file:
<key>NSUserTrackingUsageDescription</key>
<string>Your app description explaining why tracking permission is requested.</string>
Ta wiadomość zostanie wyświetlona użytkownikom w monicie o zgodę ATT.
3. Poproś o autoryzację śledzenia
Aby zapewnić prawidłowe przetwarzanie zgody, poproś Pozwolenie ATT przy pierwszym uruchomieniu aplikacji. Powinno to nastąpić tylko wtedy, gdy status zgody użytkownika jest nieznany.
Przykładowa implementacja:
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")
}
}
}
}
}
Uwaga: Upewnij się, że logika związana z interfejsem użytkownika jest wykonywana na DispatchQueue.main
kolejki, ponieważ domyślnie program do obsługi ukończenia działa w kolejce współbieżnej.
4. Monitoruj status autoryzacji śledzenia
Zastosowanie ATTrackingManager.trackingAuthorizationStatus
aby śledzić zmiany statusu zgody. Możliwe są następujące stany:
Aby zachować spójność, potraktuj ograniczony as odmówiono chyba że sprzedawca wyrazi wyraźną zgodę.
5. Obsługa zgody w narzędziach Analytics i zestawach SDK innych firm
Jeśli Twoja aplikacja korzysta z narzędzi analitycznych stron trzecich, zaktualizuj ich konfigurację na podstawie statusu ATT użytkownika:
- Wyłącz śledzenie analiz dla użytkowników, którzy odmawiają lub ograniczają śledzenie.
- Użyj anonimowego śledzenia jeśli dostawca usług analitycznych oferuje ustawienie rezygnacji (np. mParticle Wypisz się tryb).
- Przejrzyj zasady SDK regularnie, aby zachować zgodność z wymogami ochrony prywatności firmy Apple.
Przykład dla Firebase:
- Jeśli nie połączono żadnych struktur reklamowych, Firebase Analytics nie uzyska dostępu do identyfikatora reklamy.
- Jeśli korzystasz z narzędzi analitycznych w reklamach, przed przesłaniem wniosku upewnij się, że są one zgodne z wytycznymi ATT.
W przypadku aplikacji, które nie wymagają zaawansowanej analizy, Analityka sklepu z aplikacjami (dostępne za pośrednictwem App Store Connect) może zapewnić wystarczające informacje przy jednoczesnym zapewnieniu zgodności.
6. Dodatkowe uwagi
-
Zawijaj połączenia ATT w sprawdzaniu wersji systemu iOS aby uniknąć awarii w starszych wersjach:
if #available(iOS 14.0, *) { ATTrackingManager.requestTrackingAuthorization { _ in } }
-
Śledź zgodę w przypadku starszych wersji systemu iOS używając flag zaplecza lub lokalnego magazynu.
-
Niezwłocznie dostosuj się do ATT, ponieważ brak zgodności może zablokować aktualizacje aplikacji, nawet w przypadku poprawek krytycznych błędów.
Aby uzyskać więcej informacji na temat zarządzania zgodą użytkownika w aplikacji, zapoznaj się z Dokumentacja ATT firmy Apple.