解析对象更改背景通知

时间:2018-09-21 00:01:23

标签: parse-server

在Mac / iOS上使用Parse时,我正在尝试设计一种同步策略。推送本地更改非常容易,但是我不确定如何从Parse中获取最新的PFObject更改。

我来自CloudKit,您可以在其中订阅记录更改。当您保存内容时,其他设备会收到后台推送通知,让他们知道记录已更改(以及CKRecordID是什么),以便您可以获取并更新数据。

我想在Parse上做类似的事情。我一直在阅读文档,对此一无所获。我知道我可以查询PFObjects并发送推送通知,但是我看不到用于发送对象更改推送的特定应用程序。

我是否必须使用 Cloud Code 设置一个afterSave挂钩?从我阅读的内容中,我可以像这样进行一个类级的钩子:

Parse.Cloud.afterSave("Project", function(request) {
  //...
})

但是有没有办法在对象级别执行此操作?还是至少可以将更改后的objectId包含在推送通知有效负载中?

1 个答案:

答案 0 :(得分:1)

答案是肯定的。 您应该使用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