好的,因为我的问题已经结束,所以我会更深入地讨论,我正在编写一个调整 /reads/ 如果有任何通知,如果有它 /tells/ 你用声音或自定义振动模式。
问题是,如果有任何通知以及用户有多少通知,我将如何(调整)/read/?
希望这被认为是有效的,在此先感谢!
好的,因为我的问题已经结束,所以我会更深入地讨论,我正在编写一个调整 /reads/ 如果有任何通知,如果有它 /tells/ 你用声音或自定义振动模式。
问题是,如果有任何通知以及用户有多少通知,我将如何(调整)/read/?
希望这被认为是有效的,在此先感谢!
如果我对您的理解正确,您正在尝试确定您的应用程序的 iOS 5+ 通知中心中存在多少通知。
据我所知,这不可能直接实现,因为您无法以编程方式访问 iOS 通知中心。但是,您可以接近对存在多少通知的“最佳猜测”。为此,您使用应用程序徽章编号UIApplication.sharedApplication. applicationIconBadgeNumber
。
如果每次从服务器向设备发送新的 APNS 通知时都增加徽章编号,那么徽章编号理论上应该与 iOS 通知中心中的通知数量匹配。为此,您必须(在服务器上)存储自用户上次进入应用程序以来已发送的通知数量。但是,您无法在每次使用通知启动应用程序时可靠地将徽章编号减一并期望仍然接近准确,因为用户可以在您不知道的情况下清除 iOS 通知中心中的所有通知。因此,更可靠的方法是在您进入应用程序时简单地清除 iOS 通知中心中的所有通知(通过清除徽章编号来完成):
UIApplication.sharedApplication.applicationIconBadgeNumber = 0;
需要注意的一点是,如果您的徽章编号以 0 开头,则必须将其设置为 1,然后将其设置为 0,以便清除 iOS 通知中心中的所有通知:
UIApplication.sharedApplication.applicationIconBadgeNumber = 1;
UIApplication.sharedApplication.applicationIconBadgeNumber = 0;
至于阅读通知,您始终可以在服务器端存储发送给用户的通知列表。这不是一个完美的解决方案,但您应该接近了解用户在 iOS 通知中心中拥有什么。
希望这可以帮助...