Explore all courses in this category.
Explore all courses in this category.
Nguyễn Đình Cường
0 comment
09 Nov, 2026
Bạn nhận thông báo tin nhắn ngay cả khi ứng dụng đang đóng. Điều đó diễn ra thế nào? Hiểu luồng hoạt động của push notification giúp bạn thiết kế đúng, gỡ lỗi nhanh và tránh những hiểu lầm phổ biến khi triển khai.
Ứng dụng của bạn không thể giữ kết nối mở liên tục với máy chủ riêng, vì rất tốn pin. Thay vào đó, hệ điều hành duy trì một kết nối chung đến dịch vụ thông báo của nền tảng. Máy chủ của bạn chỉ cần gửi thông điệp cho dịch vụ đó, rồi dịch vụ chuyển đến đúng thiết bị.
Nhiều dự án dùng FCM làm lớp thống nhất, vì FCM cũng có thể chuyển thông điệp đến iOS thông qua APNs.
Notification message: có tiêu đề, nội dung; khi ứng dụng ở nền, hệ điều hành tự hiển thị mà không cần ứng dụng chạy mã.
Data message: chỉ mang dữ liệu tùy ý (cặp khóa giá trị) để ứng dụng tự xử lý, ví dụ cập nhật nội dung ngầm. Hành vi khi ứng dụng bị đóng phụ thuộc nền tảng và cài đặt hệ thống, nên không nên coi đây là cách đảm bảo chắc chắn chạy mã.
{
"message": {
"token": "DEVICE_TOKEN",
"notification": {
"title": "Đơn hàng đã giao",
"body": "Đơn hàng của bạn đang trên đường đến."
},
"data": {
"orderId": "1234",
"screen": "order_detail"
}
}
}
Phần data thường dùng để khi người dùng bấm vào thông báo, ứng dụng mở đúng màn hình liên quan.
Đây là điểm nhiều người mới hiểu lầm. Thông báo đẩy mang tính nỗ lực tối đa, không cam kết tuyệt đối. Thiết bị tắt mạng, chế độ tiết kiệm pin, cài đặt tối ưu của một số hãng điện thoại hay người dùng tắt quyền đều có thể khiến thông báo không hiện. Vì vậy dữ liệu quan trọng phải luôn có thể lấy lại khi mở ứng dụng, thông báo chỉ nên là lời nhắc.
Push notification là chuỗi: xin quyền, lấy token, lưu lên máy chủ, gửi qua dịch vụ nền tảng, hiển thị trên thiết bị. Nắm vững luồng này, bạn sẽ dễ dàng triển khai bằng bất kỳ SDK nào.
Đừng nhầm hai loại. Thông báo cục bộ do chính ứng dụng lên lịch trên thiết bị, ví dụ nhắc uống nước lúc 8 giờ, không cần máy chủ hay Internet. Thông báo từ xa đến từ máy chủ qua APNs hoặc FCM, dùng cho tin nhắn mới, đơn hàng, khuyến mại. Nhiều ứng dụng dùng cả hai. Chọn cục bộ khi nội dung chỉ phụ thuộc thời gian và dữ liệu trên máy, chọn từ xa khi sự kiện xảy ra ở phía máy chủ hoặc do người dùng khác gây ra.
Muốn xây hệ thống thông báo hoàn chỉnh từ ứng dụng đến máy chủ, bạn có thể tìm thêm bài học trên codebem.com.
Nguyễn Đình Cường
0 comment