PushSharp - APNS - 内部缓存

时间:2013-11-05 00:30:53

标签: c# push-notification apple-push-notifications pushsharp

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

我知道PushSharp内部必须使用某种集合来管理它。我是否重复工作?我保证每发送一次通知都会收到回电吗?

1 个答案:

答案 0 :(得分:1)

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

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