Der zuverlässige Empfang von Nachrichten ist die wichtigste Funktion jeder Android-Messaging-Anwendung. Außerdem ist es wichtig, Messaging im Hinblick auf den Systemzustand und die Akkulaufzeit zu implementieren. In diesem Dokument werden die wichtigsten Strategien und Tools vorgestellt, 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ässiges Messaging hängt von den spezifischen Anforderungen Ihrer Anwendung ab. Berücksichtigen Sie Faktoren wie:
- Aktuelle Echtzeitanforderungen
- Nachrichtenhäufigkeit
- Einschränkungen der Akkulaufzeit
Echtzeit-Messaging im Vordergrund
Wenn sich Ihre App im Vordergrund befindet, erwartet der Nutzer in der Regel eine relativ große Menge an Informationen und möchte beispielsweise Folgendes wissen:
- Ist die Person, der die Nachricht gesendet wird, auf ihrem Gerät aktiv?
- Tippen sie?
- Haben sie die Nachricht gelesen?
Diese Art von Echtzeitdatenaustausch wird normalerweise über ein Client-Server-Protokoll wie WebSockets unterstützt. WebSockets ermöglichen eine persistente Vollduplex-Kommunikation zwischen Ihrer Anwendung 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 vordefiniertes Backend und ein Client-Frontend, die diese Art der Kommunikation für Sie übernehmen können. Es verwendet intern WebSockets für die Echtzeitkommunikation zwischen Client und Server.
Echtzeit-Messaging im Hintergrund
Wenn sich Ihre App nicht mehr im Vordergrund befindet, sollten Sie unbedingt vermeiden, Dinge zu tun, die sich negativ auf den Systemzustand und die Akkulaufzeit auswirken. Da es weiterhin wichtig ist, Nachrichtenbenachrichtigungen zuverlässig zuzustellen, empfehlen wir die Verwendung von Firebase Cloud Messaging (FCM).
FCM ist eine plattformübergreifende Messaging-Lösung, mit der Benachrichtigungen und Datennachrichten effizient an Android-Geräte (und andere Geräte) gesendet werden können. Für Geräte mit Google-Diensten wird die Android-Transportschicht (Android Transport Layer, ATL) verwendet, damit deine App über Änderungen benachrichtigt werden kann, wenn sie nicht mehr ausgeführt wird. Die Aktualität der Nachrichtenzustellung hängt vom Status des Geräts, der Priorität der Nachricht und davon ab, ob Ihre App aufgrund des Stromsparmodus oder des App-Standbys 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 zuverlässiger machen:
- Verwende
WorkManager, um deine App regelmäßig zu aktivieren und nach neuen Nachrichten zu suchen, wenn das Gerät mit dem Netzwerk verbunden und (idealerweise) an ein Ladegerät angeschlossen ist. - Mit Tools wie der Firebase Console und den Android SDK-Zustellungsmesswerten aus der FCM Data API erhalten Sie Einblicke in die FCM-Zustellung.
- Verwenden Sie Logging-Mechanismen und Tools wie Firebase Crashlytics, um Probleme bei der Nachrichtenzustellung zu überwachen und zu beheben.