使用Parse.com进行地理推送通知

时间:2014-11-21 17:43:27

标签: geolocation parse-platform push-notification push

我正在尝试使用Parse.com JavaScript API实现地理推送通知。

我需要在距离某个GeoPoint 1公里的近球体内发送推送通知。我的代码如下:

Parse.initialize("<MyApplicationId>", "<MyParseRestAPIKey>");

            var ponto = new Parse.GeoPoint(latitude, longitude);

            // Find users near a given location
            var userQuery = new Parse.Query(Parse.User);
            userQuery.withinMiles("location", ponto, 1.0);

            // Find devices associated with these users
            var pushQuery = new Parse.Query(Parse.Installation);
            pushQuery.matchesQuery('owner', userQuery);

            Parse.Push.send({
              where: pushQuery,
              data: {
                title: "Geolocalização Urba me",
                alert: "A partir de agora você vai receber muitas promoções"
              }
            }, {
              success: function() {
                alert("Notificação enviada com sucesso!");
              },
              error: function(error) {
                alert("Notificação não enviada!");
              }
            });

我总是得到成功的消息,但它不起作用。在Parse仪表板中创建了活动,但没有发送推送。

我做错了什么?

致以最诚挚的问候,

1 个答案:

答案 0 :(得分:0)

我不知道javascript,但是一开始我会检查第一个查询填充的内容。也许第一个没有用户返回。所以在这一行之后:

userQuery.withinMiles("location", ponto, 1.0);

插入:

query.find({
  success: function(results) {
    alert("Successfully retrieved " + results.length + " users.");
  },
  error: function(error) {
    alert("Error: " + error.code + " " + error.message);
  }
});

这个应该返回至少1个用户,以使推送通知起作用。再说一遍,我不太了解javascript语言,我只是想帮助你。