在iOS上重复推送通知
这个问题可能是一样的重复苹果APNS推送通知? 但是由于那个人没有得到答案,而且我有更多的信息,我会再试一次。
重现问题的步骤:
- 设置通知中心显示通知作为警报,这将使问题更加明显。
- 确保应用程序没有在前台运行。
- 快速连续发送3个相同的推送通知。
- 等到信息到达电话,你现在不得不closures警报3次。
- 现在再发送1个通知,这与以前的不一样。
- 您现在可以看到最后一条通知,但是您还会看到之前的一条通知再次显示。 这就是问题。
- 如果您继续发送单个通知,前3个中的一个会在不应该时popup。
下面是一个video,这些步骤清楚地显示了问题:
在上面的链接问题中,我们和Remy Gale一样,确保我们的通知以正确的方式发送,并且每个通知只发送一次。 我们还testing了这个沙箱apns和生产apns,都performance完全一样。
如果应用程序徽章设置为0,问题就会消失,然后从通知中心删除所有通知。 手动删除通知不会有帮助。
UIApplication *app = [UIApplication sharedApplication]; app.applicationIconBadgeNumber = 0;
但这不是一个解决scheme。
如果所有通知都包含唯一文本,则不会出现该问题。 向警报文本添加一个GUID将使问题消失。 将它作为自定义属性或作为本地化的参数添加到apns-payload将无济于事,因此这也不是解决scheme。
这可能很less发生在具有实时应用程序的生产环境中,但是可能发生,并且当它发生时,这对用户来说真的很烦人!
有谁知道这是为什么发生? 有没有人有一个可行的解决scheme?
这个GoogleGroup for Gmail有一个来自已经研究过这个bug的用户的input,并且包含一个可能的解决方法。 根据input的错误是不存在的iOS 5,但是与iOS 6引入。
解决方法是简单地将一个随机数的零宽度非joiner添加到标题以确保唯一性。
这可能是服务器在向APN发送推送通知时select的时间戳的问题。 只select最新的时间戳。
- iOS定时后台处理
- 当用户使用iOS Swift轻击推送通知时,在特定视图中打开应用程序
- OneSignal iOS使用SDK 2.0.7发行“No Push Token”
- iOS在应用程序内注册推送通知
- 应用程序:didReceiveRemoteNotification:fetchCompletionHandler:调用时不在UIApplicateStateBackground中
- 如何捕捉设备上的应用程序卸载并让服务器知道这个(iOS / Android)
- 如何检测用户卸载的iOS应用程序? 我需要推动严重的通知。 我不想失去它
- 保存DeviceToken以便以后在Apple推送通知服务中使用
- 收到推送通知时打开特定的标签栏