Parse.com 的地理推送通知

Posted

技术标签:

【中文标题】Parse.com 的地理推送通知【英文标题】:Geo Push Notifications with Parse.com 【发布时间】:2014-11-21 17:43:26 【问题描述】:

我正在尝试使用 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 仪表板中创建了campaing,但未发送任何推送。

我做错了什么?

最好的问候,

【问题讨论】:

【参考方案1】:

我不知道 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语言,我只是想帮助你。

【讨论】:

以上是关于Parse.com 的地理推送通知的主要内容,如果未能解决你的问题,请参考以下文章

Parse.com - 为单个用户设置推送通知

如何使用 Parse.com Cloudcode 发送推送通知

使用 Parse.com 安排 iOS 推送通知

parse.com 上的 Apple 推送通知

Parse.com android - 禁用推送通知

从 Parse.com 查询或保存传入的推送通知