解析云代码推送通知
Parse Cloud Code Push Notifications
我有一个 Class "Storybaord" 并且有两个何时发送推送通知的实例。
一个用户喜欢 post - [postObject addUniqueObject: [PFUser currentUser] forKey:@"likes"];
用户评论 post - [postObject addUniqueObject: self.comment forKey:@"comments"];
在我的云代码中我使用 Parse.Cloud.afterSave
但我不确定如何区分两者,也不确定它们是否会发生,因为还有其他情况下保存 postObject
没有需要发送推送。
云码:
Parse.Cloud.afterSave("Storyboard", function(request){
var user = Parse.User.current();
var postUser = request.object.get('userId');
var pushQuery = new Parse.Query(Parse.Installation);
pushQuery.equalTo ('userId', postUser);
Parse.Push.send({
where: pushQuery,
data: {
alert: "Liked Your Post"
}
}, {
success: function(){
},
error: function(){
}
});
});
如果你坚持通过云代码发送推送,你所要做的就是在客户端设置一个条件语句并相应地执行,这样你就可以根据你的需要选择发送或不发送,因为你提到关于选择性发送推送的一些事情:
if (self.likeButton.isSelected) {
[PFCloud callFunctionInBackground:@"alertAuthor" withParameters:@{@"message", [NSString stringWithFormat:@"%@ liked your post!", [PFUser currentUser].username]}
}
if (self.commentEntered) {
[PFCloud callFunctionInBackground:@"alertAuthor" withParameters:@{@"message", [NSString stringWithFormat:@"%@ commented on your post!", [PFUser currentUser].username]}
}
并且只需通过云代码使用参数发送推送:
Parse.Cloud.define("alertAuthor", function(request,response){
var query = new Parse.Query(Parse.User);
var message = request.params.message;
query.equalTo('username', 'postUser');
Parse.Push.send({
where: query,
data : {
alert: message,
badge: "Increment",
sound: "",
}
}, {
success: function() {
//Success
},
error: function(error) {
//Oops
}
});
});
我有一个 Class "Storybaord" 并且有两个何时发送推送通知的实例。
一个用户喜欢 post -
[postObject addUniqueObject: [PFUser currentUser] forKey:@"likes"];
用户评论 post -
[postObject addUniqueObject: self.comment forKey:@"comments"];
在我的云代码中我使用 Parse.Cloud.afterSave
但我不确定如何区分两者,也不确定它们是否会发生,因为还有其他情况下保存 postObject
没有需要发送推送。
云码:
Parse.Cloud.afterSave("Storyboard", function(request){
var user = Parse.User.current();
var postUser = request.object.get('userId');
var pushQuery = new Parse.Query(Parse.Installation);
pushQuery.equalTo ('userId', postUser);
Parse.Push.send({
where: pushQuery,
data: {
alert: "Liked Your Post"
}
}, {
success: function(){
},
error: function(){
}
});
});
如果你坚持通过云代码发送推送,你所要做的就是在客户端设置一个条件语句并相应地执行,这样你就可以根据你的需要选择发送或不发送,因为你提到关于选择性发送推送的一些事情:
if (self.likeButton.isSelected) {
[PFCloud callFunctionInBackground:@"alertAuthor" withParameters:@{@"message", [NSString stringWithFormat:@"%@ liked your post!", [PFUser currentUser].username]}
}
if (self.commentEntered) {
[PFCloud callFunctionInBackground:@"alertAuthor" withParameters:@{@"message", [NSString stringWithFormat:@"%@ commented on your post!", [PFUser currentUser].username]}
}
并且只需通过云代码使用参数发送推送:
Parse.Cloud.define("alertAuthor", function(request,response){
var query = new Parse.Query(Parse.User);
var message = request.params.message;
query.equalTo('username', 'postUser');
Parse.Push.send({
where: query,
data : {
alert: message,
badge: "Increment",
sound: "",
}
}, {
success: function() {
//Success
},
error: function(error) {
//Oops
}
});
});