Parse platform 解析云代码多重推送困境

Parse platform 解析云代码多重推送困境,parse-platform,push-notification,parse-cloud-code,before-save,Parse Platform,Push Notification,Parse Cloud Code,Before Save,我的应用程序有基于邮政编码和频道的通知 当用户更改邮政编码时,应用程序将用新邮政编码更新安装 在我的beforeSaveonInstallation中,我抓取新的zip和订阅频道,搜索相关通知 然后我需要将通知发送回该安装 两个问题: 我是否可以在保存之前推送到中的安装对象,如下所示: 返回Parse.Push.send({ 其中:request.object 数据:数据 }) 或者我必须对该objectId执行安装查询吗 我不能只是推送通知对象。我需要配置数据。如果有多个通知(不太可能但可能)

我的应用程序有基于邮政编码和频道的通知

当用户更改邮政编码时,应用程序将用新邮政编码更新安装

在我的
beforeSave
on
Installation
中,我抓取新的zip和订阅频道,搜索相关通知

然后我需要将通知发送回该安装

两个问题:

  • 我是否可以在保存之前推送到
    中的安装对象,如下所示:

    返回Parse.Push.send({
    其中:request.object
    数据:数据
    })

  • 或者我必须对该objectId执行安装查询吗

  • 我不能只是推送通知对象。我需要配置数据。如果有多个通知(不太可能但可能),那么向该安装发送多个推送的最佳方式是什么(假设我不想将它们全部放在一个推送中)
  • 我无法从
    for
    循环发送推送。我可以这样做吗:

    return notificationQuery.each().then( function(notification) { 
        //configure push from that notification
        return Parse.Push.send ... etc
    })
    

    谢谢

    您可以基于
    频道
    其中
    (查询)在
    解析
    中发送推送通知,但不能同时发送

    因此,您可以使用
    channel
    zipcode
    查询
    Installation class

    var query = new Parse.Query(Parse.Installation);
    query.equalTo('channels', 'Indians');
    query.equalTo('zipcode', "345678");
    
    Parse.Push.send({
      where: query,
      data: {
        action: "com.example.UPDATE_STATUS"
        alert: "Ricky Vaughn was injured in last night's game!",
        name: "Vaughn",
        newsItem: "Man bites dog"
      }
    }, {
      success: function() {
        // Push was successful
      },
      error: function(error) {
        // Handle error
      }
    });
    

    希望这有帮助。

    谢谢。我在第一个问题中的意思是,我可以做
    {where:request.object}
    或者甚至
    {where:[request.object]}
    因为查询只是返回一组安装,而我已经有了所需的安装。如果您已经有了所需的安装,只需使用这些安装中的频道并发送推送到所需的频道。我有安装,只需推送到该安装。我必须向推送传递查询,还是可以传递安装?没有涉及任何频道。请参阅,根据。您可以使用频道或查询发送推送。因此,在您的场景中,只需使用查询
    zipcode
    即可。