Przygotowanie do wymagań firmy Apple dotyczących ujawniania informacji w App Store

Apple wymaga, aby deweloperzy publikujący aplikacje w App Store ujawniali pewne informacje o używaniu danych w ich aplikacjach.

Ten dokument przedstawia zachowania biblioteki na platformie Firebase Apple, które mogą wymagać ujawnienia informacji zgodnie z wytycznymi firmy Apple. Podczas instalowania Firebase zwróć uwagę na cele kompilacji zainstalowane w aplikacji przez wybranego menedżera zależności. W przypadku każdego miejsca docelowego określonego przez menedżera zależności zapoznaj się z odpowiednią sekcją tego dokumentu, aby określić, jakie rodzaje danych musisz ujawnić. Liczba zainstalowanych celów kompilacji Firebase może być większa od oczekiwanej, ponieważ niektóre cele kompilacji Firebase tymczasowo zależą od innych.

Jeśli korzystasz z opcjonalnych funkcji usługi, które wymagają dodatkowych danych, lub uczestniczysz w testach nowych funkcji usługi obejmujących dodatkowe dane, sprawdź, czy te funkcje lub testy wymagają ujawniania dodatkowych informacji.

Aby komunikaty wyświetlane w aplikacji były dokładne, zalecamy, aby zawsze używać najnowszej wersji każdego pakietu SDK Firebase.

Klient użytkownika Firebase

Klient użytkownika Firebase to pakiet informacji zebranych z większości pakietów SDK Firebase, który obejmuje m.in. urządzenie, system operacyjny, identyfikator pakietu aplikacji i platformę dewelopera. Klient użytkownika nigdy nie jest połączony z identyfikatorem użytkownika ani urządzenia i jest używany przez zespół Firebase do określania przyjęcia platformy i wersji. Dzięki temu można podejmować trafniejsze decyzje dotyczące funkcji Firebase.

FirebaseCore

  • Nie zbiera danych.

GoogleUtilities

  • Nie zbiera danych, ale obejmuje narzędzia sieciowe, które mogą być używane przez inne pakiety SDK do zbierania danych.

GoogleDataTransport

Obejmuje narzędzia sieciowe, których inne pakiety SDK mogą używać do zbierania danych.

Zawsze zbierane

  • Zbiera metadane o wydajności pakietu SDK, takie jak rozmiar pamięci podręcznej zdarzeń z dziennika klienta i liczba zdarzeń z dziennika klienta porzuconych z różnych powodów, aby monitorować i utrzymywać jakość usługi.

FirebaseABTesting

Testy A/B nie gromadzą danych.

Pakiet SDK do testów A/B Firebase ustawia i wykorzystuje właściwości użytkownika w Google Analytics, by określić członkostwo w grupach eksperymentalnych na potrzeby Zdalnej konfiguracji Firebase i wysyłania wiadomości w aplikacji Firebase.

Google Analytics

Informacje o gromadzeniu danych przez Google Analytics znajdziesz w tym artykule pomocy.

FirebaseAppCheck

Zbierane domyślnie

Zależne od wykorzystania

  • Jeśli dostawca DeviceCheck jest zainstalowany, pobiera token DCDevice z DeviceCheck.
  • Jeśli dostawca App Attest jest zainstalowany, zbiera zarówno obiekt atestu, jak i obiekt potwierdzenia z App Attest.

FirebaseAppDistribution

Pakiet SDK dystrybucji aplikacji jest przeznaczony wyłącznie do testów beta. Przesyłając aplikację do App Store, nie dodawaj do niej pakietu SDK dystrybucji aplikacji.

FirebaseAuthentication

Zawsze zbierane

  • Generuje i przechowuje identyfikatory na potrzeby uwierzytelniania użytkowników.

Zbierane domyślnie

