[英]Parse Cloud Code Push Notifications
我有一个“ Storybaord”类,何时发送推送通知有两个实例。
用户喜欢一个帖子- [postObject addUniqueObject: [PFUser currentUser] forKey:@"likes"];
用户在帖子上发表评论- [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
}
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.