Parse用于从云代码发送推送通知的文档说明格式如下:
Parse.Push.send({
where: query,
push_time: new Date("2013-08-26T12:00:00"),
data: {
alert: "Local push notification"
}
}, {
success: function() {
console.log("Successful push");
},
error: function(error) {
console.log(error);
}
});
我可能会误解这一点,但看起来这会告诉Parse不仅在 12:00:00 当地时间为所有用户发送推送通知,而且在下一个日期也是如此: 2013-08-26 。
当函数运行时我想要做的是在当地时间发送通知,无论函数运行的日期是什么。我不确定如何正确设置语法来执行此操作,因为push_time: new Date("T12:00:00");
似乎无法正常运行。
答案 0 :(得分:0)
我有两个答案,你可以试试。它们都要求您指定日期和时间,但是您可以使用明天(或任何一天)快速设置的日期方面。
首先,使用原生JavaScript SDK:
var tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);
tomorrow.setHours(getRandomArbitrary(0,23),getRandomArbitrary(0,59),getRandomArbitrary(0,59));
var dayAfterTomorrow = new Date();
dayAfterTomorrow.setDate(tomorrow.getDate() + 1);
Parse.Push.send({
channels: [ "my channel" ],
data: {
alert: "push content here"
},
push_time: tomorrow,
expiration_time: dayAfterTomorrow
}, {
success: function() {
// Push was successful
console.log("successfully sent push out");
status.success("Push away!");
},
error: function(error) {
// Handle error
console.log("got an error");
console.log("Error: " + error.code + " " + error.message);
}
});
function getRandomArbitrary(min, max) {
return Math.random() * (max - min) + min;
}
其次,根据this Parse post from a year ago,他们的SDK for JavaScript中存在一个错误,它不会执行本地时区推送。您需要使用他们的REST API:
Parse.Cloud.httpRequest({
method: "POST",
headers: {
"X-Parse-Application-Id": YOUR_APP_ID,
"X-Parse-REST-API-Key": REST_API_KEY,
"Content-Type": "application/json"
},
body: {
"where": query,
"push_time": "2013-08-26T12:00:00", // format this as a STRING, not a Date Object
"data": {
"alert": "Local push notification"
}
},
url: "https://api.parse.com/1/push"
}).then(function() {
console.log("Successful push");
}, function(error) {
console.log(error);
});
我还没有尝试过REST API代码,但我确实知道JavaScript SDK代码的工作原理,因为我在我的项目中使用它。我不确定它是否向用户发送本地时间,但这不是我写的项目的要求。