Der zuverlässige Empfang von Nachrichten ist die wichtigste Funktion jeder Android-Messaging-App. Außerdem ist es wichtig, Nachrichten mit Blick auf die Systemintegrität und die Akkulaufzeit zu implementieren. In diesem Dokument werden die wichtigsten Strategien und Tools beschrieben, mit denen Sie dafür sorgen können, dass Ihre Android-App Nachrichten konsistent, effizient und zuverlässig empfängt.
Mechanismen für die Nachrichtenübermittlung
Der beste Ansatz für zuverlässige Nachrichten hängt von den spezifischen Anforderungen Ihrer App ab. Berücksichtigen Sie dabei unter anderem folgende Faktoren:
- Aktueller Echtzeitbedarf
- Nachrichtenhäufigkeit
- Akkubeschränkungen
Echtzeit-Messaging im Vordergrund
Wenn Ihre App im Vordergrund ist, erwartet der Nutzer in der Regel eine relativ große Menge an Informationen und möchte Dinge wie die folgenden wissen:
- Ist die Person, der eine Nachricht gesendet wird, auf ihrem Gerät angemeldet?
- Schreiben sie gerade?
- Hat der Empfänger die Nachricht gelesen?
Die typische Methode zur Unterstützung dieses Echtzeit-Datenaustauschs ist die Verwendung eines Client-Server-Protokolls wie WebSockets. WebSockets ermöglichen eine dauerhafte Vollduplex-Kommunikation zwischen Ihrer App und einem Server. Die OKHTTP-Bibliothek enthält eine Implementierung des WebSocket-Protokolls, die Sie in Ihrem Android-Client verwenden können.
Die Firebase Realtime Database bietet ein vorgefertigtes Backend und Client-Frontend, das diese Art der Kommunikation für Sie übernehmen kann. Intern werden WebSockets für die Echtzeitkommunikation zwischen Client und Server verwendet.
Echtzeit-Messaging im Hintergrund
Wenn Ihre App nicht mehr im Vordergrund ist, sollten Sie unbedingt vermeiden, Dinge zu tun, die sich negativ auf den Systemzustand und die Akkulaufzeit auswirken. Da es weiterhin wichtig ist, Benachrichtigungen zuverlässig zuzustellen, empfehlen wir die Verwendung von Firebase Cloud Messaging (FCM).
FCM ist eine plattformübergreifende Messaging-Lösung, mit der Benachrichtigungen und Datenmeldungen effizient an Android-Geräte (und andere Geräte) gesendet werden können. Sie nutzt die Android Transport Layer (ATL) für Geräte mit Google-Diensten, damit Ihre App über Änderungen benachrichtigt werden kann, wenn sie nicht mehr ausgeführt wird. Die Aktualität der Nachrichtenübermittlung hängt vom Status des Geräts, der Priorität der Nachricht und davon ab, ob Ihre App aufgrund von Doze oder App-Standby Einschränkungen unterliegt.
- Informationen zum Einbinden von FCM in Ihr Android-Projekt
- FCM-Server-API und ihre Funktionen kennenlernen
Zuverlässigkeit der Nachrichtenzustellung verbessern
Mit den folgenden Strategien können Sie die Zustellung Ihrer Nachrichten noch robuster gestalten:
- Verwende
WorkManager, um deine App regelmäßig zu aktivieren und nach neuen Nachrichten zu suchen, wenn das Gerät Netzwerkverbindung hat und (idealerweise) wenn das Gerät an ein Ladegerät angeschlossen ist. - Mit Tools wie der Firebase Console und Messwerten zur Android SDK-Bereitstellung aus der FCM Data API erhalten Sie Einblicke in die FCM-Bereitstellung.
- Verwenden Sie Logging-Mechanismen und Tools wie Firebase Crashlytics, um Probleme bei der Nachrichtenzustellung zu überwachen und zu beheben.