Description
Parse.Cloud.define("sendPush", function(request, response) {
var sendUserId = request.params.userId;
var msg = request.params.message;
var query = new Parse.Query(Parse.Installation);
query.equalTo('userId', sendUserId);
Parse.Push.send({
query: query,
data: {
alert: msg,
sound: 'default'
}
}, {
success: function() {
// Push was successful
response.success("Push sent");
},
error: function(error) {
// Handle error
response.error(error);
},
useMasterKey: true
});
});
/////// Android Code
public static void sendPush(final Context context, String message, String senderId) {
// String channel = "parse_user_channel_";
final Map<String, Object> params = new HashMap<>();
// params.put("accountId", channel);
params.put("message", message);
// params.put("senderName", senderName);
params.put("userId", senderId);
// params.put("useMasterKey", true);//Must have this line
ParseCloud.callFunctionInBackground("sendPush", params, new FunctionCallback<String>() {
// public void done(String result, ParseException e) {
// if (e == null) {
// Toast.makeText(context, "HEHE", Toast.LENGTH_SHORT).show();
// Log.d("ANNOUNCEMENT" ,"SUCCESS");
// } else {
// Toast.makeText(context, "FAilure "+e.toString(), Toast.LENGTH_SHORT).show();
//
// Log.d("ANNOUNCEMENT","FAILURE"+e.toString());
// }
// }
@Override
public void done(String result, com.parse.ParseException e) {
// TODO Auto-generated method stub
if (e == null) {
Toast.makeText(context, "HEHE", Toast.LENGTH_SHORT).show();
Log.d("ANNOUNCEMENT" ,"SUCCESS");
} else {
Toast.makeText(context, "FAilure "+e.toString(), Toast.LENGTH_SHORT).show();
Log.d("ANNOUNCEMENT","FAILURE"+e.toString());
}
}
});
}
//////Errorr
FAILUREcom.parse.ParseRequest$ParseRequestException: {"code":115,"message":"Channels and query should be set at least one."}