Heim >Web-Frontend >js-Tutorial >Fehlerbehebung bei häufigen Problemen mit React Native Firebase – Cloud Messaging
Quelle: npm @react-native-firebase/app
Benachrichtigungen sowohl auf Android als auch auf iOS reibungslos einzurichten und zum Laufen zu bringen, kann angesichts der einzigartigen Konfigurationen, die jede Plattform erfordert, manchmal eine Herausforderung sein.
Dieser Leitfaden führt Sie durch die wichtigen Schritte zum Einrichten von Firebase Cloud Messaging (FCM) in React Native und behebt einige häufige Fehler:
Firebase konfigurieren:
Laden Sie GoogleService-Info.plist (iOS) und google-services.json (Android) herunter.
Wählen Sie die heruntergeladene Datei GoogleService-Info.plist von Ihrem Computer aus und stellen Sie sicher, dass das Kontrollkästchen „Elemente bei Bedarf kopieren“ aktiviert ist
Laden Sie die Datei google-services.json herunter und platzieren Sie sie in Ihrem Projekt am folgenden Speicherort:
/android/app/google-services.json.
Push-Benachrichtigungen für iOS in Xcode aktivieren:
Die Funktion Push-Benachrichtigungen muss dem Projekt hinzugefügt werden. Dies kann über die Option „Fähigkeit“ auf der Registerkarte „Signierung & Fähigkeiten“ erfolgen:
Klicken Sie auf die Schaltfläche „Funktionen“.
Suchen Sie nach „Push-Benachrichtigungen“.
Nach der Auswahl wird die Funktion unter den anderen aktivierten Funktionen angezeigt. Wenn bei der Suche keine Option angezeigt wird, ist die Funktion möglicherweise bereits aktiviert
Die Funktion „Hintergrundmodi“ muss aktiviert sein, zusammen mit den Untermodi „Hintergrundabruf“ und „Fernbenachrichtigungen“. Dies kann über die Option „Fähigkeit“ auf der Registerkarte „Signierung & Fähigkeiten“ hinzugefügt werden.
Stellen Sie nun sicher, dass sowohl die Untermodi „Hintergrundabruf“ als auch „Remote-Benachrichtigungen“ aktiviert sind
Einrichtungsanleitung für React Native FCM:
Befolgen Sie die offizielle Einrichtungsanleitung für Firebase Cloud Messaging. Diese Anleitung enthält wichtige Schritte für den Einstieg in das Senden und Empfangen von Benachrichtigungen auf Android und iOS. Sobald Sie diese Schritte abgeschlossen haben, können Sie Benachrichtigungen direkt in der Firebase-Konsole unter „Messaging“ testen, indem Sie eine neue Kampagne erstellen.
Hinweis:
Für M1-Mac-Benutzer treten beim Einrichten von React Native Firebase häufig Probleme mit CocoaPods auf. Hier sind einige schnelle Lösungen:
arch -x86_64 Pod-Installation
arch -x86_64 Pod-Repo-Update
sudo arch -x86_64 gem install ffi
arch -x86_64 Pod-Installation
Das Befolgen dieser Schritte sollte dabei helfen, architekturspezifische Probleme auf M1-Macs bei der Installation und Verwaltung von Pods für Ihr React Native-Projekt zu lösen.
Hinweis:
Für Android 13-Geräte müssen Sie Laufzeitberechtigungen für Push-Benachrichtigungen explizit anfordern. Fügen Sie Ihrer AndroidManifest.xml die folgenden Berechtigungen hinzu:
Anschließend fordern Sie in Ihrem Code zur Laufzeit Benachrichtigungsberechtigungen an. Sie können Android-Berechtigungen direkt wie folgt verwalten:
import { Platform, PermissionsAndroid } from 'react-native'; async function requestNotificationPermission() { // Version >= 33(`~project/build.gradle`) if (Platform.OS === 'android' ) { const granted = await PermissionsAndroid.request( PermissionsAndroid.PERMISSIONS.POST_NOTIFICATIONS, ); if (granted === PermissionsAndroid.RESULTS.GRANTED) { console.log('Notification permission granted'); } else { console.log('Notification permission denied'); } } }
Rufen Sie requestNotificationPermission() während der App-Initialisierung oder vor dem Abonnieren von Benachrichtigungen auf, um sicherzustellen, dass der Benutzer die Berechtigung erteilt hat.
Kompatibilität sicherstellen:
Bevor Sie mit der Einrichtung beginnen, stellen Sie sicher, dass sowohl die Pakete @react-native-firebase/app als auch @react-native-firebase/messaging in Ihrem Projekt installiert und kompatibel sind.
Konsistente Versionen sind entscheidend, um unerwartete Integrationsprobleme zu vermeiden. Informationen zur Überprüfung der Versionskompatibilität finden Sie in der offiziellen React Native Firebase Release-Dokumentation.
Stellen Sie sicher, dass Sie die neuesten Versionen beider Pakete installiert haben, um Kompatibilitätsprobleme zu vermeiden.
Wenn Sie auf einem iOS-Gerät testen, beachten Sie Folgendes:
Tipps zur Fehlerbehebung:
Nach Abschluss der Einrichtung können weiterhin Probleme auftreten. Hier sind einige häufige Probleme und Lösungen:
Simulator empfängt keine Benachrichtigungen:
Wenn im iOS-Simulator keine Benachrichtigungen angezeigt werden, versuchen Sie Folgendes:
Nachdem ich das Problem ein paar Stunden lang selbst behoben hatte, stellte ich fest, dass ein schneller Neustart die einfachste Lösung war!
Überprüfen Sie Schritte und häufige Probleme:
Überprüfen Sie die Einrichtungsschritte im Firebase-Handbuch noch einmal, um sicherzustellen, dass alles richtig konfiguriert ist.
Fehler beim Installieren von CocoaPods:
Wenn Sie auf Installationsfehler stoßen, wie zum Beispiel:
<br> error: RPC failed; curl stream was reset<br> error: 6428 bytes of body are still expected<br>
Dies könnte an Netzwerkproblemen liegen. Versuchen Sie, von WLAN zu einem mobilen Hotspot zu wechseln (oder umgekehrt) und wiederholen Sie die Installation. Manchmal kann eine Änderung Ihres Netzwerks verbindungsbezogene Pod-Installationsprobleme lösen. Wenn das Problem dadurch nicht behoben wird, müssen Sie möglicherweise weitere Tipps zur Fehlerbehebung ausprobieren, z. B. das Leeren des CocoaPods-Cache oder das Aktualisieren von Xcode.
HTTP-URLs in iOS zulassen (App Transport Security):
Wenn Sie eine HTTP-URL für API-Anfragen verwenden (im Gegensatz zu HTTPS), müssen Sie Ihre iOS-Info.plist-Datei aktualisieren, um blockierte Verbindungen aufgrund von App Transport Security (ATS)-Einschränkungen zu vermeiden. Fügen Sie die folgenden Zeilen in Ihre Info.plist-Datei ein:
import { Platform, PermissionsAndroid } from 'react-native'; async function requestNotificationPermission() { // Version >= 33(`~project/build.gradle`) if (Platform.OS === 'android' ) { const granted = await PermissionsAndroid.request( PermissionsAndroid.PERMISSIONS.POST_NOTIFICATIONS, ); if (granted === PermissionsAndroid.RESULTS.GRANTED) { console.log('Notification permission granted'); } else { console.log('Notification permission denied'); } } }
Dadurch kann Ihre App HTTP-Anfragen ohne Störungen stellen. Seien Sie bei dieser Einstellung in Produktions-Apps vorsichtig und versuchen Sie, sie nach Möglichkeit auf Entwicklungsumgebungen zu beschränken.
Stellen Sie die App Transport Security (ATS)-Kompatibilität sicher:
Stellen Sie für iOS sicher, dass alle von Ihnen verwendeten HTTPS-Endpunkte ATS-kompatibel sind. Wenn Sie mit Staging-Servern oder selbstsignierten Zertifikaten testen, stellen Sie sicher, dass diese ATS-kompatibel sind, da Firebase eine sichere Verbindung für die Kommunikation mit APNs (Apple Push Notification Service) benötigt.
Fazit:
Das Einrichten von Firebase Cloud Messaging in React Native kann unkompliziert sein, aber kleinere Einrichtungsfehler oder Macken bei der Gerätekonfiguration können zu Problemen führen. Das Befolgen dieser Anleitung und Tipps zur Fehlerbehebung sollte Ihnen dabei helfen, dass Benachrichtigungen reibungslos funktionieren. Bei weiteren Problemen können Sie sich die offizielle Dokumentation, Foren oder GitHub-Diskussionen ansehen, um Lösungen zu finden, die von anderen Entwicklern geteilt werden.
Viel Spaß beim Codieren !!!!
Das obige ist der detaillierte Inhalt vonFehlerbehebung bei häufigen Problemen mit React Native Firebase – Cloud Messaging. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!