Check out what’s new from Firebase at Google I/O 2022. Learn more

Rozwiązywanie problemów z opcjami inicjalizacji

Jeśli zainicjujesz aplikację bez prawidłowego zestawu opcji Firebase, nowi użytkownicy aplikacji napotkają poważne problemy.

Opcje Firebase to zestaw parametrów wymaganych przez usługi w celu pomyślnej komunikacji z interfejsami API serwera Firebase oraz powiązania danych klienta z projektem Firebase i aplikacją Firebase. Usługi Firebase opierają się na prawidłowych opcjach Firebase dostępnych w podstawowej/wspólnej bibliotece Firebase utworzonej podczas inicjowania Firebase.

Różne usługi Firebase wymagają różnych opcji Firebase do prawidłowego działania, ale wszystkie usługi Firebase wymagają następujących opcji Firebase:

  • Klucz API — Uwaga: to nie jest klucz serwera FCM, zobacz Klucze serwera FCM .
    Przykładowa wartość: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO
  • Identyfikator projektu — przykładowa wartość: myapp-project-123 .
  • Identyfikator aplikacji („AppID”) — unikalny identyfikator Twojej aplikacji, którego format zależy od platformy:
    • W przypadku systemu Android: mobilesdk_app_id — Uwaga: to nie jest nazwa pakietu dla systemu Android .
      Przykładowa wartość: 1:1234567890:android:321abc456def7890
    • iOS+: GOOGLE_APP_ID – uwaga: to nie jest identyfikator Apple Bundle .
      Przykładowa wartość: 1:1234567890:ios:321abc456def7890

Rozwiązywanie problemów z aplikacjami na Androida

Aby zwiększyć bezpieczeństwo, zaktualizowano pakiet Firebase SDK 27 lutego , a następnie zastąpiono usługę Firebase Instance ID zależną od interfejsu Firebase Installations API .

Instalacje Firebase wymuszają istnienie i ważność obowiązkowego klucza interfejsu API opcji Firebase, identyfikatora projektu i identyfikatora aplikacji w celu powiązania danych klienta z projektem Firebase. Zobacz FirebaseOptions , aby uzyskać więcej informacji.

Firebase Cloud Messaging (FCM) z identyfikatorem instancji Firebase (IID)

Jeśli nowi użytkownicy Twojej aplikacji mają problemy z FCM, możliwe, że inicjujesz Firebase bez wymaganego zestawu opcji Firebase.

Twoja aplikacja może używać niekompletnego lub błędnego pliku konfiguracyjnego google-services.json ; lub Twoja aplikacja programowo inicjuje Firebase bez pełnego zestawu wymaganych opcji Firebase.

W rezultacie usługi Firebase, takie jak Firebase Cloud Messaging, będą działać nieprawidłowo u użytkowników, którzy zainstalowali Twoją aplikację po jej wydaniu ze zaktualizowanymi pakietami SDK Firebase. Ponadto powtarzające się nieudane żądania do Firebase mogą spowolnić korzystanie z Twojej aplikacji przez użytkowników końcowych.

Co muszę zrobić?

Aby naprawić nieprawidłowo działające usługi Firebase w swoich aplikacjach:

  1. Zaktualizuj aplikację, inicjując Firebase przy użyciu prawidłowego klucza interfejsu API projektu, prawidłowego identyfikatora projektu i prawidłowego identyfikatora aplikacji ( mobilesdk_app_id lub „Identyfikator aplikacji”).
    • Domyślny proces inicjowania przy użyciu pliku konfiguracyjnego Firebase : pobierz plik konfiguracyjny google-services.json z konsoli Firebase, a następnie zastąp istniejący plik w swojej aplikacji.
    • Inicjalizacja programowa przy użyciu obiektu FirebaseOptions : pobierz plik konfiguracyjny google-services.json z konsoli Firebase, aby znaleźć klucz interfejsu API, identyfikator projektu i identyfikator aplikacji, a następnie zaktualizuj te wartości w obiekcie FirebaseOptions w swojej aplikacji.
  2. Opublikuj nową wersję swojej aplikacji w Sklepie Play.

Rozwiązywanie problemów z aplikacjami Apple

Aby zwiększyć bezpieczeństwo, zaktualizowano pakiet Firebase SDK 14 stycznia i później zastąpiono usługę Firebase Instance ID usługą zależną od interfejsu Firebase Installations API .

Instalacje Firebase wymuszają istnienie i ważność obowiązkowego klucza interfejsu API opcji Firebase, identyfikatora projektu i identyfikatora aplikacji w celu powiązania danych klienta z projektem Firebase. Zobacz FIROptions , aby uzyskać więcej informacji.

Firebase Cloud Messaging (FCM) z identyfikatorem instancji Firebase (IID)

Jeśli nowi użytkownicy Twojej aplikacji mają problemy z FCM, możliwe, że inicjujesz Firebase bez wymaganego zestawu opcji Firebase.

Twoja aplikacja może używać niekompletnego lub nieprawidłowego pliku konfiguracyjnego GoogleService-Info.plist ; lub Twoja aplikacja programowo inicjuje Firebase bez pełnego zestawu wymaganych opcji Firebase.

W rezultacie usługi Firebase, takie jak Firebase Cloud Messaging, będą działać nieprawidłowo u użytkowników, którzy zainstalowali Twoją aplikację po jej wydaniu ze zaktualizowanymi pakietami SDK Firebase. Ponadto powtarzające się nieudane żądania do Firebase mogą spowolnić korzystanie z Twojej aplikacji przez użytkowników końcowych.

Co muszę zrobić?

Aby naprawić nieprawidłowo działające usługi Firebase w swoich aplikacjach:

  1. Zaktualizuj aplikację, inicjując Firebase przy użyciu prawidłowego klucza interfejsu API projektu, prawidłowego identyfikatora projektu i prawidłowego identyfikatora aplikacji ( GOOGLE_APP_ID lub „Identyfikator aplikacji”).
    1. Domyślny proces inicjowania przy użyciu pliku konfiguracyjnego Firebase : pobierz plik konfiguracyjny GoogleService-Info.plist z konsoli Firebase, a następnie zastąp istniejący plik w swojej aplikacji.
    2. Inicjalizacja programowa przy użyciu obiektu FIROptions : pobierz plik konfiguracyjny GoogleService-Info.plist z konsoli Firebase, aby znaleźć klucz interfejsu API, identyfikator projektu i identyfikator aplikacji, a następnie zaktualizuj te wartości w obiekcie FIROptions w swojej aplikacji.
  2. Wydaj nową wersję swojej aplikacji w App Store.

Klucze serwera FCM

Jeśli Twoja aplikacja używa klucza FCM Server zamiast klucza Cloud API, może to spowodować lukę w zabezpieczeniach, jeśli używasz tego samego klucza FCM Server do wysyłania powiadomień wypychanych za pośrednictwem FCM. W takim przypadku zdecydowanie zalecamy zmianę sposobu uwierzytelniania serwera przez wysyłanie żądań do FCM .

Pamiętaj, że klucze serwera FCM (które nie są tym samym, co klucze Firebase/Cloud API) nie mogą być umieszczane w aplikacjach, ponieważ mogą być wykorzystywane do wysyłania powiadomień push w nazwie Twojego projektu.