gpt4 book ai didi

ios - 在 iOS 上延迟重复的用户通知

转载 作者:行者123 更新时间:2023-11-28 20:58:47 24 4
gpt4 key购买 nike

在 iOS 上安排用户通知时,是否可以在执行日期匹配时向 UNCalendarNotificationTrigger 添加初始延迟?

例如:3天后,开始每天发送一次本地通知。

我想要实现这个的原因是我的通知方案使用不同的通知主体——前几天被安排为不重复的,每次都有不同的副本,在 n 天后我想要一个重复的通知踢中。

最佳答案

根据关于 SO 主题的许多讨论,这是不可能的。

您可以在 for 循环中为特定日期创建一定数量的本地通知,我相信每个应用程序的限制是 50 - 然后当应用程序在 3 天后在前台打开时,您将有机会删除它们并使用重复通知。

这不是最优雅的解决方案,但如果您必须这样做,那么这是唯一的方法,而且应该足够了,如果用户在排队通知的 50 天左右内没有打开应用程序,他们可能不会无论如何再打开它。

3 天延迟偏移的初始手动设置如下所示:

for dayOffset in 3...33 {
let nextTriggerDate = Calendar.current.date(byAdding: .day, value: dayOffset, to: Date())!
let comps = Calendar.current.dateComponents([.year, .month, .day], from: nextTriggerDate)

let trigger = UNCalendarNotificationTrigger(dateMatching: comps, repeats: false)
// Create a notification here
// ...
}

由您创建逻辑来检测应用程序何时打开以及在 3 天后无限期重复。<​​/p>

一般来说,您可以永久使用它,因为如果用户有一段时间没有响应,您可能希望改变通知(以 DuoLingo 为例,几天后它会显示“这些通知不起作用......我们会把它们关掉一会儿”)

关于ios - 在 iOS 上延迟重复的用户通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50918712/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com