Jeff Edward
Jeff Edward

Reputation: 33

GCM cannot receive message

Hi I'm creating a project and I'm new to google cloud messaging, I'm following androidhive's GCM tutorial using eclipse. API Key and SENDER ID is set. I successfully got regId's and inserted it to my server side.Now the problem is that receiving a message from my server to my app wont appear.

{"multicast_id":6802394882982391839,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]}

i place the senders id just like in the tutorial

<!-- GCM requires Android SDK version 2.2 (API level 8) or above. -->
<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="16" />

<!-- GCM connects to Internet Services. -->
<uses-permission android:name="android.permission.INTERNET" />

<!-- GCM requires a Google account. -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />

<!-- Keeps the processor from sleeping when a message is received. -->
<uses-permission android:name="android.permission.WAKE_LOCK" />

<!-- Creates a custom permission so only this app can receive its messages. -->
<permission
    android:name="com.jeffedward.pushnotifications.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />

<uses-permission android:name="com.jeffedward.pushnotifications.permission.C2D_MESSAGE" />

<!-- This app has permission to register and receive data message. -->
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

<!-- Network State Permissions to detect Internet status -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<!-- Permission to vibrate -->
<uses-permission android:name="android.permission.VIBRATE" />

<!-- Main activity. -->
<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <!-- Register Activity -->
    <activity
        android:name="com.jeffedward.pushnotifications.RegisterActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <!-- Main Activity -->
    <activity
        android:name="com.jeffedward.pushnotifications.MainActivity"
        android:configChanges="orientation|keyboardHidden"
        android:label="@string/app_name" >
    </activity>

    <receiver
        android:name="com.google.android.gcm.GCMBroadcastReceiver"
        android:permission="com.google.android.c2dm.permission.SEND" >
        <intent-filter>

            <!-- Receives the actual messages. -->
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            <!-- Receives the registration id. -->
            <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

            <category android:name="com.jeffedward.pushnotifications" />
        </intent-filter>
    </receiver>

    <service android:name="com.jeffedward.pushnotifications.GCMIntentService" />
</application>

Upvotes: 0

Views: 130

Answers (1)

Hiren
Hiren

Reputation: 1591

Set this permission

 <permission
        android:name="com.jeffedward.pushnotifications.permission.C2D_MESSAGE"
        android:protectionLevel="signature"/>

<uses-permission android:name="android.permission.VIBRATE" />

and in your code. add meta-data

  <application
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name" >
            <!-- Register Activity -->
         <meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
       </application>

Upvotes: 2

Related Questions