Obsługa iOS 14

W iOS 14.5 firma Apple wymaga od deweloperów uzyskiwania zgody użytkownika za pomocą platformy App Tracking Transparency, aby móc ją śledzić lub uzyskać dostęp do identyfikatora wyświetlania reklam (IDFA). Więcej informacji znajdziesz w dokumentacji Apple dotyczącej prywatności użytkowników i korzystania z danych oraz w dokumentacji App Tracking Transparency firmy Apple.

Usługi Firebase, których to dotyczy

Pakiety SDK Firebase nie mają dostępu do identyfikatora IDFA, ale niektóre mają integracje z Google Analytics, które mogą wymagać dostępu do identyfikatora IDFA.

Tabela poniżej zawiera listę usług Firebase, które są dostępne na platformach Apple, i opisujemy, jak wpływa to na ich funkcjonalność, gdy identyfikator IDFA jest niedostępny.

Usługa Konsekwencje braku dostępu do identyfikatora IDFA
Testy A/B Niektóre dane kierowania (np. dane demograficzne) w integracji Testów A/B z Google Analytics są pobierane 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 Brak wpływu na dostawców uwierzytelniania i uwierzytelniania własnego, w tym Logowanie przez Google i uwierzytelnianie przez telefon.
Crashlytics Bez wpływu. Integracja Crashlytics z Google Analytics, która udostępnia menu nawigacyjne i dane o awariach w czasie rzeczywistym, nie zależy od identyfikatora IDFA.
Linki dynamiczne Nie ma to wpływu na funkcję otwierania linków. W przypadku używania z Google Analytics atrybucja zdarzeń konwersji z linków 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 Używana razem z Google Analytics usługa ta 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 Google Analytics Zdalna konfiguracja nie pozwala na tworzone automatycznie właściwości użytkownika 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 z Firebase, których to dotyczy

W tabeli poniżej znajdziesz listę usług zintegrowanych z Firebase, których dotyczy problem, jeśli identyfikator IDFA jest niedostępny.

Usługa Konsekwencje braku dostępu do identyfikatora IDFA
Google Analytics Nie ma to wpływu na rejestrowanie zdarzeń Analytics, raportowanie zdarzeń i pomiar konwersji, ale jeśli identyfikator IDFA jest niedostępny, atrybucja nie jest dostępna. Więcej informacji o reakcji Google na iOS 14 znajdziesz na naszym blogu.

Prośba o uprawnienia do śledzenia aplikacji w systemie iOS 14

Jeśli chcesz, aby Twoja aplikacja Apple miała dostęp do identyfikatora IDFA, dodaj do niej platformę App Tracking Transparency firmy Apple i poproś o pozwolenie na śledzenie lub dostęp do IDFA użytkowników.

Wiele aplikacji wyświetla ekran wstępny lub wyjaśniający, zanim poprosi o zgodę. Na ekranie z wyjaśnieniem możesz przekazać użytkownikom więcej informacji o tym, jak Twoja aplikacja korzysta z identyfikatora IDFA, zanim poproszą o dostęp.

Jeśli jesteś wydawcą aplikacji korzystającym z AdMob lub Ad Managera, rozważ użycie usługi Funding Choices, która umożliwia uzyskiwanie zgody na wyświetlanie reklam spersonalizowanych oraz automatyczne śledzenie użytkowników zgodnie z wytycznymi Apple. Więcej informacji znajdziesz na stronie AdMob „Zgoda na wiadomości dla użytkowników”.

W tym przewodniku opisujemy rozwiązanie, które korzysta z funkcji przesyłania wiadomości w aplikacji Firebase, która pozwala utworzyć i wyświetlić ekran z wyjaśnieniem przed wysłaniem prośby o dostęp do śledzenia za pomocą funkcji App Tracking Transparency.

Dodaj funkcję wysyłania wiadomości w aplikacji do swojej aplikacji

Postępuj zgodnie z instrukcjami, aby dodać funkcję Wysyłanie 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ć okna z prośbą o zgodę na przetwarzanie danych, np. na urządzeniach z systemem iOS 13. Upewnij się, że ten kod uruchamia się 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ń, gdy użytkownik zamknie ekran z wyjaśnieniem. Gdy użytkownik kliknie OK, wyświetli się prompt systemowy w ramach 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łania wiadomości w aplikacji

Po umieszczeniu kodu w aplikacji utwórz wiadomość w aplikacji w konsoli Firebase.

  1. W konsoli Firebase utwórz nową kampanię wysyłania wiadomości w aplikacji.
  2. Wypełnij wiadomości w aplikacji wybraną treścią i określ wiadomość, która ma być wywoływana przez zdarzenie app_launch.
  3. W sekcji Kierowanie upewnij się, że kampania jest kierowana tylko na najnowszą wersję aplikacji lub nowszą.

Wygląd ekranu z wyjaśnieniem możesz dostosować, postępując zgodnie z instrukcjami podanymi w dokumentacji funkcji wysyłania wiadomości w aplikacji.

Opcjonalnie: test A/B na różnych ekranach z wyjaśnieniem

Funkcja wysyłania wiadomości w aplikacji ma wbudowaną integrację z Testami A/B Firebase, której możesz używać do eksperymentowania z różnymi ekranami z wyjaśnieniem.

Testy A/B Firebase automatycznie tworzą grupy eksperymentów i pomagają wizualizować interakcje użytkowników z różnymi wariantami aplikacji.

Rejestrowanie uprawnień do śledzenia aplikacji

Jeśli podczas obsługi odpowiedzi na temat uprawnień do śledzenia aplikacji nie rejestrujesz zdarzenia Google Analytics, musisz to zrobić, aby mierzyć zmiany współczynnika odpowiedzi podczas 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 Statystyki w konsoli Firebase przejdź do menu Konwersje i dodaj nowe zdarzenie konwersji o tej samej nazwie co zdarzenie zarejestrowane za pomocą przykładowego kodu powyżej.

Utwórz nowy eksperyment

W menu Wysyłanie wiadomości w aplikacji w konsoli kliknij Nowy eksperyment i postępuj zgodnie z instrukcjami wyświetlanymi na ekranach, które się wyświetlą.

  • W sekcji Kierowanie upewnij się, że kampania jest kierowana tylko na najnowszą wersję aplikacji lub nowszą.
  • W sekcji Cele wybierz zdarzenie konwersji utworzone za pomocą powyższego przykładowego kodu, a także wszelkie inne dane, które chcesz śledzić.

Po opublikowaniu eksperymentu musi on przez jakiś czas zebrać dane, zanim uzyskasz jednoznaczne wyniki.

Przeczytaj dokumentację Testów A/B Firebase, by dowiedzieć się, jak monitorować eksperyment i wdrażać udany wariant.