Bạn có hai tùy chọn để chỉ định mức độ ưu tiên gửi cho thư xuôi dòng trên Android: mức độ ưu tiên bình thường và mức độ ưu tiên cao. Gửi tin nhắn bình thường và ưu tiên cao hoạt động như thế này:
Ưu tiên bình thường. Đây là mức độ ưu tiên mặc định cho các thông điệp dữ liệu . Thông báo ưu tiên thông thường được gửi ngay lập tức khi thiết bị không ở chế độ ngủ. Khi thiết bị ở chế độ Ngủ gật , quá trình giao hàng có thể bị trì hoãn để tiết kiệm pin cho đến khi thiết bị thoát khỏi chế độ ngủ gật. Đối với các tin nhắn ít nhạy cảm hơn về thời gian, chẳng hạn như thông báo về email mới, đồng bộ hóa giao diện người dùng của bạn hoặc đồng bộ hóa dữ liệu ứng dụng trong nền, hãy chọn mức độ ưu tiên gửi bình thường.
Khi nhận được thông báo ưu tiên thông thường trên Android yêu cầu đồng bộ hóa dữ liệu nền cho ứng dụng của bạn, bạn có thể lên lịch tác vụ với WorkManager để xử lý khi có mạng.
Ưu tiên cao. FCM cố gắng gửi thông báo có mức độ ưu tiên cao ngay lập tức, cho phép FCM đánh thức thiết bị đang ngủ khi cần thiết và chạy một số xử lý hạn chế (bao gồm cả truy cập mạng rất hạn chế). Thông báo có mức độ ưu tiên cao thường sẽ dẫn đến tương tác của người dùng với ứng dụng của bạn hoặc thông báo của ứng dụng.
Sử dụng tin nhắn ưu tiên cao cho Android
Thông báo có mức độ ưu tiên cao trên Android dành cho thời gian nhạy cảm, nội dung hiển thị của người dùng và sẽ dẫn đến thông báo cho người dùng. Nếu FCM phát hiện thấy một mẫu trong đó các tin nhắn không dẫn đến thông báo cho người dùng, thì các tin nhắn của bạn có thể bị giảm ưu tiên xuống mức ưu tiên bình thường. FCM sử dụng hành vi tin nhắn trong 7 ngày khi xác định xem có nên hủy ưu tiên tin nhắn hay không; nó đưa ra quyết định này một cách độc lập cho mọi phiên bản ứng dụng của bạn. Nếu, để phản hồi các thông báo có mức độ ưu tiên cao, các thông báo được hiển thị theo cách mà người dùng có thể nhìn thấy, thì các thông báo có mức độ ưu tiên cao trong tương lai của bạn sẽ không bị giảm mức độ ưu tiên. Điều này áp dụng cho dù thông báo được SDK FCM hiển thị qua tin nhắn thông báo hay thông báo do nhà phát triển tạo qua tin nhắn dữ liệu .
Đo mức độ ưu tiên của tin nhắn trên Android
Tin nhắn cá nhân. Khi gửi, bạn có thể xác định xem một thư riêng lẻ có bị hủy ưu tiên hay không bằng cách so sánh mức độ ưu tiên được gửi của nó, từ getPriority() , với mức độ ưu tiên ban đầu của nó, từ getOriginalPriority()
Tất cả các tin nhắn. API dữ liệu gửi tổng hợp FCM có thể báo cáo phần trăm tất cả thư của bạn tới Android đang bị hủy ưu tiên. Một số thông báo có thể bị bỏ qua trong các báo cáo dữ liệu tổng hợp, nhưng nhìn chung, chúng sẽ cung cấp một cái nhìn tổng thể về tỷ lệ loại bỏ thông báo. Xem bài viết của chúng tôi về dữ liệu phân phối tổng hợp để biết thêm thông tin và mã mẫu để truy vấn API; nó cũng có thể được khám phá từ API explorer .
Xử lý sự cố
Đảm bảo rằng phiên bản ứng dụng của bạn đã bật thông báo. Nếu người dùng đã tắt quyền thông báo cho ứng dụng của bạn, thì sẽ không có thông báo nào của bạn được đăng, do đó, thông báo của bạn sẽ bị hủy ưu tiên. Bạn nên xác minh rằng các thông báo đã được bật trước khi gửi các thông báo có mức độ ưu tiên cao đến một phiên bản ứng dụng.
Đừng gọi điện về nhà trước khi đăng thông báo. Vì một phần nhỏ dân số di động Android sử dụng mạng có độ trễ cao, nên tránh mở kết nối với máy chủ của bạn trước khi hiển thị thông báo. Việc gọi lại máy chủ trước khi kết thúc thời gian xử lý cho phép có thể gây rủi ro cho người dùng trên các mạng có độ trễ cao. Thay vào đó, hãy đưa nội dung thông báo vào tin nhắn FCM và hiển thị nó ngay lập tức. Nếu cần đồng bộ hóa nội dung bổ sung trong ứng dụng trên Android, bạn có thể lên lịch tác vụ với WorkManager để xử lý nội dung đó trong nền.