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

Firma Apple wymaga, aby deweloperzy publikujący aplikacje w App Store ujawniali określone informacje o używaniu danych w ich produktach.

Ten dokument zawiera informacje o zachowaniu bibliotek platformy Firebase Apple, które mogą wymagać ujawnienia zgodnie z wytycznymi Apple. Podczas instalowania Firebase zwróć uwagę na cele kompilacji zainstalowane w aplikacji przez wybranego menedżera zależności. W przypadku każdego celu wymienionego przez menedżera zależności sprawdź odpowiednią sekcję tego dokumentu, aby określić, jakie zbieranie danych musisz ujawnić. Liczba zainstalowanych celów kompilacji Firebase może być większa niż oczekiwana, ponieważ niektóre cele kompilacji Firebase mają przejściowe 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 każdego pakietu SDK Firebase.

User agent Firebase

User agent Firebase to zbiór informacji zbieranych z większości pakietów SDK Firebase, który zawiera te dane: urządzenie, system operacyjny, identyfikator pakietu aplikacji i platforma dewelopera. User agent nigdy nie jest powiązany z identyfikatorem użytkownika ani urządzenia. Jest używany przez zespół Firebase do określania platformy i wersji, aby lepiej informować o decyzjach dotyczących funkcji Firebase.

FirebaseCore

  • Nie zbiera danych.

GoogleUtilities

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

GoogleDataTransport

Zawiera narzędzia sieciowe, które mogą być używane przez inne pakiety SDK do zbierania danych.

Dane zbierane zawsze

  • Zbiera metadane o skuteczności pakietu SDK, takie jak rozmiar pamięci podręcznej zdarzeń dziennika klienta i liczba zdarzeń dziennika klienta odrzuconych z różnych powodów, aby monitorować i utrzymywać jakość 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 eksperymentów w przypadku Firebase Remote Config i Firebase In-App Messaging.

FirebaseAILogic

Firebase AI Logic nazywał się wcześniej „Vertex AI in Firebase” i korzystał z biblioteki FirebaseVertexAI. Firebase AI Logic korzystał też wcześniej z biblioteki FirebaseAI.

Dane zbierane zawsze

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

Dane zbierane domyślnie

  • Jeśli zbieranie danych jest włączone, zbiera identyfikator aplikacji Firebase Apple i wersję aplikacji.

Dane zbierane w zależności od użycia

Google Analytics

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

FirebaseAppCheck

Dane zbierane domyślnie

Dane zbierane w zależności od użycia

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

FirebaseAppDistribution

Pakiet SDK Rozpowszechniania aplikacji jest przeznaczony wyłącznie do testów beta. Nie dołączaj pakietu SDK Rozpowszechniania aplikacji do aplikacji podczas przesyłania jej do App Store.

FirebaseAuthentication

Dane zbierane zawsze

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

Dane zbierane domyślnie

Dane zbierane w zależności od użycia

  • Zbiera nazwę wyświetlaną, jeśli deweloper ją poda.
  • Zbiera adresy e-mail użytkowników podane przez dewelopera podczas korzystania z uwierzytelniania za pomocą hasła lub linku albo zawarte 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 uwierzytelniania za pomocą telefonu lub jeśli numer telefonu użytkownika został dodany jako metoda uwierzytelniania. Są one też zbierane podczas uwierzytelniania dwuskładnikowego za pomocą SMS-a.
  • Zbiera informacje kontaktowe związane z dostawcami uwierzytelniania innych firm jeśli deweloper używa dostawcy uwierzytelniania innej firmy z Firebase Authentication. Na przykład identyfikator użytkownika może być powiązany z jego profilem na Facebooku, jeśli deweloper używa uwierzytelniania za pomocą Facebooka, w zależności od przyznanych zakresów. 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 Authentication przepływów. Więcej informacji o prywatności w Apple w przypadku reCAPTCHA Enterprise

FirebaseCrashlytics

Dane zbierane zawsze

Dane zbierane w zależności od użycia

  • Zbiera wszystkie klucze niestandardowe, dzienniki i identyfikatory użytkowników w postaci tekstu, które deweloperzy dołączają do raportów o awariach. Zbiera też wszystkie zdefiniowane przez dewelopera zdarzenia niekrytyczne z niestandardowymi śladami stosu.
  • Zbiera dzienniki "okruszków", jeśli Crashlytics jest używany razem z Google Analytics. Te dzienniki identyfikują działania użytkownika bezpośrednio przed awarią wraz z liczbą awarii.
  • Zbiera zdefiniowane przez dewelopera części Remote Config szablonu i metadane szablonu, jeśli w aplikacji jest też zawarty 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 mają wpływ aktywne wdrożenia.

FirebaseDatabase