Zależne od wykorzystania

  • Zbiera wyświetlaną nazwę, jeśli deweloper podał nazwę wyświetlaną dla użytkownika.
  • Zbiera adresy e-mail użytkowników podane przez dewelopera podczas uwierzytelniania przy użyciu hasła lub linku e-mail albo zawarte w odpowiedzi dostawcy sfederowanego, jeśli deweloper używa tożsamości sfederowanej.
  • Zbiera numery telefonów użytkowników podane przez programistę podczas korzystania z uwierzytelniania telefonicznego lub gdy jako metodę uwierzytelniania podano numer telefonu użytkownika. Dane są też zbierane w ramach procesów uwierzytelniania za pomocą SMS-ów jako drugiego czynnika.
  • Zbiera informacje kontaktowe związane z zewnętrznymi dostawcami uwierzytelniania, jeśli deweloper korzysta z zewnętrznego dostawcy uwierzytelniania z Uwierzytelnianiem Firebase. Na przykład identyfikator użytkownika może być połączony z jego profilem na Facebooku, jeśli w zależności od przyznanych zakresów deweloper używa uwierzytelniania Facebooka. Więcej informacji znajdziesz w dokumentacji dostawcy uwierzytelniania.
  • Zapisuje identyfikator Centrum gier użytkownika, jeśli aplikacja jest połączona z kontem Game Center.
  • Zbiera ten token, jeśli Twoja aplikacja używa reCAPTCHA Enterprise do ochrony przepływów uwierzytelniania. Zobacz dodatkowe szczegółowe informacje o ochronie prywatności Apple dotyczące reCAPTCHA Enterprise.

FirebaseCrashlytics

Zawsze zbierane

  • Gromadzi zrzuty stosu i odpowiedni stan aplikacji w przypadku awarii aplikacji.
  • Zbiera informacje o urządzeniu i systemie operacyjnym, aby ułatwić debugowanie awarii.

Zależne od wykorzystania

  • Zbiera wszystkie niestandardowe klucze, dzienniki i identyfikatory użytkownika z dowolnym tekstem, które deweloperzy dołączają do raportów o awariach. Gromadzi też wszystkie zdefiniowane przez dewelopera zdarzenia niekrytyczne z niestandardowymi zrzutami stosu.
  • Zbiera logi menu nawigacyjnego, jeśli Crashlytics jest używany razem z Google Analytics. Logi te zawierają informacje o działaniach użytkowników bezpośrednio przed awarią oraz liczbę awarii.
  • Zbiera określone przez dewelopera części szablonu Zdalnej konfiguracji i metadane szablonu, jeśli aplikacja zawiera również pakiet SDK Zdalnej konfiguracji Firebase. Dane te obejmują wersję szablonu Zdalnej konfiguracji, identyfikator wariantu wdrożenia, klucze parametrów i wartości parametrów, na które mają wpływ aktywne wdrożenia.

FirebaseDatabase

Zbierane domyślnie

  • Tymczasowo zbiera dane o urządzeniu, w tym wymiary ekranu urządzenia, język, wersję systemu operacyjnego, identyfikator pakietu, adres IP i wersję pakietu SDK Firebase na potrzeby odroczonych precyzyjnych linków (precyzyjnych linków po zainstalowaniu aplikacji).
  • Tymczasowo zbiera adres URL linku dynamicznego w schowku urządzenia (jeśli jest dostępny) przy pierwszym uruchomieniu aplikacji. Deweloperzy mogą wyłączyć tę funkcję, ustawiając właściwość FirebaseDeepLinkPasteboardRetrievalEnabled na NO w pliku Info.plist aplikacji.

Jeśli używasz Linków dynamicznych w połączeniu z Google Analytics:

  • Automatycznie rejestruje zdarzenia interakcji z linkami przez Google Analytics. Aby wyłączyć automatyczne rejestrowanie zdarzeń, usuń z aplikacji FirebaseAnalytics.

FirebaseFirestore

Zbierane domyślnie

FirebaseFunctions

Zawsze zbierane

  • Zbiera metadane wywołania funkcji, w tym nazwę i adres IP wywołującego funkcję.

