niezawodnie odbierać wiadomości,

Niezawodne odbieranie wiadomości to najważniejsza funkcja każdej aplikacji do przesyłania wiadomości na Androidzie. Ważne jest też wdrażanie wiadomości z uwzględnieniem stanu systemu i żywotności baterii. W tym dokumencie znajdziesz najważniejsze strategie i narzędzia, które pomogą Ci zapewnić spójne, wydajne i niezawodne odbieranie wiadomości przez aplikację na Androida.

Mechanizmy dostarczania wiadomości

Najlepsze podejście do niezawodnego przesyłania wiadomości zależy od konkretnych wymagań aplikacji. Weź pod uwagę takie czynniki jak:

  • bieżące potrzeby w zakresie czasu rzeczywistego,
  • Częstotliwość wysyłania wiadomości
  • Ograniczenia dotyczące baterii

Wiadomości w czasie rzeczywistym na pierwszym planie

Gdy aplikacja jest na pierwszym planie, użytkownik zwykle oczekuje dość dużej ilości informacji i chce wiedzieć m.in.:

  • Czy osoba, do której wysyłana jest wiadomość, jest obecna przy urządzeniu?
  • Czy piszą?
  • Czy odbiorca przeczytał wiadomość?

Typowym sposobem obsługi tego rodzaju wymiany danych w czasie rzeczywistym jest użycie protokołu klient-serwer, takiego jak WebSockets. WebSockety umożliwiają trwałą, dwukierunkową komunikację między aplikacją a serwerem. Biblioteka OKHTTP zawiera implementację protokołu WebSocket, której możesz używać w swoim kliencie na Androida.

Baza danych czasu rzeczywistego Firebase udostępnia gotowe zaplecze i interfejs klienta, które mogą obsługiwać tego rodzaju komunikację w Twoim imieniu. Wewnętrznie korzysta z protokołu WebSockets do komunikacji w czasie rzeczywistym między klientem a serwerem.

Wiadomości w czasie rzeczywistym w tle

Gdy aplikacja nie jest już na pierwszym planie, należy unikać działań, które negatywnie wpływają na stan systemu i żywotność baterii. Ponieważ niezawodne dostarczanie powiadomień o wiadomościach jest nadal ważne, zalecamy korzystanie z Komunikacji w chmurze Firebase (FCM).

FCM to rozwiązanie do przesyłania wiadomości na wielu platformach, które skutecznie wysyła powiadomienia i wiadomości z danymi na urządzenia z Androidem (i inne). W przypadku urządzeń z usługami Google korzysta z warstwy transportowej Androida (ATL), dzięki czemu aplikacja może otrzymywać powiadomienia o zmianach, gdy nie jest już uruchomiona. Terminowość dostarczania wiadomości zależy od stanu urządzenia, priorytetu wiadomości oraz tego, czy aplikacja podlega ograniczeniom z powodu trybu uśpienia lub trybu gotowości aplikacji.

Zwiększanie niezawodności dostarczania wiadomości

Aby jeszcze bardziej zwiększyć skuteczność dostarczania wiadomości, weź pod uwagę te strategie: