解析对象更改后台通知
Parse Object Change Background Notifications
我正在尝试在 Mac/iOS 上使用 Parse 时设计一个同步策略。推送本地更改很容易,但我不确定如何从 Parse 中获取最新的 PFObject
更改。
我来自 CloudKit,您可以在这里订阅记录更改。当您保存某些内容时,您的其他设备会收到后台推送通知,让他们知道记录已更改(以及它是什么CKRecordID
),以便您可以获取它并更新您的数据。
我想在 Parse 上做一些类似的事情。我一直在阅读文档,但我没有看到任何内容。我知道我可以查询 PFObjects
并发送推送通知,但我没有看到用于发送对象更改推送的特定应用程序。
我是否必须使用 Cloud Code 设置 afterSave
挂钩?根据我的阅读,我可以像这样做一个 class 级别的钩子:
Parse.Cloud.afterSave("Project", function(request) {
//...
})
但是有没有办法在对象级别做到这一点?或者我至少可以以某种方式在推送通知负载中包含更改的 objectId
吗?
答案是肯定的。
您应该使用 afterSave(或 beforeSave)来触发一个功能(在这种情况下,发送推送通知)给其他客户端。
例如:
Parse.Cloud.afterSave("Project", function(request) {
if (request.original){
// meaning this is an update to the object.
myPushHandler.push({updatedprojectId:request.object.id});
} else {
// the first time this object is created.
}
})
注意:您也可以使用解析 LiveQuery 而不是推送通知。 Parse Live Query
我正在尝试在 Mac/iOS 上使用 Parse 时设计一个同步策略。推送本地更改很容易,但我不确定如何从 Parse 中获取最新的 PFObject
更改。
我来自 CloudKit,您可以在这里订阅记录更改。当您保存某些内容时,您的其他设备会收到后台推送通知,让他们知道记录已更改(以及它是什么CKRecordID
),以便您可以获取它并更新您的数据。
我想在 Parse 上做一些类似的事情。我一直在阅读文档,但我没有看到任何内容。我知道我可以查询 PFObjects
并发送推送通知,但我没有看到用于发送对象更改推送的特定应用程序。
我是否必须使用 Cloud Code 设置 afterSave
挂钩?根据我的阅读,我可以像这样做一个 class 级别的钩子:
Parse.Cloud.afterSave("Project", function(request) {
//...
})
但是有没有办法在对象级别做到这一点?或者我至少可以以某种方式在推送通知负载中包含更改的 objectId
吗?
答案是肯定的。 您应该使用 afterSave(或 beforeSave)来触发一个功能(在这种情况下,发送推送通知)给其他客户端。
例如:
Parse.Cloud.afterSave("Project", function(request) {
if (request.original){
// meaning this is an update to the object.
myPushHandler.push({updatedprojectId:request.object.id});
} else {
// the first time this object is created.
}
})
注意:您也可以使用解析 LiveQuery 而不是推送通知。 Parse Live Query