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

Apple wymaga od deweloperów publikujących aplikacje w App Store, aby ujawniali określone informacje o używaniu danych przez te aplikacje.

Ten dokument zawiera informacje o zachowaniu biblioteki na platformie Apple w Firebase, które może wymagać ujawnienia zgodnie z wytycznymi Apple. Podczas instalowania Firebase zwróć uwagę na cele kompilacji zainstalowane w aplikacji przez wybrany menedżer zależności. W przypadku każdego celu wymienionego przez menedżera zależności zapoznaj się z odpowiednim akapitem tego dokumentu, aby określić, jakie zbiory danych musisz ujawnić. Liczba zainstalowanych celów kompilacji Firebase może być większa od oczekiwanej, ponieważ niektóre cele kompilacji Firebase wymagają tymczasowych zależności od innych.

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

Aby mieć pewność, że informacje o korzystaniu z danych przez Twoją aplikację są prawidłowe, zalecamy, aby zawsze używać najnowszej wersji pakietu Firebase SDK.

Identyfikator użytkownika Firebase

Identyfikator użytkownika Firebase to pakiet informacji zbieranych z większości pakietów SDK Firebase. Obejmuje on: urządzenie, system operacyjny, identyfikator pakietu aplikacji i platformę dewelopera. Identyfikator użytkownika nigdy nie jest powiązany z identyfikatorem użytkownika ani urządzenia. Zespół Firebase używa go do określania popularności platform i wersji, aby podejmować lepsze decyzje dotyczące funkcji Firebase.

FirebaseCore

  • Nie zbiera danych.

GoogleUtilities

  • Nie zbiera danych, ale zawiera narzędzia sieciowe, których inne pakiety SDK mogą używać do zbierania danych.

GoogleDataTransport

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

Zawsze gromadzone

  • Zbiera metadane dotyczące wydajności pakietu SDK, takie jak rozmiar pamięci podręcznej z zdarzeniami z logu klienta i liczba zdarzeń z logu klienta odrzuconych z różnych powodów. Dane te służą do monitorowania i utrzymywania jakości usługi.

FirebaseABTesting

Testy A/B nie zbierają danych.

Pakiet SDK Firebase A/B Testing ustawia i używa właściwości użytkownika Google Analytics, aby określić przynależność do grup eksperymentu w przypadku Firebase Remote ConfigFirebase In-App Messaging.

Google Analytics

Informacje o zbieraniu danych Google Analytics znajdziesz w tym artykule w Centrum pomocy.

FirebaseAppCheck

Zdobyto przez:

Zależne od sposobu wykorzystywania danych

  • Jeśli dostawca DeviceCheck jest zainstalowany, zbiera token DCDeviceDeviceCheck.
  • Jeśli dostawca App Attest jest zainstalowany, zbiera zarówno obiekt attestation, jak i obiekt assertion z App Attest.

FirebaseAppDistribution

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

FirebaseAuthentication

Zawsze gromadzone

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

Zdobyto przez:

Zależne od wykorzystania

  • Zbiera wyświetlaną nazwę, jeśli deweloper podał nazwę wyświetlaną użytkownika.
  • Zbiera adresy e-mail użytkowników podane przez dewelopera podczas używania hasła e-mail lub uwierzytelniania linku e-mail albo w odpowiedzi od dostawcy sfederowanego, jeśli deweloper używa tożsamości sfederowanej.
  • Zbiera numery telefonów użytkowników podane przez dewelopera podczas korzystania z weryfikacji telefonicznej lub jeśli numer telefonu użytkownika został dodany jako metoda uwierzytelniania. Zbierane również podczas procesów uwierzytelniania SMS-em jako drugiego czynnika uwierzytelniania.
  • Zbiera informacje kontaktowe dotyczące dostawców uwierzytelniania innych firm, jeśli deweloper korzysta z usług takiego dostawcy w ramach Firebase Authentication. Na przykład identyfikator użytkownika może być powiązany z jego profilem na Facebooku, jeśli deweloper używa uwierzytelniania Facebooka, w zależności od przyznanych uprawnień. Więcej informacji znajdziesz w dokumentacji dostawcy uwierzytelniania.
  • Przechowuje identyfikator Game Center użytkownika, jeśli aplikacja jest połączona z Game Center.
  • Zbiera ten token, jeśli Twoja aplikacja używa reCAPTCHA Enterprise do ochrony przepływów Authentication. Zapoznaj się z dodatkowymi informacjami dotyczącymi prywatności w usłudze reCAPTCHA Enterprise na urządzeniach Apple.

FirebaseCrashlytics

Zawsze gromadzone

  • Gromadzi zrzuty stosu i odpowiednie stany aplikacji, gdy aplikacja ulegnie awarii.
  • Zbiera informacje o urządzeniu i systemie operacyjnym, aby ułatwić debugowanie awarii.

