我有一个 iOS 和 android 应用程序,部署在 Parse Server 中。现在,我想通过云函数使用 LiveQuery SDK!
这是我的云代码:
Parse.Cloud.define("subscribeQueryFunction", function(request, response) {
var query = new Parse.Query("Message");
var subscription = query.subscribe();
subscription.on("create", (object) => {
response.success(object);
});
});
还有我的 Swift 代码:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
PFCloud.callFunction(inBackground: "subscribeQueryFunction", withParameters: nil) { (res: Any?, e: Error?) in
print(res)
print(e)
}
}
问题是,客户端没有得到响应!虽然,我检查了日志,订阅似乎已经建立:
2017-05-14T16:49:12.442Z - 为用户 D7FP3cts5p 运行云函数 subscribeQueryFunction,其中:
输入: {}
结果:{"text":"hey","createdAt":"2017-05-14T16:49:12.412Z","updatedAt":"2017-05-14T16:49:12.412Z","objectId":"DXCiumOTal","__type":"对象","className":"消息"}
2017-05-14T16:49:11.101Z - 为用户 D7FP3cts5p 运行云函数 subscribeQueryFunction,其中:
输入: {}
结果:{"text":"hey","createdAt":"2017-05-14T16:49:11.044Z","updatedAt":"2017-05-14T16:49:11.044Z","objectId":"qkXS6csCKJ","__type":"对象","className":"消息"}
2017-05-14T16:49:09.099Z - 为用户 D7FP3cts5p 运行云函数 subscribeQueryFunction,其中:
输入: {}
结果:{"text":"hey","createdAt":"2017-05-14T16:49:09.080Z","updatedAt":"2017-05-14T16:49:09.080Z","objectId":"ydnrDHO9AP","__type":"对象","className":"消息"}
2017-05-14T16:47:45.183Z - 创建新客户端:0
有什么想法吗?
最佳答案
实时查询不适用于服务器端。 Live Query 使用网络套接字,与您的客户进行实时交互。 但是当你的应用程序关闭时,套接字也关闭了......所以你需要的是推送通知
如果你想制作一个带有解析功能的实时消息传递应用程序,你需要:
- 实现 Parse Live Query 以在您的应用程序打开时使用网络套接字获取新消息
- 使用推送通知,所以当您的应用程序关闭时,您会收到新消息
关于ios - 在 Cloud Code 中解析 LiveQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43966542/