मैं एक रहस्यमय समस्या पर थोड़ी देर के लिए अटक कर रहा हूँ। तो मैं अपने Android एप्लिकेशन में GCM लागू किया, लेकिन मैं एक INVALID_SENDER त्रुटि प्राप्त।GCM प्रेषक का अमान्य त्रुटि
- मेरा SENDER_ID Google प्रोजेक्ट के यूआरएल से आईडी है।
- एंड्रॉयड पुश नोटिफिकेशन हैं पर
इस बारे में अजीब बात यह है कि मैं पहले से ही एक पंजीकरण आईडी पर सूचनाएं भेजना होता है। तो मेरे कंसोल इस तरह दिखता है:
03-26 09:39:20.233: I/<test>(19761): Already registered: APA91bG6- O3OnZt50EAjYvJ5KETv3qAlPOn2SfOPXez7SLAmaAOkHTN6EMDJb91gFIWkftZkJiub6UoEk4O- WQP7kk2oZGQjZ1VCZZS0WddQtjFaCfYfZfb7SEw3IS1sd4caJcdZE4LA1F0hxzc7Ss1UiYHXX-XXXX
03-26 09:48:23.522: I/<test>(19925): GCMIntentService
03-26 09:39:20.670: I/<test>(19761): on Error INVALID_SENDER
onCreate के अंदर:
GCMRegistrar.checkDevice(this);
GCMRegistrar.checkManifest(this);
final String regId = GCMRegistrar.getRegistrationId(this);
if (regId.equals("")) {
Log.i("<test>", "registering");
GCMRegistrar.register(this, "2194354949XX");
} else {
Log.i("<test>", "Already registered: " + regId);
}
broadcastreceiver:
public class GCMBroadcastReceiver extends com.google.android.gcm.GCMBroadcastReceiver{
@Override
protected String getGCMIntentServiceClassName(Context context){
return "be.XXX.XXX.system.GCMIntentService";
}
}
GCMIntentService:
+०१२३५१६४१०६public class GCMIntentService extends GCMBaseIntentService {
@Override
protected void onError(Context arg0, String errorId) {
Log.i("<test>","on Error " + errorId);
}
@Override
protected void onMessage(Context arg0, Intent intent) {
Log.i("<test>","onMessage " + intent.getExtras().toString());
}
@Override
protected void onRegistered(Context arg0, String regId) {
Log.i("<test>","Registration id: " + regId);
}
@Override
protected void onUnregistered(Context arg0, String regId) {
Log.i("<test>","onUnregistered " + regId);
}
public GCMIntentService() {
super("2194354949XX");
Log.i("<test>","GCMIntentService ");
}
}
मैनिफ़ेस्ट:
<permission
android:name="com.XX.XX.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.smstiming.hezemans.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<receiver android:name="be.XX.XX.system.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="com.smstiming.hezemans" />
</intent-filter>
</receiver>
<service android:name="be.XX.XX.system.GCMIntentService" />
लॉग के लिए देखो '03-26 11: 23: 38.704: वी/जीसीएम रेगेस्टार (1389): प्रेषक के your.packagename.com को ऐप पंजीकृत करना XXXXXX' वास्तविक XXX प्रेषक है जो Google को भेजता है! – madlymad
आपने मुझे सही दिशा में मदद की। यह अभी तय है। पुराने C2DM संस्करण को बंद करने के लिए भूल गए-_- – Zillan