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 zachowaniach biblioteki platformy Apple w Firebase, 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 elementu docelowego wymienionego przez menedżera zależności zapoznaj się z odpowiednią sekcją tego dokumentu, aby określić, jakie dane musisz ujawnić. Liczba zainstalowanych elementów docelowych kompilacji Firebase może być większa niż oczekiwana, ponieważ niektóre elementy docelowe 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 zawsze używanie najnowszej wersji każdego pakietu SDK Firebase.

Agent użytkownika Firebase

Ciąg tekstowy klienta Firebase to pakiet informacji zbieranych z większości pakietów SDK Firebase. Zawiera on te dane: urządzenie, system operacyjny, identyfikator pakietu aplikacji i platforma deweloperska. Ciąg User-Agent nigdy nie jest powiązany z identyfikatorem użytkownika ani urządzenia. Zespół Firebase używa go do określania platformy i wersji, aby podejmować lepsze decyzje dotyczące 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.

Zbierane zawsze

  • Zbiera metadane dotyczące wydajności pakietu SDK, takie jak rozmiar pamięci podręcznej zdarzeń logu klienta i liczba zdarzeń logu 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 Google Analytics właściwości użytkownika, aby określić przynależność do grup eksperymentalnych w przypadku Firebase Remote ConfigFirebase In-App Messaging.

FirebaseAILogic

Firebase AI Logic wcześniej nazywała się „Vertex AI in Firebase” i korzystała z biblioteki FirebaseVertexAI. Firebase AI Logic miało wcześniej bibliotekę FirebaseAI.

Zbierane zawsze

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

Zbierane domyślnie

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

Zależne od wykorzystania

  • Jeśli monitorowanie wykorzystania AI w Firebase konsoli jest włączone w przypadku Agent Platform Gemini API (formerly Vertex AI), to w ramach każdej próbki żądania zbierane są prompty i wygenerowane dane wyjściowe wraz z danymi o wydajności i użytkowaniu.

Google Analytics

Google Analytics informacje o zbieraniu danych znajdziesz w tym artykule pomocy.

FirebaseAppCheck

Zbierane domyślnie

Zależne od wykorzystania

  • Jeśli dostawca DeviceCheck jest zainstalowany, pobiera token DCDevice z usługi DeviceCheck.

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

  • Jeśli dostawca reCAPTCHA Enterprise jest zainstalowany, zbiera token reCAPTCHA, wywołując pakiet SDK reCAPTCHA Enterprise. reCAPTCHA Enterprise Pakiet SDK z kolei zbiera dane zgodnie z informacjami o ochronie prywatności w Apple.

FirebaseAppDistribution

Pakiet SDK Rozpowszechniania aplikacji jest przeznaczony wyłącznie do testów beta. Nie umieszczaj pakietu SDK Rozpowszechniania aplikacji w aplikacji przesyłanej do App Store.

FirebaseAuthentication

Zbierane zawsze

  • 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 wyświetlaną nazwę użytkownika.
  • Zbiera adresy e-mail użytkowników podane przez dewelopera podczas korzystania z uwierzytelniania za pomocą hasła lub linku w e-mailu albo zawarte w odpowiedzi od dostawcy tożsamości sfederowanej, 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 z użyciem SMS-ów.
  • Zbiera informacje kontaktowe związane z dostawcami usług uwierzytelniania innych firm, jeśli deweloper korzysta z dostawcy usług 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 aplikacja używa reCAPTCHA Enterprise do ochrony przepływów Authentication. Zobacz dodatkowe szczegóły dotyczące ochrony prywatności w reCAPTCHA Enterprise w przypadku urządzeń Apple.

FirebaseCrashlytics

Zbierane zawsze

Zależne od wykorzystania

  • 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ż zdefiniowane przez dewelopera zdarzenia niekrytyczne z niestandardowymi śladami stosu.
  • Zbiera dzienniki „ścieżki”, jeśli Crashlytics jest używany razem z Google Analytics. Te logi identyfikują działania użytkownika bezpośrednio przed awarią oraz liczbę awarii.
  • Zbiera zdefiniowane przez dewelopera części Remote Configszablonu i metadane szablonu, jeśli w aplikacji jest też zawarty pakiet SDK Firebase Remote Config. Te dane obejmują Remote Configwersję szablonu, 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

FirebaseDataConnect

Zbierane domyślnie

Jeśli zbieranie danych jest włączone:

  • Zbiera ciąg znaków klienta Firebase.
  • Zbiera informacje o tym, czy jest używane lokalne generowanie kodu dla usługi SQL Connect, sprawdzając, czy żądania do usługi SQL Connect pochodzą z kodu wygenerowanego przez generator kodu, czy 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 o urządzeniu, w tym wymiary ekranu, język, wersję systemu operacyjnego, identyfikator pakietu, adres IP i wersję pakietu SDK Firebase, na potrzeby odroczonych linków do konkretnych treści (linków do konkretnych treści 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ć używanie schowka, ustawiając właściwość FirebaseDeepLinkPasteboardRetrievalEnabled na NO w pliku Info.plist aplikacji.

Jeśli Dynamic Links jest używane 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

Zbierane domyślnie

FirebaseFunctions

Zbierane zawsze

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

FirebaseInAppMessaging

Zbierane zawsze

  • Rejestruje interakcje z wiadomościami w aplikacji. Te interakcje (wyświetlenia, kliknięcia, zamknięcia) są rejestrowane za pomocą Google Analytics. Firebase rejestruje też interakcje, aby pomagać deweloperom oceniać skuteczność kampanii wiadomości.

FirebaseInstallations

Zbierane domyślnie

FirebaseMessaging

Zbierane zawsze

  • Rejestruje token APNs i łączy go z zebranym identyfikatorem instalacji aplikacji, który działa jako token 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 tematów.

Zbierane domyślnie

Zależne od wykorzystania

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

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

FirebaseMLModelDownloader (Wycofano)

Zbierane zawsze

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

FirebasePerformance

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 czas oczekiwania na żądanie sieciowe, a także niestandardowe logi czasu określone przez dewelopera, aby mierzyć wydajność aplikacji.
  • Zbiera dane o wykorzystaniu procesora i pamięci przez aplikację, aby przedstawić oś czasu wydajnoś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

Zbierane zawsze

  • Zbiera kod kraju, kod języka, strefę czasową, wersję systemu operacyjnego, identyfikator aplikacji Firebase na iOS i identyfikator pakietu urządzenia, aby kierować reklamy na podstawie parametrów opartych na tych danych. Zbierane i agregowane są też wersje systemu operacyjnego i pakietu SDK, aby poznać trendy w korzystaniu z usług i określić kierunek rozwoju produktu.

Zbierane domyślnie

Zależne od wykorzystania

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

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

Jeśli używana jest personalizacja Remote Config:

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

FirebaseSessions

Zbierane zawsze

  • 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 użytkowaniu, np. czas, przez jaki aplikacja działała w tle, aby grupować dane o wydajności w sesje użytkowników i filtrować dane o użytkowaniu według sesji.

FirebaseStorage

Zbierane domyślnie