Obsługa iOS 14

W przypadku systemu iOS 14.5 firma Apple wymaga od programistów uzyskania zgody użytkownika za pośrednictwem platformy App Tracking Transparency na śledzenie go lub uzyskiwanie dostępu do identyfikatora reklamowego (IDFA) urządzenia. Aby uzyskać więcej informacji, zobacz dokumentację dotyczącą prywatności użytkowników i wykorzystania danych firmy Apple oraz dokumentację firmy Apple dotyczącą przejrzystości śledzenia aplikacji .

Dotknięte produkty Firebase

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

Poniższa tabela zawiera listę produktów Firebase dostępnych na platformach Apple i opisuje, jak wpływa to na funkcjonalność każdego produktu, jeśli identyfikator IDFA nie jest dostępny.

Produkt Wpływ na brak dostępu do identyfikatora IDFA
Testy A/B Niektóre dane dotyczące kierowania (takie jak 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.
Kontrola aplikacji Bez wpływu
Dystrybucja aplikacji Bez wpływu
Uwierzytelnianie Brak wpływu na uwierzytelnianie i zewnętrznych dostawców uwierzytelniania, takich jak logowanie Google i uwierzytelnianie telefoniczne.
Crashlytics Bez wpływu. Integracja Crashlytics z Google Analytics, która zapewnia dane o awariach w czasie rzeczywistym i bułkę tartą, nie jest zależna od identyfikatora IDFA.
Linki dynamiczne Brak wpływu na funkcjonalność otwierania linków. W przypadku korzystania z Google Analytics atrybucja zdarzeń konwersji linków jest niedostępna.
Chmura 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 przypadku korzystania z Google Analytics, Google Analytics automatycznie rejestruje niektóre zdarzenia konwersji związane z FCM. Atrybucja tych zdarzeń wymaga dostępu IDFA.
Baza Firebase ML Bez wpływu
Monitoring wydajności Bez wpływu
Zdalna konfiguracja W połączeniu z Google Analytics funkcja Remote Config nie pozwala na automatycznie utworzone właściwości użytkownika na potrzeby kierowania bez dostępu IDFA.
Baza danych czasu rzeczywistego Bez wpływu
Magazyn w chmurze Bez wpływu

Dotknięte integracje z Firebase

Poniższa tabela zawiera listę produktów zintegrowanych z Firebase, na które wpływa brak dostępu do identyfikatora IDFA.

Produkt Wpływ na brak 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 ma wpływ na atrybucję. Aby dowiedzieć się więcej o reakcji Google na iOS 14, przeczytaj nasz wpis na blogu .

Prośba o pozwolenie na śledzenie aplikacji w systemie iOS 14

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

Wiele aplikacji wyświetla ekran rozgrzewkowy lub wyjaśniający przed zapytaniem o pozwolenie. Ekran objaśnień pozwala zapewnić użytkownikom więcej informacji na temat sposobu, w jaki aplikacja korzysta z identyfikatora IDFA, zanim poproszą o dostęp.

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

Poniższy przewodnik przedstawia rozwiązanie wykorzystujące funkcję Wiadomości w aplikacji Firebase do tworzenia i wyświetlania ekranu wyjaśniającego przed zażądaniem dostępu do śledzenia za pośrednictwem przejrzystości śledzenia aplikacji.

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śniającego na urządzeniach, które nie mogą wyświetlić okna dialogowego zgody, np. na urządzeniach z systemem iOS 13. Upewnij się, że ten kod zostanie wykonany 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 objaś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ę z wiadomościami w aplikacji

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

  1. W konsoli Firebase utwórz nową kampanię z komunikatami w aplikacji.
  2. Wypełnij wiadomości w aplikacji żądaną treścią i ustaw wiadomość tak, aby uruchamiała się w przypadku zdarzenia app_launch .
  3. Upewnij się, że w sekcji Kierowanie kampania jest kierowana tylko na najnowszą wersję aplikacji i nowsze.

Możesz dostosować wygląd ekranu wyjaśniającego, 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 objaśnień.

Testowanie A/B Firebase automatycznie tworzy grupy eksperymentów i pomaga zwizualizować interakcję 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 dotyczącej uprawnień do śledzenia aplikacji, będzie to konieczne, 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 w 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 i postępuj zgodnie z instrukcjami wyświetlanymi na ekranach.

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

Po opublikowaniu eksperymentu będzie musiał on zbierać dane przez pewien czas, zanim będzie mógł uzyskać jednoznaczne wyniki.

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