Heim > Web-Frontend > js-Tutorial > Hauptteil

Fehlerbehebung bei häufigen Problemen mit React Native Firebase – Cloud Messaging

Mary-Kate Olsen
Freigeben: 2024-11-01 13:43:29
Original
252 Leute haben es durchsucht

Troubleshooting Common Issues of React Native Firebase- Cloud Messaging

Quelle: npm @react-native-firebase/app

Haben Sie Probleme bei der Implementierung von React Native Firebase Cloud Messaging?

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:

  1. Verwenden Sie arch -x86_64 - Bei M1-Macs können Kompatibilitätsprobleme mit CocoaPods auftreten. Führen Sie Befehle mit arch -x86_64 aus, um die x86_64-Architektur zu verwenden:

arch -x86_64 Pod-Installation

  1. CocoaPods-Repository aktualisieren- Wenn Fehler im Zusammenhang mit veralteten Pod-Versionen auftreten, aktualisieren Sie Ihr CocoaPods-Repo:

arch -x86_64 Pod-Repo-Update

  1. Fi-Fehler beheben- Möglicherweise tritt ein FFI-Bibliotheksfehler auf. Um das Problem zu beheben, installieren Sie das FFI-Gem speziell für Ihre Architektur:

sudo arch -x86_64 gem install ffi

  1. Pods neu installieren - Führen Sie nach diesen Schritten den Pod-Installationsbefehl erneut aus:

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');
    }
  }
}


Nach dem Login kopieren
Nach dem Login kopieren

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:

  • Für den Empfang von Push-Benachrichtigungen sind im Allgemeinen physische iOS-Geräte erforderlich.
  • Wenn Sie macOS 13 mit Apple Silicon verwenden, können Sie zum Testen auch einen iOS-Simulator mit iOS 16 verwenden.

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:

  • Starten Sie den Simulator neu oder setzen Sie ihn zurück, indem Sie alle Inhalte und Einstellungen löschen.
  • Versuchen Sie es nach dem Zurücksetzen erneut, da das Problem manchmal durch einen Neustart des Simulators behoben werden kann.

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>
   
Nach dem Login kopieren

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');
    }
  }
}


Nach dem Login kopieren
Nach dem Login kopieren

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!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!