Rozwiązywanie problemów z opcjami inicjalizacji

Jeśli zainicjujesz aplikację bez prawidłowego zestawu opcji Firebase, nowi użytkownicy Twojej aplikacji doświadczą poważnych problemów.

Opcje Firebase to zestaw parametrów wymaganych przez usługi w celu pomyślnej komunikacji z interfejsami API serwera Firebase i 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 inicjalizacji Firebase.

Różne usługi Firebase wymagają do prawidłowego działania różnych opcji Firebase, 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:
    • Dla Androida: mobilesdk_app_id — Uwaga: to nie jest nazwa pakietu dla Androida .
      Przykładowa wartość: 1:1234567890:android:321abc456def7890
    • Dla iOS+: GOOGLE_APP_ID — Uwaga: to nie jest identyfikator pakietu Apple .
      Przykładowa wartość: 1:1234567890:ios:321abc456def7890

Rozwiązywanie problemów z aplikacjami na Androida

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

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

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 końcowych, 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żytkownika końcowego.

Co muszę zrobić?

Aby naprawić nieprawidłowe usługi Firebase dla swoich aplikacji:

  1. Zaktualizuj swoją aplikację, inicjując Firebase prawidłowym kluczem API swojego projektu, prawidłowym identyfikatorem projektu i prawidłowym identyfikatorem aplikacji ( mobilesdk_app_id lub „Identyfikator aplikacji”).
    • Domyślny proces inicjalizacji 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 API, identyfikator projektu i identyfikator aplikacji, a następnie zaktualizuj te wartości w obiekcie FirebaseOptions w swojej aplikacji.
  2. Wydaj nową wersję aplikacji w Sklepie Play.

Rozwiązywanie problemów z aplikacjami Apple

Aby poprawić bezpieczeństwo, 14 stycznia zaktualizowano pakiet Firebase SDK, a następnie zastąpiono usługę Firebase Instance ID zależnością od interfejsu Firebase Installations API .

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

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 końcowych, 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żytkownika końcowego.

Co muszę zrobić?

Aby naprawić nieprawidłowe usługi Firebase dla swoich aplikacji:

  1. Zaktualizuj swoją aplikację, inicjując Firebase prawidłowym kluczem API projektu, prawidłowym identyfikatorem projektu i prawidłowym identyfikatorem aplikacji ( GOOGLE_APP_ID lub „Identyfikator aplikacji”).
    1. Domyślny proces inicjalizacji 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 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 serwera FCM zamiast klucza Cloud API, może to powodować lukę w zabezpieczeniach, jeśli używasz tego samego klucza serwera FCM do wysyłania powiadomień push za pośrednictwem FCM. W takim przypadku zdecydowanie zalecamy sprawdzenie sposobu, w jaki serwer uwierzytelnia żądania wysyłania do FCM .

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