如何让服务器指示应用程序执行功能?
How to get server to direct application to perform function?
我正在创建应用程序,除其他外,它允许用户相互发送消息。我将消息本地存储在一个 sqlite 数据库(使用 FMDB 构建)中,并且它按预期工作。但是,我 运行 在弄清楚如何 发送 用户之间的消息时遇到了一些问题。我想做的是在我的主数据库(解析服务器)中创建包含发送者 ID、接收者 ID 和实际消息的文本的瞬时对象。这本身并不困难。 具有挑战性的是弄清楚如何让接收者的应用程序识别消息何时发送给他们,然后加载该消息。我可以非常轻松地在 viewDidLoad()
:
中执行消息的加载
func fetchNewestMessageQuery(){
//pull the message
tabelView.reloadData() //reload the tableView's data to
//populate it with the newest message
}
override func viewDidLoad() {
super.viewDidLoad()
fetchNewestMessageQuery()
//save the new message to the SQLite database
}
然而,这意味着用户只有在打开页面时才会收到消息。我基本上如何在 任何 时间调用我的 fetchNewestMessageQuery()
数据库创建一个新的消息对象,然后向应用程序发送通知(它甚至可能不会在用户的 phone) 到 运行 查询(这基本上是 all 消息应用程序的工作方式)?我一直习惯于在 XCode...viewDidLoad()
、viewDidAppear()
、UIButton
印刷机等可预测事件上只 运行ning actions/functions ...并且不知道从哪里开始功能 运行ning 没有应用程序本身的提示。
这听起来像是推送通知的工作。
您可以在发送 content-available
参数的地方使用静默推送通知,即使用户已为您的应用禁用推送通知(实际上是警报),它也会被发送。如果您的应用程序尚未 运行,它甚至会被唤醒,并且将给它 30 秒的时间来处理通知(只要用户没有强制退出应用程序)。
但是,他们必须为您的应用启用后台应用刷新(需要 iOS 7+)。好消息是后台应用刷新将默认打开。
参见Configuring a Silent Notification。
您需要设置服务器以发送推送通知。
或者,建立您自己的到服务器的传出网络连接,这基本上就是 iOS 对 Apple 推送通知服务所做的。
我正在创建应用程序,除其他外,它允许用户相互发送消息。我将消息本地存储在一个 sqlite 数据库(使用 FMDB 构建)中,并且它按预期工作。但是,我 运行 在弄清楚如何 发送 用户之间的消息时遇到了一些问题。我想做的是在我的主数据库(解析服务器)中创建包含发送者 ID、接收者 ID 和实际消息的文本的瞬时对象。这本身并不困难。 具有挑战性的是弄清楚如何让接收者的应用程序识别消息何时发送给他们,然后加载该消息。我可以非常轻松地在 viewDidLoad()
:
func fetchNewestMessageQuery(){
//pull the message
tabelView.reloadData() //reload the tableView's data to
//populate it with the newest message
}
override func viewDidLoad() {
super.viewDidLoad()
fetchNewestMessageQuery()
//save the new message to the SQLite database
}
然而,这意味着用户只有在打开页面时才会收到消息。我基本上如何在 任何 时间调用我的 fetchNewestMessageQuery()
数据库创建一个新的消息对象,然后向应用程序发送通知(它甚至可能不会在用户的 phone) 到 运行 查询(这基本上是 all 消息应用程序的工作方式)?我一直习惯于在 XCode...viewDidLoad()
、viewDidAppear()
、UIButton
印刷机等可预测事件上只 运行ning actions/functions ...并且不知道从哪里开始功能 运行ning 没有应用程序本身的提示。
这听起来像是推送通知的工作。
您可以在发送 content-available
参数的地方使用静默推送通知,即使用户已为您的应用禁用推送通知(实际上是警报),它也会被发送。如果您的应用程序尚未 运行,它甚至会被唤醒,并且将给它 30 秒的时间来处理通知(只要用户没有强制退出应用程序)。
但是,他们必须为您的应用启用后台应用刷新(需要 iOS 7+)。好消息是后台应用刷新将默认打开。
参见Configuring a Silent Notification。
您需要设置服务器以发送推送通知。
或者,建立您自己的到服务器的传出网络连接,这基本上就是 iOS 对 Apple 推送通知服务所做的。