在 IOS Swift 中定期向用户发送通知

Posted

技术标签:

【中文标题】在 IOS Swift 中定期向用户发送通知【英文标题】:Periodically sending notification to user in IOS Swift 【发布时间】:2015-12-20 02:22:59 【问题描述】:

目标:即使在应用程序关闭或手机重启后,也能持续向用户发送新通知。

详细信息:我正在创建一个激励应用程序,它会不时向用户发送新的报价或消息。

这个想法是用户将下载应用程序,并通过应用程序设置他/她希望接收通知的频率。然后,用户可能没有理由再次访问该应用程序,因此它只会留在后台。

如何实现此功能,以便应用在几个月未打开且甚至未在后台运行(例如手机重启后)的情况下发送通知。

谢谢!

【问题讨论】:

您使用的是推送通知还是本地通知? 【参考方案1】:

正如 Troy 上面所说,推送通知还是本地通知?

如果您使用本地通知(在设备上安排),请查看UILocalNotification。但是,您必须在应用程序运行时安排所有通知。例如:

var notification = UILocalNotification()
notification.alertBody = "Motivational Quote Here"
notification.fireDate = launchDate //time the notification will go off
UIApplication.sharedApplication().scheduleLocalNotification(notification)

如果用户调整了报价频率的设置,您可以使用

删除预定通知
UIApplication.sharedApplication().cancelLocalNotification(notification)

如果用户确实以某种方式与通知进行了交互,您可以使用UIMutableUserNotificationAction 在后台启动您的应用并安排进一步的通知。

【讨论】:

以上是关于在 IOS Swift 中定期向用户发送通知的主要内容,如果未能解决你的问题,请参考以下文章

如何从 SDK/框架向父应用发送推送通知?

使用 Parse 和 Swift 从用户向用户发送推送通知时遇到问题

Swift 从用户向用户发送推送通知 Firebase

Swift - 如何从 OneSignal SDK 向特定用户名标签发送发布通知?

如何在 iOS 中使用 Google Firebase 向特定用户发送推送通知?

应用程序在后台运行时发送本地通知 Swift 2.0