2013-07-25 32 views
7

Có cách nào để khôi phục yêu cầu thông báo được đặt cho máy chủ GCM không?rollback/hủy thông báo android-gcm

Như trong, hãy xem xét yêu cầu GCM-message được đặt cho máy chủ GCM. Nếu người dùng nhìn thấy thông báo trên web trước khi trực tuyến trên thiết bị di động, yêu cầu GCM sẽ được khôi phục. Và người dùng sẽ không thấy thông báo trên thiết bị di động.

Trả lời

1

Không có cơ chế tích hợp cho việc khôi phục như vậy trong trường hợp bạn mô tả. Bạn có thể tự mình thực hiện nó - khi máy chủ của bạn nhận thấy thông báo được xem trong web, bạn có thể gửi một tin nhắn GCM khác tới thiết bị với một số dữ liệu đại diện cho nhu cầu quay lại. Khi bạn xử lý thông báo đó, bạn nên xóa mọi thông báo đã được tạo bởi ứng dụng của bạn trên thiết bị đó (Tôi không chắc chắn liệu điều đó có khả thi hay không, bạn sẽ phải kiểm tra).

Có cơ chế như vậy trong trường hợp tương tự - nếu người dùng có nhiều thiết bị Android và bạn gửi tin nhắn GCM cho tất cả chúng (sử dụng tính năng user notifications mới), khi người dùng xem thông báo trên một thiết bị, nó sẽ tự động bị xóa khỏi các thiết bị khác.

  • Nếu một tin nhắn đã được xử lý trên một thiết bị, thông báo GCM trên các thiết bị khác sẽ bị loại bỏ. Ví dụ: nếu người dùng đã xử lý thông báo lịch trên một thiết bị, thông báo sẽ biến mất trên thiết bị khác của người dùng.
  • Nếu một tin nhắn chưa được gửi đến thiết bị và nó đã được xử lý, máy chủ GCM sẽ xóa nó khỏi hàng đợi chưa được gửi cho các thiết bị khác.