MismatchSenderId error from GCM (using GCM push notification)
<p>when I try to send message (from server to mobile using GCM push notification) I am getting following error. I have tried the all the solutions that have given in other posts in stackoverflow</p>

<p><strong>{"multicast_id":xxxxxx,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]}</strong></p>

<ol>
<li><p>I have done my registration in GCM</p>

<p>Server key 1: xxxxxxxxxx
Project ID: xxxxxx</p></li>
<li><p>In my android code I have set following (my package name is com.revu.revu)</p>

<p>a. Manifest file:</p></li>
</ol>

<p><div class="snippet" data-lang="js" data-hide="false">
<div class="snippet-code">
<pre class="snippet-code-html lang-html prettyprint-override"><code>        // When notification received from GCM, then activate this service
        &lt;service
            android:name=".PushNotificationService"
            android:exported="false"&gt;
            &lt;intent-filter&gt;
                &lt;action android:name="com.google.android.c2dm.intent.RECEIVE" /&gt;
            &lt;/intent-filter&gt;
        &lt;/service&gt;

        &lt;receiver
            android:name="com.google.android.gms.gcm.GcmReceiver"
            android:exported="true"
            android:permission="com.google.android.c2dm.permission.SEND"&gt;
            &lt;intent-filter&gt;
                &lt;action android:name="com.google.android.c2dm.intent.RECEIVE" /&gt;
                &lt;category android:name="com.revu.revu" /&gt;
            &lt;/intent-filter&gt;
        &lt;/receiver&gt;

&lt;uses-permission android:name="android.permission.RECEIVE_SMS" /&gt;
&lt;uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /&gt;
&lt;permission android:name="com.revu.revu.permission.C2D_MESSAGE"
    android:protectionLevel="signature" /&gt;
&lt;uses-permission android:name="android.permission.READ_SMS" /&gt;
&lt;uses-permission android:name="com.revu.revu.permission.C2D_MESSAGE" /&gt;</code></pre>
</div>
</div>
</p>

<p>b. I have got the registration ID from GCM server and I stored in my server.</p>

<p>c. When I try to send message to registration id with the API key (server key), I am getting above error (mismatchsenderId).</p>

<p>I have used following php code to send message</p>

<p><div class="snippet" data-lang="js" data-hide="false">
<div class="snippet-code">
<pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;?php
// API access key from Google API's Console
define( 'API_ACCESS_KEY', 'xxxxxxxxxxxxxxxxx');
$regId = "APA91bFidqJmnqm0GGmWRmkwB8Kn4fLJ0WPUTbWo3l2bbgQGNnzqbiYKyB4QJ-_JlvoA2tHFhgON2egA_1eJ82TA2sm38qdJVeP2Qk4CW1poxMcFu0emUC1Y_Lf3otKy6U5YAnn2ralS"; 
$registrationIds = array($regId);
// prep the bundle
$msg = array
(
 'message'  =&gt; 'here is a message. message',
 'title'  =&gt; 'This is a title. title',
 'subtitle' =&gt; 'This is a subtitle. subtitle',
 'tickerText' =&gt; 'Ticker text here...Ticker text here...Ticker text here',
 'vibrate' =&gt; 1,
 'sound'  =&gt; 1,
 'largeIcon' =&gt; 'large_icon',
 'smallIcon' =&gt; 'small_icon'
);
$fields = array
(
 'registration_ids'  =&gt; $registrationIds,
 'data'   =&gt; $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;

?&gt;</code></pre>
</div>
</div>
</p>

<p>Please help me, am I missing any step here.</p>