Wenn Sie Ihre App ohne gültige Firebase-Optionen initialisieren, treten bei neuen Benutzern Ihrer Anwendung ernsthafte Probleme auf.
Firebase-Optionen sind eine Reihe von Parametern, die von Diensten benötigt werden, um erfolgreich mit Firebase-Server-APIs zu kommunizieren und Clientdaten mit Ihrem Firebase-Projekt und Ihrer Firebase-Anwendung zu verknüpfen. Firebase-Dienste sind auf gültige Firebase-Optionen angewiesen, die aus der Firebase-Core/Common-Bibliothek verfügbar sind, die während der Firebase-Initialisierung erstellt wurde.
Verschiedene Firebase-Dienste erfordern unterschiedliche Firebase-Optionen, um ordnungsgemäß zu funktionieren, aber alle Firebase-Dienste erfordern die folgenden Firebase-Optionen:
- API-Schlüssel – Hinweis: Dies ist kein FCM-Serverschlüssel, siehe FCM-Serverschlüssel .
Beispielwert:AIzaSyDOCAbC123dEf456GhI789jKl012-MnO
- Projekt-ID – Beispielwert:
myapp-project-123
. - Anwendungs-ID ("AppID") - Eindeutige Kennung für Ihre App, deren Format von der Plattform abhängt:
- Für Android:
mobilesdk_app_id
Hinweis: Dies ist kein Android-Paketname .
Beispielwert:1:1234567890:android:321abc456def7890
- Für iOS+:
GOOGLE_APP_ID
Hinweis: Dies ist keine Apple-Bundle-ID .
Beispielwert:1:1234567890:ios:321abc456def7890
- Für Android:
Fehlerbehebung bei Android-Apps
Um die Sicherheit zu verbessern, wurde das Firebase SDK am 27. Februar aktualisiert und anschließend der Firebase-Instanz-ID-Dienst durch eine Abhängigkeit von der Firebase-Installations-API ersetzt.
Firebase-Installationen erzwingen das Vorhandensein und die Gültigkeit der obligatorischen Firebase-Optionen API-Schlüssel, Projekt-ID und Anwendungs-ID, um Kundendaten mit Ihrem Firebase-Projekt zu verknüpfen. Weitere Informationen finden Sie FirebaseOptions
.
Firebase Cloud Messaging (FCM) mit Firebase-Instanz-ID (IID)
Wenn neue Benutzer Ihrer App Probleme mit FCM haben, ist es möglich, dass Sie Firebase ohne die erforderlichen Firebase-Optionen initialisieren.
Ihre Anwendung verwendet möglicherweise eine unvollständige oder fehlerhafte google-services.json
Konfigurationsdatei. oder Ihre App initialisiert Firebase programmgesteuert ohne den vollständigen Satz erforderlicher Firebase-Optionen.
Infolgedessen funktionieren Firebase-Dienste wie Firebase Cloud Messaging für Endbenutzer, die Ihre App installiert haben, nachdem sie mit den aktualisierten Firebase-SDKs veröffentlicht wurde, nicht richtig. Darüber hinaus können wiederholte fehlgeschlagene Anfragen an Firebase die Endbenutzererfahrung Ihrer App verlangsamen.
Was muss ich tun?
So beheben Sie fehlerhafte Firebase-Dienste für Ihre Anwendungen:
- Aktualisieren Sie Ihre Anwendung, indem Sie Firebase mit einem gültigen API-Schlüssel Ihres Projekts, einer gültigen Projekt-ID und einer gültigen Anwendungs-ID (
mobilesdk_app_id
oder „App-ID“) initialisieren.- Standard-Initialisierungsprozess mit einer Firebase -Konfigurationsdatei : Laden Sie Ihre google-services.json-Konfigurationsdatei von der Firebase-Konsole herunter und ersetzen Sie dann die vorhandene Datei in Ihrer App.
- Programmatische Initialisierung mit einem
FirebaseOptions
-Objekt : Laden Sie Ihre google-services.json-Konfigurationsdatei von der Firebase-Konsole herunter, um Ihren API-Schlüssel, Ihre Projekt-ID und Ihre Anwendungs-ID zu finden, und aktualisieren Sie dann diese Werte imFirebaseOptions
-Objekt in Ihrer App.
- Veröffentlichen Sie eine neue Version Ihrer App im Play Store.
Fehlerbehebung bei Apple-Apps
Um die Sicherheit zu verbessern, wurde das Firebase SDK am 14. Januar aktualisiert und anschließend der Firebase-Instanz-ID-Dienst durch eine Abhängigkeit von der Firebase-Installations-API ersetzt.
Firebase-Installationen erzwingen das Vorhandensein und die Gültigkeit der obligatorischen Firebase-Optionen API-Schlüssel, Projekt-ID und Anwendungs-ID, um Kundendaten mit Ihrem Firebase-Projekt zu verknüpfen. Weitere Informationen finden Sie FIROptions
.
Firebase Cloud Messaging (FCM) mit Firebase-Instanz-ID (IID)
Wenn neue Benutzer Ihrer App Probleme mit FCM haben, ist es möglich, dass Sie Firebase ohne die erforderlichen Firebase-Optionen initialisieren.
Ihre Anwendung verwendet möglicherweise eine unvollständige oder ungültige Konfigurationsdatei " GoogleService-Info.plist
". oder Ihre App initialisiert Firebase programmgesteuert ohne den vollständigen Satz erforderlicher Firebase-Optionen.
Infolgedessen funktionieren Firebase-Dienste wie Firebase Cloud Messaging für Endbenutzer, die Ihre App installiert haben, nachdem sie mit den aktualisierten Firebase-SDKs veröffentlicht wurde, nicht richtig. Darüber hinaus können wiederholte fehlgeschlagene Anfragen an Firebase die Endbenutzererfahrung Ihrer App verlangsamen.
Was muss ich tun?
So beheben Sie fehlerhafte Firebase-Dienste für Ihre Anwendungen:
- Aktualisieren Sie Ihre Anwendung, indem Sie Firebase mit einem gültigen API-Schlüssel Ihres Projekts, einer gültigen Projekt-ID und einer gültigen Anwendungs-ID (
GOOGLE_APP_ID
oder "App-ID") initialisieren.- Standard-Initialisierungsprozess mit einer Firebase -Konfigurationsdatei : Laden Sie Ihre GoogleService-Info.plist-Konfigurationsdatei von der Firebase-Konsole herunter und ersetzen Sie dann die vorhandene Datei in Ihrer App.
- Programmatische Initialisierung mit einem
FIROptions
-Objekt : Laden Sie Ihre GoogleService-Info.plist-Konfigurationsdatei von der Firebase-Konsole herunter, um Ihren API-Schlüssel, Ihre Projekt-ID und Ihre Anwendungs-ID zu finden, und aktualisieren Sie dann diese Werte imFIROptions
Objekt in Ihrer App.
- Veröffentlichen Sie eine neue Version Ihrer App im App Store.
FCM-Serverschlüssel
Wenn Ihre App einen FCM-Serverschlüssel anstelle eines Cloud-API-Schlüssels verwendet, kann dies zu einer Sicherheitslücke führen, falls Sie denselben FCM-Serverschlüssel verwenden, um Push-Benachrichtigungen über FCM zu senden. In diesem Fall empfehlen wir Ihnen dringend, zu überarbeiten, wie Ihr Server Sendeanforderungen an FCM authentifiziert .
Beachten Sie, dass FCM-Serverschlüssel (die nicht mit den Firebase/Cloud-API-Schlüsseln identisch sind) nicht in Anwendungen aufgenommen werden dürfen, da sie missbraucht werden können, um Push-Benachrichtigungen im Namen Ihres Projekts zu senden.