Tôi có một ứng dụng dựa trên Google Cloud Messaging và ứng dụng này hoạt động tốt. Bây giờ (hôm nay) tất cả của một đột ngột nó bắt đầu có một vấn đề chúng tôi chưa bao giờ thấy trước đây. Đối với mỗi tin nhắn được gửi giữa các thiết bị, thiết bị nhận sẽ nhận được hai lần. Việc đầu tiên sẽ đến gần như ngay lập tức (trong vòng chưa đầy 3 giây gửi). Thứ hai đến sau vài phút. Có hai thiết bị trong thử nghiệm, vấn đề là giống nhau bất kỳ thiết bị nào là người gửi/người nhận. Vì vậy, nếu một thiết bị gửi một vài tin nhắn cho người kia, người kia sẽ nhận được nhiều tin nhắn ngay lập tức - nhưng sau đó vào một thời gian sau, nó sẽ nhận được một loạt các tin nhắn là bản sao thứ hai của các tin nhắn mà họ đã nhận được.Tin nhắn được sao chép GCM
Tôi đã đặt vào điểm ngắt để đảm bảo rằng thiết bị gửi không phải là thủ phạm: thông báo được gửi chính xác một lần (nghĩa là dịch vụ web để gửi được gọi chính xác một lần - và mã cho chương trình phụ trợ trên Google App Engine, đã không thay đổi theo độ tuổi.) Tuy nhiên, thông báo bằng cách nào đó được gửi tới thiết bị nhận hai lần. Bằng cách sử dụng điểm ngắt, tôi cũng đảm bảo mã của chúng tôi ở bên nhận không chịu trách nhiệm: nó được xác minh rằng GCMIntentService::onMessage()
thực sự được gọi hai lần cho mỗi thư đã gửi.
Chúng tôi cũng đảm bảo rằng id đăng ký trong cơ sở dữ liệu của chúng tôi là mới nhất. Tại thời điểm này tôi stumped và cần ý tưởng để thực hiện bất kỳ tiến bộ hơn nữa. Vì vậy, bất kỳ ý tưởng?
Tôi không thể xác nhận điều này là người dùng. Từ khoảng 7 giờ, tôi nhận được mọi tin nhắn hai lần. Từ Facebook, Gmail, v.v. Rất bực bội ... Tôi nghi ngờ có vấn đề với gcm – aeno
Aeno: cảm ơn bạn đã xác nhận. Bạn vui lòng chỉnh sửa bài đăng của mình để nói "có thể xác nhận" thay vì "không thể" - đó là ý của bạn. Bất kỳ ai từ nhóm Google Android xem không gian này? Có bất kỳ từ chính thức nào về điều này không? – user2113392
Tương tự ở đây. Ứng dụng vẫn đang phát triển của chúng tôi nhận được thông báo trùng lặp kể từ hôm qua. – swehrli