Here i want to send notifications for mobile. i am trying like this i getting error like this.
{"multicast_id":9154934162102180737,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]}
i can not understand what is API_ACCESS_KEY
<?php
// API access key from Google API's Console
define( 'API_ACCESS_KEY', 'xxxxxx' );
//$registrationIds = array( $_GET['id'] );
$registrationIds = array( "APA91bEbAxYQZuglicZ2Ea5c26MtK07BYyunv14Us5INdjNvy3gy0Anq6V09dv2j21g7n_JERDumynuOp4l9GYA4RUGRjRZb6KJ4JYg9qPN9dlytPsgPKctIMhxfHFQSr9FfDjobZUJU" );
// prep the bundle
$msg = array
(
'message' => 'here is a message. message',
'title' => 'This is a title. title',
'subtitle' => 'This is a subtitle. subtitle',
'tickerText' => 'Ticker text here...Ticker text here...Ticker text here',
'vibrate' => 1,
'sound' => 1,
'largeIcon' => 'large_icon',
'smallIcon' => 'small_icon'
);
$fields = array
(
'registration_ids' => $registrationIds,
'data' => $msg
);
$headers = array
(
'Authorization: key=' . API_ACCESS_KEY,
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt( $ch,CURLOPT_URL, 'https://android.googleapis.com/gcm/send' );
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 );
curl_close( $ch );
echo $result;
So basing from our discussion in the comments, it seems you were using the wrong Sender ID. You should always use the corresponding Sender ID to which the registration token was, well, registered. Your client app can receive from multiple Sender IDs, so long as it is tied to it. Else it will return a MismatchSender: