2011-07-06 37 views
15

Tôi có một ứng dụng iOS bằng cách sử dụng thông báo đẩy nhưng thỉnh thoảng tôi không nhận được thông báo trên thiết bị của mình khi tôi mong nhận được. Tôi sẽ nhận được tất cả các thông báo tiếp theo. Tôi đã xác nhận với chương trình phụ trợ của mình để đảm bảo rằng tất cả các thông báo đã được gửi thành công. Vì vậy, câu hỏi của tôi là: APNs gần như 100% đáng tin cậy hay tôi nên chờ đợi để bỏ lỡ một số thông báo ở đây và ở đó vì kết nối 3G/wifi không liên tục?Dịch vụ thông báo đẩy của Apple có đáng tin cậy không?

Tôi nghĩ rằng APN hoạt động như một hệ thống xếp hàng và thử lại nếu nó không thành công trong vài lần đầu tiên.

Trả lời

22

Dịch vụ APN sẽ xếp hàng các tin nhắn - nhưng Apple không đảm bảo việc gửi tất cả tin nhắn. Chỉ tin nhắn mới nhất từ ​​một ứng dụng sẽ được giữ trong hàng đợi khi người dùng đang ngoại tuyến. Ngoài ra, các tin nhắn cũ có thể bị xóa.

Local and Push Notification Programming Guide

Apple Push Notification Service bao gồm một chất lượng mặc định của dịch vụ (QoS) thành phần mà thực hiện một store-and-forward chức năng. Nếu APNs cố gắng gửi thông báo nhưng thiết bị đang ngoại tuyến, QoS lưu trữ thông báo. Nó chỉ giữ lại một thông báo cho mỗi ứng dụng trên thiết bị : thông báo cuối cùng nhận được từ nhà cung cấp cho ứng dụng đó. Khi thiết bị ngoại tuyến sau kết nối lại, QoS chuyển tiếp thông báo được lưu trữ tới thiết bị. Các QoS giữ lại một thông báo cho một thời gian giới hạn trước khi xóa nó.

+0

Cảm ơn bạn đã phản hồi kịp thời, Steve. Trong trường hợp của tôi, tôi không nghĩ rằng tôi có vấn đề với cũ hoặc quá nhiều tin nhắn cùng một lúc. Nó có thể giống như cứ 10-20 phút một lần nữa. và đó là sự hào phóng. –

+3

Andrew; sau đó, trong trường hợp của bạn, nếu người dùng đang ngoại tuyến (không có WiFi hoặc 3G) trong 20-40 phút, họ có thể không nhận được 1 hoặc 2 tin nhắn. – Steve

+0

Oh tuyệt vời. Nice chỉnh sửa. Đó có thể là câu trả lời. –

1

Tôi có một trang web xanh (và dịch vụ di động, dịch vụ xe buýt, db, thư mục hoạt động, v.v.) gửi thông báo đẩy đến ứng dụng xamarin trên điện thoại cửa sổ và iphone. Thông báo đầu tiên được nhận bởi cả hai. Thông báo thứ hai chỉ nhận được bởi các cửa sổ điện thoại, nó không làm cho nó vào iphone. Nếu tôi gửi một thông báo khác, nó sẽ được cả hai nhận. Vì vậy, tôi điều tra hành vi nhiều hơn một chút và thấy rằng nếu tôi máy súng một loạt các thông báo (tay gõ một trong 2 giây) các cửa sổ điện thoại nhận được tất cả nhưng iphone chỉ nhận được đầu tiên. Nhưng nếu tôi đợi một lúc và gửi một thông báo thì cả hai thiết bị đều nhận được thông báo. Bài kiểm tra tiếp theo là xem các thông báo có luôn nhận được khoảng cách 5 phút hay không. Gửi hai tin nhắn với một khoảng cách năm phút ở giữa, cả hai cửa sổ điện thoại và iphone nhận được cả hai thông báo.

Các vấn đề liên quan