Skip to content Skip to sidebar Skip to footer

Android Push Notification Through Firebase (server Side)

I am trying to send push notification to my android device from server using firebase cloud messaging system. I was able to successfully register my device and token for my device

Solution 1:

Try to use 'to' instead of 'registration_ids'

Here is body data saved in postman history[i don't remember whether it works or not]:

{ "data": {
"score": "5x1",
"time": "15:10" }, "to" : "token_id"}

Check this script: If you want to do topic messaging

$url = "https://fcm.googleapis.com/fcm/send";
                $topic = "topic_name";
                $fields = array(
                    "to"                => "/topics/".$topic,
                    "data"              => $message,
                    "time_to_live"      => 30,
                    "delay_while_idle"  => true
                );

                $auth_key = "auth_key";

                $headers = array(
                    "Authorization: key=".$auth_key,
                    "Content-Type: application/json"
                );

                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, $url);
                curl_setopt($ch, CURLOPT_POST, true);
                curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
                $result = curl_exec($ch);

Hope that help

Solution 2:

Thanks much @Shubham for the solution.

Guys please use @Shubham's code for sending notifications to "Topics'

I have modified his code a bit to address Single recipient messaging. Here it goes

<?php$url = "https://fcm.googleapis.com/fcm/send";
                $val = "<your recipient id>";
                $message = array("message" => "This is a test message from server");
                $fields = array(
                    "to"                => $val,
                    "data"              => $message,
                    "time_to_live"      => 30,
                    "delay_while_idle"  => true
                );

                $auth_key = "<Your auth key>";

                $headers = array(
                    "Authorization: key=".$auth_key,"Content-Type: application/json"
                    );

                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, $url);
                curl_setopt($ch, CURLOPT_POST, true);
                curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
                $result = curl_exec($ch);

?>

to - Single recipient registration_ids - multicast messages (Many recipients - should be in array)

This may not be the ideal solution from my end but it definitely works :)

Post a Comment for "Android Push Notification Through Firebase (server Side)"