解析对象更改后台通知

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