我有点困惑PFInstallation Object在Parse中的工作原理
我理解这一点:
每个Parse应用程序都安装在注册为push的设备上 通知具有关联的PFInstallation对象。该 PFInstallation对象用于存储目标所需的所有数据 推送通知。还需要保存PFInstallation对象 用于跟踪与推送相关的应用开放事件。
这是我的困惑开始的地方,我试图用简单的问题提炼出来:
(注意我没有推动频道。我正在使用“高级定位”,我确定了一组PFInstallation对象,与一些目标用户相关联并推送到它们)
当更新应用程序(具有关联的PFInstallation)时,必须采取哪些措施才能继续正确的行为。这里的正确行为是继续接受推送。代码路径是否执行:
installation.saveInBackground()
对于更新的对象? (如果没有任何改变,只有updatedAt / modifiedAt应该改变,但看起来这些没有跟踪PFInstallation对象)
据我所知,上述内容对远程PFInstallation对象没有任何作用,该对象已在仪表板中提供
删除应用时,是否需要取消注册/删除PF安装的远程实例,因为它现在无效?
当删除并重新安装应用程序且未执行2时,仪表板现在将具有该同一设备的PFInstallations的重复实例。该应用程序现在会重复推送吗?或者只推送到最新的Installation对象。如果有重复推送,我该如何消除这些?如果没有,删除比该集合的最新实例更旧的PFInstallation重复实例是否安全?
在云代码中我可以说我做了以下事情:
var q = new Parse.Query(Parse.Installation); q.equalTo('userID','foo');
Parse.Push.send({
where: q,
data: data
}
这个查询是否保证它会找到userID = foo的“最新”安装对象,特别是当存在多个这样的对象时?