FirebaseInAppMessaging

Zawsze zbierane

  • Rejestruje interakcje z wiadomościami w aplikacji. Interakcje te (wyświetlenia, kliknięcia, odrzucenia) są rejestrowane przez Google Analytics. Interakcje są też rejestrowane przez Firebase, aby ułatwić deweloperom ocenę skuteczności kampanii z wiadomościami.

FirebaseInstallations

Zbierane domyślnie

FirebaseMessaging

Zawsze zbierane

  • Rejestruje token APNs i kojarzy go ze zebranym identyfikatorem instalacji aplikacji, który działa jako token rejestracji Firebase Cloud Messaging (FCM).
  • Zbiera model urządzenia, język, strefę czasową, wersję systemu operacyjnego, identyfikator aplikacji oraz wersję aplikacji na potrzeby subskrypcji tematu i anulowania subskrypcji.

Zbierane domyślnie

Zależne od wykorzystania

Jeśli Komunikacja w chmurze jest używana razem z Google Analytics:

  • Automatycznie rejestruje interakcje z powiadomieniami przez Google Analytics. Aby wyłączyć tę funkcję, usuń z aplikacji FirebaseAnalytics.

FirebaseMLModelDownloader

Zawsze zbierane

  • Zbiera metadane pobierania modelu ML, takie jak zdarzenia pobierania, zdarzenia usunięcia i błędy.

FirebasePerformance

Zawsze zbierane

  • Zbiera adresy IP, aby na podstawie danych geograficznych segmentować dane o skuteczności.
  • Zbiera wskaźniki wydajności aplikacji, takie jak czas uruchamiania aplikacji i czas oczekiwania na żądanie sieciowe, a także określone przez dewelopera niestandardowe logi czasu do pomiaru wydajności aplikacji.
  • Zbiera wykorzystanie procesora/pamięci przez aplikację, aby zapewnić widok jej wydajności na osi czasu.
  • Zbiera informacje o urządzeniu, systemie operacyjnym i aplikacji, aby filtrować dane o wydajności według różnych segmentów urządzeń.

FirebaseRemoteConfig

Zawsze zbierane

  • Zbiera kod kraju urządzenia, kod języka, strefę czasową, wersję systemu operacyjnego, identyfikator aplikacji Firebase Apple oraz identyfikator pakietu, aby ustawić parametry kierowania oparte na tych danych. Zbierane są też informacje o wersji systemu operacyjnego i pakietu SDK, co pozwala poznawać trendy użytkowania i ustalać kierunek działania usługi.

Zbierane domyślnie

Zależne od wykorzystania

Jeśli Zdalna konfiguracja jest używana razem z Google Analytics:

  • Zbiera właściwości użytkownika uzyskane przez pakiet SDK Firebase dla Google Analytics, aby kierować reklamy na parametry oparte na warunkach właściwości użytkownika.
  • Zbiera sygnaturę czasową zdarzenia first_open uzyskaną przez pakiet SDK Firebase dla Google Analytics, aby ustawić kierowanie na parametry oparte na czasie pierwszego uruchomienia.

Jeśli używana jest personalizacja Zdalnej konfiguracji:

  • Dane uzyskane przez pakiet SDK Zdalnej konfiguracji Firebase oraz zdarzenia uzyskane za pomocą pakietu SDK Firebase dla Google Analytics mogą służyć do tworzenia modeli prognozujących i mierzenia ich skuteczności.

FirebaseSessions

Zawsze zbierane

  • Zbiera metadane o wydajności aplikacji, takie jak identyfikator pakietu, informacje o systemie operacyjnym, wersja pakietu SDK i typ połączenia sieciowego, aby monitorować jakość aplikacji.
  • Zbiera dane o korzystaniu, takie jak czas działania aplikacji w tle, aby grupować wskaźniki wydajności w sesje użytkowników na potrzeby filtrowania wykorzystania według sesji.

FirebaseStorage

Zbierane domyślnie