Nhận tin nhắn một cách đáng tin cậy

Nhận tin nhắn một cách đáng tin cậy là tính năng quan trọng nhất của mọi trải nghiệm nhắn tin trên Android. Bạn cũng cần triển khai thông báo để theo dõi tình trạng hệ thống và thời lượng pin. Tài liệu này hướng dẫn bạn các chiến lược và công cụ chính để đảm bảo ứng dụng Android của bạn nhận được thông báo một cách nhất quán, hiệu quả và đáng tin cậy.

Cơ chế gửi tin nhắn

Phương pháp tốt nhất để truyền thông điệp một cách đáng tin cậy phụ thuộc vào các yêu cầu cụ thể của ứng dụng. Hãy cân nhắc các yếu tố như:

  • Nhu cầu hiện tại theo thời gian thực
  • Tần suất gửi tin nhắn
  • Các quy tắc ràng buộc về pin

Nhắn tin theo thời gian thực ở nền trước

Khi ứng dụng của bạn ở trên nền trước, người dùng thường kỳ vọng nhận được một lượng thông tin tương đối lớn và muốn biết những thông tin như:

  • Người nhận tin nhắn có đang dùng thiết bị của họ không?
  • Họ có đang nhập nội dung không?
  • Họ đã đọc tin nhắn chưa?

Cách thông thường để hỗ trợ loại trao đổi dữ liệu theo thời gian thực này là sử dụng giao thức máy chủ-máy khách, chẳng hạn như WebSockets. WebSocket cho phép giao tiếp song công liên tục giữa ứng dụng và một máy chủ. Thư viện OKHTTP bao gồm một phương thức triển khai giao thức WebSocket mà bạn có thể dùng trong ứng dụng Android.

Cơ sở dữ liệu theo thời gian thực của Firebase cung cấp một phần phụ trợ được tạo sẵn và giao diện người dùng phía máy khách có thể xử lý loại thông tin liên lạc này thay cho bạn. Nó sử dụng WebSockets nội bộ để giao tiếp theo thời gian thực giữa ứng dụng và máy chủ.

Nhắn tin theo thời gian thực ở chế độ nền

Khi ứng dụng của bạn không còn ở nền trước, bạn cần tránh làm những việc ảnh hưởng tiêu cực đến tình trạng hệ thống và thời lượng pin. Vì việc gửi thông báo tin nhắn một cách đáng tin cậy vẫn rất quan trọng, nên bạn nên sử dụng Giải pháp gửi thông báo qua đám mây của Firebase (FCM).

FCM là một giải pháp nhắn tin đa nền tảng, giúp gửi thông báo và tin nhắn dữ liệu một cách hiệu quả đến các thiết bị Android (và các thiết bị khác). Thư viện này tận dụng Lớp truyền tải Android (ATL) cho các thiết bị có dịch vụ của Google, để ứng dụng của bạn có thể nhận được thông báo về các thay đổi khi không còn chạy nữa. Tính kịp thời của việc gửi thông báo phụ thuộc vào trạng thái của thiết bị, mức độ ưu tiên của thông báo và việc ứng dụng của bạn có phải chịu các hạn chế do chế độ ngủ hoặc chế độ chờ ứng dụng hay không.

Nâng cao độ tin cậy khi gửi thư

Để việc gửi thông báo hiệu quả hơn nữa, hãy cân nhắc các chiến lược sau: