我正在尝试使用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仪表板中创建了活动,但没有发送推送。
我做错了什么?
致以最诚挚的问候,
答案 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语言,我只是想帮助你。