Zależne od sposobu wykorzystywania danych

  • Zbiera wszelkie niestandardowe klucze, dzienniki i identyfikatory użytkowników w formie tekstu, które deweloperzy dołącza do raportów o awariach. Zbiera też zdefiniowane przez programistę zdarzenia niekrytyczne z niestandardowymi zrzutami stosu.
  • Zbiera logi menu nawigacyjnego, jeśli użyto Crashlytics razem z Google Analytics. Te dzienniki wskazują działania użytkownika bezpośrednio przed awarią oraz liczbę awarii.
  • Zbiera zdefiniowane przez dewelopera części Remote Config szablonu i metadane szablonu, jeśli w aplikacji jest też uwzględniony pakiet SDK Firebase Remote Config. Te dane obejmują: Remote Config wersję szablonu, identyfikator wariantu wdrożenia, klucze parametrów i wartości parametrów, na które wpływają aktywne wdrożenia.

FirebaseDatabase

Zbierane domyślnie

  • Tymczasowo zbiera dane urządzenia, w tym wymiary ekranu, język, wersję systemu operacyjnego, identyfikator pakietu, adres IP i wersję pakietu SDK Firebase w przypadku opóźnionych linków głębokich (linków głębokich po zainstalowaniu aplikacji).
  • Po pierwszym uruchomieniu aplikacji tymczasowo zbiera adres URL linku dynamicznego na schowku urządzenia (jeśli jest dostępny). Deweloperzy mogą wyłączyć korzystanie z Pasteboard, ustawiając w pliku Info.plist aplikacji właściwość FirebaseDeepLinkPasteboardRetrievalEnabled na NO.

Jeśli Dynamic Links jest używany razem z Google Analytics:

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

FirebaseFirestore

Zdobyto przez:

FirebaseFunctions

Zawsze gromadzone

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

FirebaseInAppMessaging

Zawsze zbierane

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

FirebaseInstallations

Zdobyto przez:

FirebaseMessaging

Zawsze zbierane

  • Rejestruje token APNs i kojarzy go z zebranym identyfikatorem instalacji aplikacji, który pełni funkcję tokena rejestracji Komunikacji w chmurze Firebase (FCM).
  • Gromadzenie informacji o modelu urządzenia, języku, strefie czasowej, wersji systemu operacyjnego, identyfikatorze aplikacji i wersji aplikacji na potrzeby subskrypcji i anulowania subskrypcji tematu.

Zdobyto przez:

Zależne od sposobu wykorzystywania danych

Jeśli Cloud Messaging jest używany razem z Google Analytics:

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

FirebaseMLModelDownloader

Zawsze gromadzone

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

FirebasePerformance

Zawsze gromadzone

  • Zbiera adresy IP na potrzeby segmentacji danych o skuteczności na podstawie lokalizacji geograficznej.
  • Zbiera dane o wydajności aplikacji, takie jak czas uruchamiania aplikacji i opóźnienie żądań sieciowych, a także niestandardowe logi czasu określone przez dewelopera w celu pomiaru wydajności aplikacji.
  • Zbiera informacje o wykorzystaniu procesora/pamięci przez aplikację, aby wyświetlić widok osi czasu dotyczący jej wydajności.
  • Zbiera informacje o urządzeniu, systemie operacyjnym i aplikacji, aby filtrować dane o wydajności w różnych segmentach urządzeń.

FirebaseRemoteConfig

Zawsze gromadzone

  • Zbiera kod kraju, kod języka, strefę czasową, wersję systemu operacyjnego, identyfikator aplikacji Firebase na urządzenia Apple i identyfikator pakietu, aby kierować reklamy na użytkowników na podstawie tych danych. Zbierane są też wersje systemu operacyjnego i pakietu SDK, które są agregowane, aby pomóc nam w analizowaniu trendów dotyczących korzystania z usługi i określaniu kierunku jej rozwoju.

Zdobyto przez:

Zależne od wykorzystania

Jeśli Remote Config jest używany razem z Google Analytics:

  • Zbiera właściwości użytkownika uzyskane przez pakiet SDK Firebase dla Google Analytics, aby kierować 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 kierować reklamy na parametry oparte na czasie pierwszego otwarcia.

Jeśli korzystasz z personalizacji dla marki Remote Config:

  • Dane uzyskane przez pakiet SDK Firebase Remote Config oraz zdarzenia uzyskane przez pakiet SDK Firebase dla Google Analytics można wykorzystać do tworzenia modeli predykcyjnych i pomiarów ich skuteczności.

FirebaseSessions

Zawsze gromadzone

  • Zbiera metadane dotyczące 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 z aplikacji, np. czas działania aplikacji w tle, aby grupować dane o wydajności w sesjach użytkownika i filtrować korzystanie z aplikacji według sesji.

FirebaseStorage

Zdobyto przez:

FirebaseVertexAI

Zawsze zbierane

  • Zbiera wersję pakietu SDK Firebase i wersję języka Swift.
  • Pobiera nazwę modelu podczas wywołania.