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

  1. W konsoli Firebase, utwórz nową kampanię In-App Messaging.
  2. Wypełnij wiadomości w aplikacji wybraną treścią i ustaw wiadomość. do wywołania zdarzenia app_launch.
  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.
  }
}

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.