使用 CloudKit 延迟后触发推送通知
Fire push notification after delay using CloudKit
我正在使用 CloudKit 处理推送通知。通常,我使用选项 .firesOnRecordCreation
来确定何时发送推送通知。例如。 -
let subscription = CKQuerySubscription(recordType: "SomeRecord", predicate: NSPredicate(format: "TRUEPREDICATE", argumentArray: nil), options: .firesOnRecordCreation)
CKContainer.default().publicCloudDatabase.save(subscription) { (result, error) -> Void in
//check for result and error
}
这是一个CKQuerySubscriptionOptions
。但是,我想在几天后发送推送通知。我怎样才能做到这一点?谢谢!
目前无法为 CloudKit 推送通知的传送设置延迟。 CloudKit 在发生满足订阅的更改后的某个时刻发送通知。应用程序开发人员无法控制此过程的时间,并且时间可能会受到多个变量的影响。
如果您想在以后向用户显示通知,您可以通过为该日期安排本地通知来解决此问题(在您收到 CloudKit 通知之后)。
或者,您可以在您的应用程序中记录更改的记录/通知信息,并在应用程序 运行ning 时酌情处理。
或者,如果您愿意 运行 您自己的服务器 and/or 发送您自己的推送通知,没有限制。
我正在使用 CloudKit 处理推送通知。通常,我使用选项 .firesOnRecordCreation
来确定何时发送推送通知。例如。 -
let subscription = CKQuerySubscription(recordType: "SomeRecord", predicate: NSPredicate(format: "TRUEPREDICATE", argumentArray: nil), options: .firesOnRecordCreation)
CKContainer.default().publicCloudDatabase.save(subscription) { (result, error) -> Void in
//check for result and error
}
这是一个CKQuerySubscriptionOptions
。但是,我想在几天后发送推送通知。我怎样才能做到这一点?谢谢!
目前无法为 CloudKit 推送通知的传送设置延迟。 CloudKit 在发生满足订阅的更改后的某个时刻发送通知。应用程序开发人员无法控制此过程的时间,并且时间可能会受到多个变量的影响。
如果您想在以后向用户显示通知,您可以通过为该日期安排本地通知来解决此问题(在您收到 CloudKit 通知之后)。
或者,您可以在您的应用程序中记录更改的记录/通知信息,并在应用程序 运行ning 时酌情处理。
或者,如果您愿意 运行 您自己的服务器 and/or 发送您自己的推送通知,没有限制。