Nachrichten zuverlässig empfangen

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.

Zuverlässigkeit der Nachrichtenzustellung verbessern

Mit den folgenden Strategien können Sie die Zustellung Ihrer Nachrichten noch robuster gestalten: