Obsługa iOS 14

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 TestingGoogle 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.

  1. W konsoli Firebase, utwórz nową kampanię In-App Messaging.
  2. Wypełnij wiadomości w aplikacji odpowiednimi treściami i ustaw zdarzenie app_launch jako wyzwalacz wiadomości.
  3. 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.