0

After I tested the push notifications are working with Postman I'd like to send a push request to FCM when I am sending a message in my app. The function called is going to my Java server and call a function like :

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

So each time I call this function I'd like to send a POST request to https://fcm.googleapis.com/fcm/send with a json.

I want to know if there is already a code ready for a java server ? and also some help how to implement it.

Also I don't understand if I can use a php file to do it (I find things like this https://github.com/Paragraph1/php-fcm ). I am using angularjs.

Thank you guys !

Frank van Puffelen
  • 418,229
  • 62
  • 649
  • 645
DionysoSong
  • 727
  • 1
  • 8
  • 24

1 Answers1

4

Here is the final code working well ! It is sending a json like this :

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

//Don't forget to add common-codec and common-login jar for build success.

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);
    }
DionysoSong
  • 727
  • 1
  • 8
  • 24