No Sound and vibration #242

omaisali opened this Issue Oct 19, 2015 · 15 comments


None yet

2 participants



I am able to receive the message from server when app is running. but not getting any sound and vibration nor any notification.


@omaisali platform? plugin version? payload sent to device?


i am able to receive the registration id from gcm to my app. how to sent platform, plugin version, payload to the device?

My code is like:

var push = PushNotification.init({ "android": {"senderID": "48XXXXXXXXXX6", "icon": "phonegap", "iconColor": "blue"},
"ios": {"alert": "true", "badge": "true", "sound": "true"}, "windows": {} } );


@omaisali I meant, what platform are you testing on, iOS or Android? What version of the plugin are you using? What does the JSON you are sending to the device from the push service look like?


Android, plugin 1.3.0,

I am just sending registration id to my server in POST and want to test the response.

// php code is here.

    function send_notification($registation_ids, $message) {
    // include config

    // Set POST variables
    $url = '';

    $fields = array(
        'registration_ids' => $registation_ids,
        'data' => $message,


    $headers = array(
        'Authorization: key='. $googlekey,
        'Content-Type: application/json'
    // Open connection
    $ch = curl_init();

    // Set the url, number of POST vars, POST data
    curl_setopt($ch, CURLOPT_URL, $url);

    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    // Disabling SSL Certificate support temporarly
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));

    // Execute post
    $result = curl_exec($ch);
    if ($result === FALSE) {
        die('Curl failed: ' . curl_error($ch));

    // Close connection
    echo $result;
     $Response = array('success'=>true, 'array'=>$result); //<--- Success 
                        echo json_encode($Response); 

$gcm_regid = $_POST['id'];
$registation_ids = array($gcm_regid);
$message =array("product" => "shirt");
send_notification($registation_ids, $message);

@omaisali when you get the notification is the app in the foreground? If so you won't get sound or notification unless you do it yourself. When the app is in the background the notification gets put in the shade and it should vibrate and ding. Lemme know.


as soon as i receive the registration id, i am sending that registration id to server and server response. I am not getting any msg but the alert which i have set. check my code.

         var push = PushNotification.init({ "android": {"senderID": "4XXXXXXXXXX6", "icon": "phonegap", "iconColor": "blue"},
                         "ios": {"alert": "true", "badge": "true", "sound": "true"}, "windows": {} } );

                    push.on('registration', function(data) {
                        // data.registrationId
                            var postData = "id="+data.registrationId;
                                            cache: false,
                                            type: 'POST',
                                            url: "",
                                            beforeSend: function() { toastLong('Please wait...'); },
                                            complete: function(){  },
                                            data: postData,
                                            success: function(data) {
                                               // PROCESS DATA HERE

                                            error: function(data) {
                                               //PROCESS HERE FOR FAILURE
                                               toast("Check Network");

                    push.on('notification', function(data) {
                        alert("You have new message");
                        // data.title,
                        // data.count,
                        // data.sound,
                        // data.image,
                        // data.additionalData

                    push.on('error', function(e) {
                        // e.message

n just get this alert("You have new message");


@omaisali right because your app is in the foreground and this is expected behaviour. Mimimize/put the app in the background and send a push. You will get sound.


you mean i need to make any event or any timer to send the request to the server when app is in background. thn i will get notification?


@omaisali here are the steps so you will have your device vibrate/play sound on notification.

  1. start your app.
  2. successfully get registration ID
  3. hit the HOME button to put the app in the background
  4. send a push from your service to the device.
  5. a notification shows up in the shade and should vibrate/play sound

When you app is in the foreground it is up to you if you want to vibrate or play a sound. You get to choose how to respond to the push.

Make sense?


ok. i think now i got the point. leme try that.


I used node-gcm to send notification.

it is working and showing this.

{ multicast_id: 8737520860603611000,
success: 1,
failure: 0,
canonical_ids: 0,
results: [ { message_id: '0:1445402589283049%39597f64f9fd7ecd' } ] }
{ message_id: 6134494132970507000 }

but no notification . app is in the background


@omaisali what data are you sending to the device?

message.addData('key1', 'msg1');

when i open the app, i receive the alert. but when app is in the background, no notification or nothing.


once i changed the code in the GCMIntentService by the suggestion of someone on stackoverflow. but when i change back to original. I am getting notifications now.

@omaisali omaisali closed this Oct 21, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment