0

После того, как я протестировал push-уведомления, работающие с Postman, я бы хотел отправить запрос на отправку в FCM, когда я отправляю сообщение в своем приложении. Функция называется собирается на мой Java сервер и вызовите функцию, как:Java-сервер - отправьте Push с POST на google Firebase Cloud

@POST 
    @Consumes(MediaType.APPLICATION_JSON) 
    public Response sendMsg(Message m) throws ExceptionFacade { 
... 
} 

Таким образом, каждый раз, когда я называю эту функцию я хотел бы, чтобы послать запрос POST в https://fcm.googleapis.com/fcm/send с JSON.

Я хочу знать, есть ли код, готовый для java-сервера? а также некоторые помогают в ее реализации.

Также я не понимаю, могу ли я использовать файл php для этого (я нахожу такие вещи, как это https://github.com/Paragraph1/php-fcm). Я использую angularjs.

Спасибо, ребята!

+0

Я не думаю, что понимаю. Итак, вы спрашиваете, как отправить HTTP-запрос в java? – tobifasc

+0

Да, я думаю, есть библиотека для этого? – DionysoSong

+0

Я имею в виду выполнение того же запроса POST, что и в Postman, но в java – DionysoSong

ответ

4

Вот окончательный код, который хорошо работает! Он посылает JSON как это:

{ 
"to" : "...", 
"priority" : "high", 
"notification" : { 
        "title" : "hello", 
        "body" : "me" 
    } 
} 

// Не забудьте добавить здравом кодек и общий вход в баночку для успеха сборки.

public class JavaApplication1 { 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) throws JSONException, IOException { 

       HttpClient client = HttpClientBuilder.create().build(); 
       HttpPost post = new HttpPost("https://fcm.googleapis.com/fcm/send"); 
       post.setHeader("Content-type", "application/json"); 
       post.setHeader("Authorization", "key=FCM-API-KEY"); 
       JSONObject message = new JSONObject(); 
       message.put("to", "TOKEN-FCM-OF-THE-DEVICE"); 
       message.put("priority", "high"); 
       JSONObject notification = new JSONObject(); 
       notification.put("title", "Me"); 
       notification.put("body", "New message"); 
       message.put("notification", notification); 
       post.setEntity(new StringEntity(message.toString(), "UTF-8")); 
       HttpResponse response = client.execute(post); 

       System.out.println(response); 
       System.out.println(message); 
    }