Из соображений безопасности не рекомендуется отправлять push-сообщения непосредственно с внешнего интерфейса. Представьте, что хакер может отправить плохой массаж всем вашим клиентам.
Рекомендуемый способ сделать это:
- Создать функцию облачного кода для отправки push
- Android-приложение будет вызывать эту функцию облачного кода
Вот как должна нравиться ваша функция облачного кода:
Parse.Cloud.define('sendPush', function(request, response) {
const query = new Parse.Query(Parse.Installation);
query.equalTo('device_id', request.params.deviceId);
Parse.Push.send({
where: query,
data: {
alert: request.params.message
}
},
{ useMasterKey: true }
)
.then(function() {
response.success();
}, function(error) {
response.error(error);
});
});
И вот как должен выглядеть ваш клиентский код:
HashMap<String, String> params = new HashMap();
params.put("deviceId", "1234567890");
params.put("message", "salamm");
ParseCloud.callFunctionInBackground("sendPush", params, new
FunctionCallback<Object>() {
@Override
public void done(Object result, ParseException e) {
Log.d(TAG, "done: "+e);
}
});