Nếu tôi gửi một thông báo đến một thiết bị, và thiết bị ngoại tuyến tôi nhận được một cái gì đó như:Gửi thông báo GCM vào một thiết bị ẩn
Error: Unavailable
Và tôi phải gửi lại.
Câu hỏi của tôi là:
Máy chủ GCM có giữ lại các thông báo này trong hàng đợi và tự động gửi lại khi thiết bị trực tuyến không? Hoặc nó phải được xử lý hoàn toàn bởi tôi.
Bởi vì nếu máy chủ GCM sẽ tự động gửi chúng (khi thiết bị đang trực tuyến), cho đến khi nó thực sự gửi thông báo, máy chủ của tôi cho rằng chúng đã được gửi. Làm thế nào để theo dõi thời gian khi các thông báo được gửi lại thành công?
Tôi có thể đánh dấu ở phía máy chủ của mình rằng các thông báo không được gửi bằng cách xem Unavailable error message
nhưng không thể tạo ra cách đánh dấu chúng như đã gửi khi GCM gửi thành công thông báo.
cảm ơn
Làm thế nào sẽ máy chủ của tôi biết khi nào thông báo cuối cùng được gửi (thành công)? – user1537779
Tôi không tin rằng có thể nhận được thông tin đó từ các máy chủ GCM. Điều này có nghĩa là bạn sẽ phải dựa vào một phương thức giao tiếp khác giữa các ứng dụng khách mà nhận được tin nhắn và máy chủ của bạn thành công. Phản hồi bạn nhận được từ máy chủ GCM (như bạn biết) chỉ cho phép bạn biết: thành công: Số lượng thư được xử lý không có lỗi. hoặc không thành công: Số lượng thư không thể xử lý được. –
'Tôi có thể đánh dấu ở phía máy chủ của mình rằng thông báo không được gửi bằng cách xem thông báo lỗi Không khả dụng nhưng không thể tìm cách đánh dấu chúng như đã gửi khi GCM gửi thành công thông báo'. Tôi có thể gửi lại các thông báo tương tự nếu Tôi không thể biết liệu máy chủ gcm đã gửi cho họ đôi khi sau này hay không. – user1537779