W iOS 14.5 Apple wymaga od deweloperów uzyskania zgody użytkownika za pomocą App Tracking Transparency, aby je śledzić lub uzyskiwać dostęp do identyfikatora wyświetlania reklam (IDFA) na urządzeniu. Więcej informacji znajdziesz w dokumentacji Zasady Apple dotyczące prywatności użytkownika i wykorzystywania danych oraz dokumentacji Apple dotyczącej przejrzystości śledzenia w aplikacjach.
Usługi Firebase, których to dotyczy
Pakiety SDK Firebase nie mają dostępu do identyfikatora IDFA, choć niektóre mają integrację z Google Analytics, które mogą wiązać się z dostępem do identyfikatora IDFA.
Tabela poniżej zawiera listę usług Firebase dostępnych na platformach Apple oraz opis wpływu braku identyfikatora IDFA na działanie poszczególnych usług.
Usługa | Konsekwencje braku dostępu do identyfikatora IDFA |
---|---|
A/B Testing | Niektóre dane kierowania (np. dane demograficzne) w ramach integracji A/B Testing z Google Analytics pochodzą z identyfikatora IDFA. W przypadku aplikacji bez dostępu do identyfikatora IDFA ta opcja kierowania jest niedostępna. |
App Check | Brak wpływu |
App Distribution | Brak wpływu |
Authentication | Nie ma to wpływu na dostawców usług Authentication i usług Authentication, takich jak logowanie w Google i uwierzytelnianie przez telefon. |
Crashlytics | Brak wpływu. Integracja Crashlytics z Google Analytics które dostarcza dane o awariach w czasie rzeczywistym i menu nawigacyjne, nie zależą od identyfikator IDFA. |
Dynamic Links | Nie ma wpływu na funkcję otwierania linków. W przypadku korzystania z funkcji Google Analytics atrybucja zdarzeń konwersji z linku jest niedostępna. |
Cloud Firestore | Brak wpływu |
Cloud Functions | Brak wpływu |
In-App Messaging | Brak wpływu |
Firebase instalacji | Brak wpływu |
InstanceID | Brak wpływu |
Cloud Messaging | Gdy używasz Google Analytics, Google Analytics automatycznie rejestruje niektóre zdarzenia konwersji związane z FCM. Atrybucja w przypadku tych zdarzeń wymaga dostępu do identyfikatora IDFA. |
Firebase ML | Brak wpływu |
Performance Monitoring | Brak wpływu |
Remote Config | W połączeniu z zasadą Google Analytics, Remote Config nie zezwala automatycznie tworzone właściwości użytkownika służące do kierowania reklam bez dostępu do identyfikatora IDFA. |
Realtime Database | Brak wpływu |
Cloud Storage | Brak wpływu |
Vertex AI in Firebase | Brak wpływu |
Dotknięte integracje z Firebase
W tabeli poniżej znajdziesz usługi zintegrowane z Firebase, których dotyczy problem, jeśli identyfikator IDFA jest niedostępne.
Usługa | Wpływ braku dostępu do identyfikatora IDFA |
---|---|
Google Analytics | Analytics rejestrowanie, raportowanie i pomiar konwersji nie są na to narażone, ale atrybucja może być zakłócona, jeśli identyfikator IDFA jest niedostępny. Więcej informacji o reakcji Google na iOS 14 znajdziesz w Post na blogu. |
Wyświetlanie prośby o zezwolenie na śledzenie w aplikacji na iOS 14
Jeśli chcesz, aby aplikacja Apple miała dostęp do identyfikatora IDFA, możesz dodać stosować do aplikacji zasady App Tracking Transparency firmy Apple i prosić o zgodę na ich używanie; do śledzenia lub uzyskiwania dostępu do aplikacji samych użytkowników, identyfikator IDFA.
Wiele aplikacji wyświetla ekran wstępny z wyjaśnieniem przed poproszeniem o uprawnienia. Na ekranie z wyjaśnieniem możesz informować użytkowników o tym, jak Twoja aplikacja wykorzystuje identyfikator IDFA, zanim poprosisz o dostęp do niego.
Jeśli jesteś wydawcą aplikacji AdMob lub Ad Managera, rozważ skorzystanie z Funding Choices, które automatycznie uzyskuje zgodę na wyświetlanie reklam spersonalizowanych i śledzenie użytkownika zgodnie z wytycznymi Apple. Zobacz Strona „AdMob Wyraź zgodę za pomocą wiadomości dla użytkowników” .
W przewodniku poniżej znajdziesz rozwiązanie wykorzystujące Firebase In-App Messaging do tworzenia wyświetlenie ekranu z wyjaśnieniem przed wysłaniem prośby o dostęp do śledzenia za pomocą App Tracking Transparency.
Dodaj In-App Messaging do swojej aplikacji
Postępuj zgodnie z instrukcjami, aby: dodaj In-App Messaging do aplikacji Apple.
Postępowanie w przypadku odrzucenia wiadomości w aplikacji
Po pierwsze, nie wyświetlaj ekranu z informacjami na urządzeniach, które nie mogą wyświetlić okna dialogowego z prośbą o zgodę, np. na urządzeniach z iOS 13. Upewnij się, że kod jest wykonywany bezpośrednio po FirebaseApp.configure()
.
Swift
if NSClassFromString("ATTrackingManager") == nil {
// Avoid showing the App Tracking Transparency explainer if the
// framework is not linked.
InAppMessaging.inAppMessaging().messageDisplaySuppressed = true
}
Zaimplementuj tag
InAppMessagingDisplayDelegate
do obsługi zdarzeń, gdy użytkownik zamknie ekran z wyjaśnieniem. Jeśli
użytkownik klika OK, wyświetla prompt systemowy za pomocą funkcji App Tracking Transparency
platformy.
Swift
// The InAppMessaging delegate must be assigned before events can be handled.
InAppMessaging.inAppMessaging().delegate = self
func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage,
with action: InAppMessagingAction) {
switch action.actionText {
case "OK":
ATTrackingManager.requestTrackingAuthorization { status in
switch status {
case .authorized:
// Optionally, log an event when the user accepts.
Analytics.logEvent("tracking_authorized", parameters: nil)
case _:
// Optionally, log an event here with the rejected value.
}
}
case _:
// do nothing
}
}
Utwórz kampanię In-App Messaging
Gdy kod zostanie umieszczony w aplikacji, utwórz w konsoli Firebase wiadomość wyświetlaną w aplikacji.
- W konsoli Firebase, utwórz nową kampanię In-App Messaging.
- Wypełnij wiadomości w aplikacji odpowiednimi treściami i ustaw zdarzenie
app_launch
jako wyzwalacz wiadomości. - W sekcji Kierowanie upewnij się, że kampania jest kierowana tylko na z najnowszej wersji aplikacji lub nowszej.
Wygląd ekranu z wyjaśnieniem możesz dostosować, postępując zgodnie z instrukcjami instrukcji w dokumentacja In-App Messaging.
Opcjonalnie: przeprowadź testy A/B różnych ekranów z informacjami
Aplikacja In-App Messaging ma wbudowaną integrację z usługą Firebase A/B Testing, które możesz wykorzystać do eksperymentowania z różnymi ekranami z wyjaśnieniem.
Firebase A/B Testing automatycznie tworzy grupy eksperymentów i pomaga Ci wizualizować interakcje użytkowników z różnymi wariantami aplikacji.
Rejestrowanie uprawnień do śledzenia aplikacji
Jeśli podczas obsługi śledzenia aplikacji nie zostało zarejestrowane zdarzenie Google Analytics odpowiedzi na uprawnienia użytkownika, musisz wykonać tę czynność, aby mierzyć zmiany odsetek odpowiedzi w trakcie eksperymentu A/B.
Swift
ATTrackingManager.requestTrackingAuthorization { status in
switch status {
case .authorized:
// Optionally, log an event when the user accepts.
Analytics.logEvent("tracking_authorized", parameters: nil)
case _:
// Optionally, log an event here with the rejected value.
}
}
Tworzenie nowego zdarzenia konwersji
W Sekcja Analytics w konsoli Firebase, otwórz menu Konwersje i dodaj nową zdarzenie konwersji o tej samej nazwie co zdarzenie zarejestrowane za pomocą przykładowego kodu powyżej.
Utwórz nowy eksperyment
W menu konsoli In-App Messaging kliknij Nowy eksperyment, a potem postępuj zgodnie z instrukcjami wyświetlanymi na kolejnych ekranach.
- W sekcji Kierowanie upewnij się, że kampania jest kierowana tylko na z najnowszej wersji aplikacji lub nowszej.
- W sekcji Cele wybierz zdarzenie konwersji utworzone za pomocą makra przykładowego kodu powyżej, jak również innych wskaźników, które chcesz śledzić.
Po opublikowaniu eksperymentu będzie on musiał zebrać dane zanim będzie można uzyskać jednoznaczne wyniki.
Przeczytaj Dokumentacja Firebase A/B Testing można znaleźć informacje na temat monitorowania eksperymentu i wdrażania skutecznego wersji.