W przypadku systemu iOS 14.5 firma Apple wymaga od deweloperów uzyskiwania zgody użytkownika w ramach platformy App Tracking Transparency na potrzeby śledzenia tego użytkownika lub uzyskiwania dostępu do identyfikatora reklamowego IDFA. Więcej informacji znajdziesz w dokumentacji ochrony prywatności użytkowników i używania danych firmy Apple i usługi App Tracking Transparency firmy Apple.
Usługi Firebase, których to dotyczy
Pakiety SDK Firebase nie mają dostępu do identyfikatora IDFA, chociaż niektóre mają integrację z Google Analytics, co może wymagać dostępu do identyfikatora IDFA.
Tabela poniżej zawiera listę usług Firebase, które są dostępne na platformach Apple, i opisuje, jak brak dostępu do identyfikatora IDFA wpływa na funkcjonalność poszczególnych usług.
Usługa | Konsekwencje braku dostępu do identyfikatora IDFA |
---|---|
Testy A/B | Niektóre dane kierowania (np. dane demograficzne) w ramach integracji Testów A/B z Google Analytics pochodzą z identyfikatora IDFA. W aplikacjach bez dostępu do identyfikatora IDFA to kierowanie jest niedostępne. |
Sprawdzanie aplikacji | Brak wpływu |
Rozpowszechnianie aplikacji | Brak wpływu |
Uwierzytelnianie | Nie wpływa to na dostawców uwierzytelniania i własnych uwierzytelniania, takich jak Logowanie przez Google i uwierzytelnianie przez telefon. |
Crashlytics | Bez wpływu. Integracja Crashlytics z Google Analytics, która dostarcza dane o awariach w czasie rzeczywistym oraz menu nawigacyjne, nie jest zależna od identyfikatora IDFA. |
Linki dynamiczne | Nie wpływa to na funkcję otwierania linków. W przypadku używania w połączeniu z Google Analytics atrybucja zdarzeń konwersji polegających na połączeniu jest niedostępna. |
Cloud Firestore | Brak wpływu |
Cloud Functions | Brak wpływu |
Wysyłanie wiadomości w aplikacji | Brak wpływu |
Instalacje Firebase | Brak wpływu |
Identyfikator instancji | Brak wpływu |
Komunikacja w chmurze | Gdy jest używana w połączeniu z Google Analytics, automatycznie rejestruje niektóre zdarzenia konwersji związane z FCM. Atrybucja tych zdarzeń wymaga dostępu do identyfikatora IDFA. |
Firebase ML | Brak wpływu |
Monitorowanie wydajności | Brak wpływu |
Zdalna konfiguracja | W przypadku korzystania z Google Analytics Zdalna konfiguracja nie zezwala na automatycznie tworzone właściwości użytkowników na potrzeby kierowania bez dostępu do identyfikatora IDFA. |
Baza danych czasu rzeczywistego | Brak wpływu |
Cloud Storage | Brak wpływu |
Vertex AI for Firebase | Brak wpływu |
Integracje Firebase, których to dotyczy
W tabeli poniżej znajdziesz listę usług zintegrowanych z Firebase, których dotyczy brak dostępu do identyfikatora IDFA.
Usługa | Konsekwencje braku dostępu do identyfikatora IDFA |
---|---|
Google Analytics | Nie ma to wpływu na rejestrowanie zdarzeń Analytics, raportowanie zdarzeń ani pomiar konwersji, ale brak dostępu do identyfikatora IDFA wpływa na atrybucję. Więcej informacji o reakcji Google na iOS 14 znajdziesz w poście na blogu. |
Wysyłanie prośby o uprawnienia do śledzenia aplikacji w systemie iOS 14
Jeśli chcesz, aby Twoja aplikacja Apple miała dostęp do identyfikatora IDFA, możesz dodać do niej platformę App Tracking Transparency firmy Apple i poprosić o pozwolenie na śledzenie i dostęp do identyfikatorów IDFA użytkowników.
Wiele aplikacji przed prośbą o uprawnienia wyświetla ekran z rozgrzewką, czyli wyjaśnieniem. Ekran z wyjaśnieniem pozwala poinformować użytkowników o tym, jak aplikacja korzysta z identyfikatora IDFA, zanim poproszą o dostęp.
Jeśli jesteś wydawcą aplikacji w usługach AdMob lub Ad Manager, możesz skorzystać z usługi Funding Choices, która służy do uzyskiwania zgody na wyświetlanie reklam spersonalizowanych oraz na automatyczne śledzenie użytkownika zgodnie z wytycznymi firmy Apple. Więcej informacji znajdziesz na stronie AdMob „Zgoda z wiadomościami dla użytkowników”.
W tym przewodniku znajdziesz rozwiązania, które wykorzystują Przesyłanie wiadomości w aplikacji Firebase do tworzenia i wyświetlania ekranu z wyjaśnieniem przed wysłaniem prośby o dostęp do śledzenia za pomocą App Tracking Transparency.
Dodaj funkcję wiadomości w aplikacji do swojej aplikacji
Wykonaj instrukcje dodawania funkcji wysyłania wiadomości w aplikacji do aplikacji Apple.
Postępowanie w przypadku odrzucenia wiadomości w aplikacji
Po pierwsze, unikaj wyświetlania ekranu z wyjaśnieniem na urządzeniach, które nie mogą wyświetlać tego okna, np. na urządzeniach z systemem iOS 13. Upewnij się, że ten kod jest uruchamiany 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
}
Zaimplementuj protokół InAppMessagingDisplayDelegate
do obsługi zdarzeń po zamknięciu przez użytkownika ekranu z wyjaśnieniem. Jeśli użytkownik kliknie OK, wyświetl komunikat systemowy za pomocą platformy App Tracking Transparency.
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
}
}
Tworzenie kampanii wysyłającej wiadomości w aplikacji
Po umieszczeniu kodu w aplikacji utwórz wiadomość w aplikacji za pomocą konsoli Firebase.
- W konsoli Firebase utwórz nową kampanię z wiadomością w aplikacji.
- Wpisz w wiadomościach w aplikacji odpowiednie treści i skonfiguruj wiadomość tak, aby uruchamiała się po wystąpieniu zdarzenia
app_launch
. - W sekcji Kierowanie upewnij się, że kampania jest kierowana tylko na najnowszą wersję aplikacji i jej nowsze wersje.
Wygląd ekranu z wyjaśnieniem możesz dostosować, postępując zgodnie z instrukcjami w dokumentacji funkcji wysyłania wiadomości w aplikacji.
Opcjonalnie: przeprowadzaj testy A/B różnych ekranów z wyjaśnieniem.
Funkcja wysyłania wiadomości w aplikacji ma wbudowaną integrację z Testami A/B Firebase, za pomocą której można eksperymentować z różnymi ekranami z wyjaśnieniem.
Testy A/B Firebase automatycznie tworzą grupy eksperymentów i ułatwiają wizualizację sposobu interakcji użytkowników z różnymi wariantami aplikacji.
Rejestruj uprawnienia do śledzenia aplikacji
Jeśli podczas obsługi odpowiedzi z uprawnieniami do śledzenia aplikacji nie zostało zarejestrowane żadne zdarzenie Google Analytics, trzeba to zrobić, aby zmierzyć zmiany we współczynniku 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 sekcji Analytics w konsoli Firebase przejdź do menu Konwersje i dodaj nowe zdarzenie konwersji o tej samej nazwie co zdarzenie zarejestrowane za pomocą podanego powyżej przykładowego kodu.
Utwórz nowy eksperyment
W menu wysyłania wiadomości w aplikacji w konsoli kliknij Nowy eksperyment i postępuj zgodnie z instrukcjami wyświetlanymi na ekranach.
- W sekcji Kierowanie upewnij się, że kampania jest kierowana tylko na najnowszą wersję aplikacji i jej nowsze wersje.
- W sekcji Cele wybierz zdarzenie konwersji utworzone za pomocą przykładowego kodu powyżej, a także inne dane, które chcesz śledzić.
Po opublikowaniu eksperymentu musi on przez jakiś czas gromadzić dane, zanim uzyska jednoznaczne wyniki.
Więcej informacji o monitorowaniu eksperymentu i wdrażaniu wariantu znajdziesz w dokumentacji Testów A/B Firebase.