Firebase is back at Google I/O on May 10! Register now

Obsługa iOS 14

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

W systemie iOS 14.5 firma Apple wymaga od programistów uzyskania zgody użytkownika za pośrednictwem platformy App Tracking Transparency w celu ich śledzenia lub uzyskania dostępu do identyfikatora reklamowego urządzenia (IDFA). Aby uzyskać więcej informacji, zapoznaj się z dokumentacją firmy Apple dotyczącą prywatności i wykorzystywania danych użytkowników oraz przejrzystości śledzenia aplikacji firmy Apple .

Produkty Firebase, których dotyczy problem

Pakiety SDK Firebase nie mają dostępu do identyfikatora IDFA, chociaż niektóre mają integrację z Google Analytics, która może wiązać się z dostępem do identyfikatora IDFA.

W poniższej tabeli wymieniono produkty Firebase, które są dostępne na platformach Apple, oraz opisano, w jaki sposób niedostępność identyfikatora IDFA wpływa na funkcjonalność każdego produktu.

Produkt Wpływ, jeśli identyfikator IDFA nie jest dostępny
Testy A/B Niektóre dane kierowania (takie jak dane demograficzne) w integracji testów A/B z Google Analytics pochodzą z IDFA. W aplikacjach bez dostępu do identyfikatora IDFA to kierowanie jest niedostępne.
Sprawdź aplikację Bez wpływu
Dystrybucja aplikacji Bez wpływu
Uwierzytelnianie Brak wpływu na uwierzytelnianie i dostawców uwierzytelniania innych firm, 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 i bułkę tartą, nie jest zależna od IDFA.
Linki dynamiczne Brak wpływu na funkcjonalność otwierania linków. W połączeniu z Google Analytics atrybucja dla zdarzeń konwersji linków jest niedostępna.
Cloud Firestore Bez wpływu
Funkcje chmury Bez wpływu
Wiadomości w aplikacji Bez wpływu
Instalacje Firebase Bez wpływu
Identyfikator instancji Bez wpływu
Wiadomości w chmurze W połączeniu z Google Analytics usługa Google Analytics automatycznie rejestruje niektóre zdarzenia konwersji związane z FCM. Atrybucja tych zdarzeń wymaga dostępu IDFA.
Firebase ML Bez wpływu
Monitoring wydajności Bez wpływu
Zdalna konfiguracja Zdalna konfiguracja używana z Google Analytics nie zezwala na kierowanie automatycznie tworzonych właściwości użytkownika bez dostępu IDFA.
Baza danych czasu rzeczywistego Bez wpływu
Magazyn w chmurze Bez wpływu

Dotknięte integracje Firebase

W poniższej tabeli wymieniono produkty zintegrowane z Firebase, których dotyczy brak dostępu do IDFA.

Produkt Wpływ, jeśli identyfikator IDFA nie jest dostępny
Google Analytics Nie ma to wpływu na rejestrowanie zdarzeń Analytics, raportowanie zdarzeń i pomiary konwersji, ale jeśli identyfikator IDFA jest niedostępny, ma to wpływ na atrybucję. Aby dowiedzieć się więcej o reakcji Google na iOS 14, zobacz nasz wpis na blogu .

Żądanie pozwolenia na śledzenie aplikacji w systemie iOS 14

Jeśli chcesz, aby Twoja aplikacja Apple mogła uzyskiwać dostęp do IDFA, możesz dodać platformę Apple App Tracking Transparency do swojej aplikacji i poprosić o pozwolenie na śledzenie IDFA użytkowników lub dostęp do nich.

Wiele aplikacji wyświetla ekran rozgrzewki lub objaśnienia przed zapytaniem o pozwolenie. Ekran wyjaśniający pozwala dać użytkownikom więcej informacji o tym, jak Twoja aplikacja korzysta z identyfikatora IDFA, zanim poproszą o dostęp.

Jeśli jesteś wydawcą aplikacji AdMob lub Ad Manager, rozważ skorzystanie z opcji Funding Choices , która umożliwia automatyczne uzyskiwanie zgody na wyświetlanie spersonalizowanych reklam oraz zgodę na śledzenie użytkownika zgodnie z wytycznymi Apple. Więcej informacji znajdziesz na stronie Zgoda AdMob za pomocą wiadomości użytkownika .

Poniższy przewodnik przedstawia rozwiązanie wykorzystujące funkcję Firebase In-App Messaging do tworzenia i wyświetlania ekranu wyjaśniającego przed zażądaniem dostępu do śledzenia za pośrednictwem funkcji App Tracking Transparency.

Dodaj wiadomości w aplikacji do swojej aplikacji

Postępuj zgodnie z instrukcjami, aby dodać funkcję Wiadomości w aplikacji do aplikacji Apple .

Obsługa odrzucania wiadomości w aplikacji

Po pierwsze, unikaj wyświetlania ekranu wyjaśnienia na urządzeniach, które nie mogą wyświetlać okna dialogowego zgody, takich jak urządzenia z systemem iOS 13. Upewnij się, że ten kod jest wykonywany natychmiast po FirebaseApp.configure() .

Szybki

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 odrzuci ekran wyjaśnienia. Jeśli użytkownik kliknie OK, wyświetl monit systemowy za pośrednictwem struktury przejrzystości śledzenia aplikacji.

Szybki

// 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ę 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ę przesyłania wiadomości w aplikacji.
  2. Wypełnij wiadomości w aplikacji żądaną treścią i ustaw wyzwalanie wiadomości w zdarzeniu app_launch .
  3. W sekcji Kierowanie upewnij się, że kampania jest kierowana tylko na najnowszą wersję Twojej aplikacji lub nowszą.

Możesz dostosować wygląd ekranu wyjaśnienia, postępując zgodnie z instrukcjami zawartymi w dokumentacji wiadomości w aplikacji .

Opcjonalnie: Test A/B różnych ekranów wyjaśniających

Wiadomości w aplikacji mają wbudowaną integrację z testami A/B Firebase , których możesz używać do eksperymentowania z różnymi ekranami wyjaśniającymi.

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

Rejestruj uprawnienia do śledzenia aplikacji

Jeśli nie zarejestrowałeś zdarzenia Google Analytics podczas obsługi odpowiedzi na uprawnienia do śledzenia aplikacji, musisz to zrobić, aby zmierzyć zmiany we współczynniku odpowiedzi podczas przeprowadzania eksperymentu A/B.

Szybki

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 konsoli Firebase przejdź do menu Konwersje , a następnie dodaj nowe zdarzenie konwersji o tej samej nazwie, co zdarzenie zarejestrowane za pomocą powyższego przykładowego kodu.

Utwórz nowy eksperyment

W menu Wiadomości w aplikacji konsoli kliknij opcję Nowy eksperyment , a następnie postępuj zgodnie z instrukcjami wyświetlanymi na ekranach.

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

Po opublikowaniu eksperymentu będzie on musiał zbierać dane przez jakiś czas, zanim będzie można uzyskać rozstrzygające wyniki.

Przeczytaj dokumentację testów A/B Firebase, aby dowiedzieć się, jak monitorować eksperyment i wdrażać pomyślny wariant.