这个问题与重复的苹果APNS推送通知差不多,但由于那个问题没有得到答案,我有更多的信息,所以我会再次尝试提问。
重现问题的步骤:
1.将通知中心设置为显示警报通知,这将使问题更加明显。 2.确保应用程序未在前台运行。 3.快速连续发送3条相同的推送通知。 4.等待消息到达手机,您现在必须三次消掉警报。 5.现在发送1条不同于以前的通知。 6.现在您将获得最后一条通知,但您也将再次看到以前的某个通知。这就是问题所在。 7.如果您继续发送单个通知,则第一批3条通知中的一条将会在不应该出现的情况下不断弹出。
这是一个遵循这些步骤的视频,清楚地显示了问题: http://youtu.be/TSqt8S4FY6w 我们像上面链接的 Remy Gale 一样确定我们的通知以正确的方式发送,并且每次只发送一次。我们还使用sandbox-apns和production-apns进行了测试,两者的行为完全相同。
如果将应用程序徽章设置为0,则问题会消失,这反过来会从通知中心删除所有通知。手动删除通知没有帮助。
但这并不是一个解决方案。
如果所有通知都包含唯一的文本,则问题不会出现。将GUID添加到警报文本中将使问题消失。将其作为自定义属性或本地化参数添加到apns-payload中将无法帮助,因此这也不是一个解决方案。
在生产环境中使用实时应用程序可能很少发生这种情况,但它可能会发生,当发生时,对于用户来说真的很烦人!
有人知道为什么会发生这种情况吗?有没有可行的解决方案?
重现问题的步骤:
1.将通知中心设置为显示警报通知,这将使问题更加明显。 2.确保应用程序未在前台运行。 3.快速连续发送3条相同的推送通知。 4.等待消息到达手机,您现在必须三次消掉警报。 5.现在发送1条不同于以前的通知。 6.现在您将获得最后一条通知,但您也将再次看到以前的某个通知。这就是问题所在。 7.如果您继续发送单个通知,则第一批3条通知中的一条将会在不应该出现的情况下不断弹出。
这是一个遵循这些步骤的视频,清楚地显示了问题: http://youtu.be/TSqt8S4FY6w 我们像上面链接的 Remy Gale 一样确定我们的通知以正确的方式发送,并且每次只发送一次。我们还使用sandbox-apns和production-apns进行了测试,两者的行为完全相同。
如果将应用程序徽章设置为0,则问题会消失,这反过来会从通知中心删除所有通知。手动删除通知没有帮助。
UIApplication *app = [UIApplication sharedApplication];
app.applicationIconBadgeNumber = 0;
但这并不是一个解决方案。
如果所有通知都包含唯一的文本,则问题不会出现。将GUID添加到警报文本中将使问题消失。将其作为自定义属性或本地化参数添加到apns-payload中将无法帮助,因此这也不是一个解决方案。
在生产环境中使用实时应用程序可能很少发生这种情况,但它可能会发生,当发生时,对于用户来说真的很烦人!
有人知道为什么会发生这种情况吗?有没有可行的解决方案?