Dane zbierane domyślnie

FirebaseDataConnect

Dane zbierane domyślnie

Jeśli zbieranie danych jest włączone:

  • Zbiera user agenta Firebase.
  • Sprawdza, czy lokalne generowanie kodu dla SQL Connect jest używane, sprawdzając, czy żądania do usługi SQL Connect pochodzą z kodu wygenerowanego przez generator kodu , czy też z bezpośredniego użycia pakietu SDK SQL Connect.
  • Zbiera identyfikator aplikacji Firebase (nie jest to identyfikator pakietu aplikacji). Ta wartość jest uwzględniana w nagłówku każdego żądania.
  • Tymczasowo zbiera dane na urządzeniu, w tym wymiary ekranu, 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).
  • Podczas pierwszego uruchomienia aplikacji tymczasowo zbiera adres URL linku dynamicznego w schowku urządzenia, jeśli jest dostępny. Deweloperzy mogą wyłączyć korzystanie ze schowka, ustawiając właściwość FirebaseDeepLinkPasteboardRetrievalEnabled na NO w pliku Info.plist aplikacji.

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

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

FirebaseFirestore

Dane zbierane domyślnie

FirebaseFunctions

Dane zbierane zawsze

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

FirebaseInAppMessaging

Dane zbierane zawsze

  • Rejestruje interakcje z wiadomościami w aplikacji. Te interakcje (wyświetlenia, kliknięcia, odrzucenia) są rejestrowane za pomocą Google Analytics. Interakcje są też rejestrowane przez Firebase, aby pomóc deweloperom ocenić skuteczność kampanii wiadomości.

FirebaseInstallations

Dane zbierane domyślnie

FirebaseMessaging

Dane zbierane zawsze

  • Rejestruje token APNs i łączy go ze zebranym identyfikatorem instalacji aplikacji, który pełni funkcję tokena rejestracji Komunikacji w chmurze Firebase (FCM).
  • Zbiera model urządzenia, język, strefę czasową, wersję systemu operacyjnego, identyfikator aplikacji i wersję aplikacji na potrzeby subskrypcji i anulowania subskrypcji tematu.

Dane zbierane domyślnie

Dane zbierane w zależności od użycia

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

  • Automatycznie rejestruje interakcje z powiadomieniami za pomocą Google Analytics. Aby wyłączyć to działanie, usuń FirebaseAnalytics z aplikacji.

FirebaseMLModelDownloader

Dane zbierane zawsze

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

FirebasePerformance

Dane zbierane zawsze

  • Zbiera adresy IP, aby zapewnić segmentację danych o skuteczności na podstawie lokalizacji geograficznej.
  • Zbiera dane o wydajności aplikacji, takie jak czas uruchamiania aplikacji i opóźnienie żądania sieciowego, a także niestandardowe ślady określone przez dewelopera, aby mierzyć wydajność aplikacji.
  • Zbiera informacje o wykorzystaniu procesora i wykorzystaniu pamięci przez aplikację, aby wyświetlać widok osi czasu skuteczności aplikacji.
  • Zbiera informacje o urządzeniu, systemie operacyjnym i aplikacji aby filtrować dane o skuteczności według różnych segmentów urządzeń.

FirebaseRemoteConfig

Dane zbierane zawsze

  • Zbiera kod kraju, kod języka, strefę czasową, wersję systemu operacyjnego, identyfikator aplikacji Firebase Apple i identyfikator pakietu, aby kierować parametry na podstawie tych danych. Zbiera też wersję systemu operacyjnego i wersję pakietu SDK, a następnie agreguje te dane, aby poznać trendy użytkowania i kierunek rozwoju usługi.

Dane zbierane domyślnie

Dane zbierane w zależności od użycia

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

  • Zbiera właściwości użytkownika uzyskane przez pakiet SDK Firebase dla Google Analytics w celu kierowania parametrów na podstawie warunków właściwości użytkownika.
  • Zbiera sygnaturę czasową zdarzenia first_open uzyskaną przez pakiet SDK Firebase dla Google Analytics w celu kierowania parametrów na podstawie czasu pierwszego uruchomienia.

Jeśli używana jest personalizacja Remote Config:

  • Dane uzyskane przez pakiet SDK Firebase Remote Config i zdarzenia uzyskane przez pakiet SDK Firebase dla Google Analytics mogą być używane do tworzenia modeli predykcyjnych i mierzenia skuteczności tych modeli.

FirebaseSessions

Dane zbierane zawsze

  • 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 użytkowaniu, takie jak czas, w którym aplikacja działała w tle, aby grupować dane o skuteczności w sesje użytkowników i filtrować użytkowanie według sesji.

FirebaseStorage

Dane zbierane domyślnie