Đặt và quản lý mức độ ưu tiên của tin nhắn

Bạn có hai tùy chọn để chỉ định mức độ ưu tiên gửi cho các tin nhắn xuôi dòng trên Android: mức độ ưu tiên bình thường và mức độ ưu tiên cao. Việc gửi tin nhắn có mức độ ưu tiên cao và bình thường hoạt động như sau:

  • Ưu tiên bình thường. Đây là mức ưu tiên mặc định cho tin nhắn dữ liệu . Tin nhắn ưu tiên thông thường sẽ đượ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 truyền 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 thư ít nhạy cảm về thời gian hơn, chẳng hạn như thông báo về email mới, giữ cho giao diện người dùng của bạn được đồng bộ hóa hoặc đồng bộ hóa dữ liệu ứng dụng ở chế độ 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ụ bằng WorkManager để xử lý tác vụ đó khi có mạng.

  • Ưu tiên cao. FCM cố gắng gửi ngay các tin nhắn có mức độ ưu tiên cao, 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ả quyền 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 sự 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 có mức độ ưu tiên cao Dành cho Android

Tin nhắn có mức độ ưu tiên cao trên Android dành cho nội dung nhạy cảm về thời gian, nội dung hiển thị với người dùng và sẽ dẫn đến thông báo trực tiếp cho người dùng. Nếu FCM phát hiện một kiểu trong đó tin nhắn không dẫn đến thông báo phía người dùng thì tin nhắn của bạn có thể bị giảm mức độ ưu tiên về mức độ ưu tiên thông thường. FCM sử dụng hành vi của tin nhắn trong 7 ngày khi xác định xem có nên loại bỏ mức độ ưu tiên của 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 tin nhắn có mức độ ưu tiên cao, 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 tin nhắn có mức độ ưu tiên cao trong tương lai của bạn sẽ không bị loại bỏ. Điều này áp dụng cho dù thông báo được FCM SDK 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ó được giảm mức độ ưu tiên hay không bằng cách so sánh mức độ ưu tiên đã gửi của thư đó, từ getPriority() , với mức độ ưu tiên ban đầu của thư đó, từ getOriginalPriority()

  • Tất cả các tin nhắn. API dữ liệu phân phối tổng hợp FCM có thể báo cáo tỷ lệ phần trăm tất cả tin nhắn của bạn gửi tới Android đang bị loại bỏ mức độ ưu tiên. Một số thông báo có thể bị bỏ qua trong báo cáo dữ liệu tổng hợp, nhưng nhìn chung chúng sẽ cung cấp cái nhìn tổng thể về tỷ lệ loại bỏ mức độ ưu tiên của 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 đã vô hiệu hóa 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 đó, tin nhắn của bạn sẽ bị loại bỏ mức độ ưu tiên. Bạn nên xác minh rằng thông báo đã được bật trước khi gửi tin nhắn có mức độ ưu tiên cao đến phiên bản ứng dụng.

  • Đừng gọi về nhà trước khi đăng thông báo. Vì một phần nhỏ người dùng di động Android sử dụng mạng có độ trễ cao nên hãy tránh mở kết nối tớ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ị 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ụ bằng WorkManager để xử lý nội dung đó ở chế độ nền.