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 Zasady Apple dotyczące 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.
W tabeli poniżej znajdziesz usługi Firebase dostępne na platformach Apple i opisuje, jak wpływa to na funkcjonalność każdej usługi, jeśli identyfikator IDFA nie jest stosowany. i łatwo dostępnych rozwiązań.
Usługa | Konsekwencje braku dostępu do identyfikatora IDFA |
---|---|
A/B Testing | Niektóre dane kierowania (np. dane demograficzne) w integracji z A/B Testing z Google Analytics jest pobierany z identyfikatora IDFA. W aplikacjach bez dostępu do identyfikatora IDFA to ustawienie kierowania jest niedostępne. |
App Check | Brak wpływu |
App Distribution | Brak wpływu |
Authentication | Brak wpływu na Authentication i własnych dostawców Authentication. takich jak Logowanie przez Google i uwierzytelnianie przez telefon. |
Crashlytics | Bez 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 to wpływu na funkcję otwierania linków. Gdy używasz z Google Analytics, atrybucja zdarzeń konwersji z linków to 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 tych zdarzeń wymaga dostępu do 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 na potrzeby kierowania bez dostępu do identyfikatora IDFA. |
Realtime Database | Brak wpływu |
Cloud Storage | Brak wpływu |
Vertex AI in Firebase | Brak wpływu |
Integracje z Firebase, których to dotyczy
W tabeli poniżej znajdziesz usługi zintegrowane z Firebase, których dotyczy problem, jeśli identyfikator IDFA jest niedostępne.
Usługa | Konsekwencje braku dostępu do identyfikatora IDFA |
---|---|
Google Analytics | Rejestrowanie zdarzeń Analytics, raportowanie zdarzeń i pomiar konwersji ale nie wpływa na atrybucję, jeśli identyfikator IDFA jest niedostępny. Więcej informacji o reakcji Google na iOS 14 znajdziesz w Post na blogu. |
Prośba o uprawnienia do śledzenia aplikacji w systemie 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 identyfikator IDFA.
Wiele aplikacji wyświetla ekran wstępny lub wyjaśniający przed pyta o zgodę. Ekran z wyjaśnieniem pozwala użytkownikom o tym, jak Twoja aplikacja korzysta z identyfikatora IDFA, zanim poprosisz o dostęp.
Jeśli jesteś wydawcą aplikacji na platformie AdMob lub w usłudze Ad Manager, rozważ użycie Funding Choices, który zajmuje się uzyskiwaniem zgody na wyświetlanie reklam spersonalizowanych jako zgodę na automatyczne śledzenie użytkownika zgodnie z wytycznymi firmy 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, unikaj wyświetlania ekranu z wyjaśnieniem na urządzeniach, na których nie można wyświetlać
okna z prośbą o zgodę na przetwarzanie danych osobowych, np. na urządzeniach z iOS 13. Upewnij się, że ten kod jest wykonywany
natychmiast 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
}
Wdrożyć protokół InAppMessagingDisplayDelegate
, aby obsługiwać zdarzenia, gdy użytkownik zamknie ekran z tłumaczeniem. Jeśli użytkownik kliknie OK, wyświetl komunikat systemowy za pomocą mechanizmu przejrzystości śledzenia w aplikacjach.
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
Po umieszczeniu kodu w aplikacji utwórz wiadomość w aplikacji w Konsola Firebase.
- W konsoli Firebase, utwórz nową kampanię In-App Messaging.
- Wypełnij wiadomości w aplikacji wybraną treścią i ustaw wiadomość.
do wywołania zdarzenia
app_launch
. - 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.
}
}
Utwórz nowe zdarzenie 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 następnie 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.