1

我有一个 Windows 服务,它为我们的应用程序发送推送通知。在服务中,我维护了一个大约 60 秒的推送通知列表,所以如果我没有得到任何反馈,我可以尝试重试。

我知道在内部 PushSharp 必须使用某种集合来管理它。我在重复工作吗?我能保证收到我发送的每条通知的回调吗?

4

1 回答 1

1

对于被 APNS 服务器成功接受的消息,Apple 不会返回响应,即使消息被其服务器接受,它也不能保证将消息传送到设备。因此,您从 PushSharp 获得的任何反馈都不是您可以依赖的。PushSharp 可以做的最好的事情是尝试从 Apple 读取错误响应,并且每当它收到错误响应(包含消息 ID)时,它可以假设在失败消息之前发送的所有消息都已被接受,并且所有消息在失败的消息被拒绝并需要重新发送之后。

知道消息是否由 APNS 传递到设备的唯一方法是让设备在用户点击通知后向服务器发送确认。如果用户没有点击通知,那么即使是这种确认也是不可能的(iOS7 除外,它允许在用户点击通知之前对通知进行一些后台处理)。

于 2013-11-05T01:44:59.617 回答