我的应用程序通过FCM
收到静默的推送通知,正如我在日志记录中看到的那样,该消息已被接收和处理。然后,我的应用程序所做的就是确定是否向用户显示通知的某种逻辑。这有时有效,有时却无效。在我看来,它好像先工作然后突然停止工作,所以我猜测这是否可能是一个节流的问题?
我确实安排间隔30秒发送5条通知-因此用户不会错过通知:
for i in 0...5 {
let notification = UNMutableNotificationContent()
notification.title = NSLocalizedString("bed_wet", comment: "")
notification.subtitle = device.lookAfterPatientString
notification.sound = UNNotificationSound(named: "alarm.mp3")
notification.categoryIdentifier = Notification.Category.alarm
notification.userInfo = ["identifier": device.id]
let timeInterval = max(1, delaySeconds) + i * 30
let notificationTrigger = UNTimeIntervalNotificationTrigger(timeInterval: TimeInterval(timeInterval), repeats: false)
let request = UNNotificationRequest(identifier: UUID.init().uuidString, content: notification, trigger: notificationTrigger)
UNUserNotificationCenter.current().add(request) { error in
...
}
}
可能是这个循环吗?
答案 0 :(得分:1)
使用dispatch_async尝试一下,可能会调用一些不阻塞主线程的代码,而有些时候却没有调用。
第二个问题可能是iOS具有阻止应用程序向手机发送垃圾邮件的逻辑。您是否看到过instagram通知从几百个通知限制到只有几个通知。
谢谢