2013-03-26 13 views
12

Sto seguendo Android Push Notifications using Google Cloud Messaging (GCM) per implementare GCM con la mia applicazione funzionava bene sul singolo dispositivo (Galaxy S) quando ho provato a testarlo con un altro dispositivo (Galaxy Tab 7') il suo errore di generazione.Ottenere INVALID_SENDER su un dispositivo mentre funziona con un altro GCM android

handleRegistration: registrationId = null, errore = INVALID_SENDER, non registrato = null

qui è il registro che sto ottenendo

V/GCMRegistrar(5649): Registering app my_maypackage of senders APA91bHvzZbO_nyYvaA_QRGDaV-wRAYKjt0qJSQmzPUi2unqG7j0OGuyhVY1A3zh-ZfnA0XT0ffgyKypVJ_5owLZvZBNGARpTBkBg9ED8gVVCDejaIpShghq_tXGhMnFQEufwdCL1ibm 
V/GCMRegistrar(5649): Setting registeredOnServer status as true until 2013-04-02 11:02:07.847 

V/GCMBroadcastReceiver(5649): onReceive: com.google.android.c2dm.intent.REGISTRATION 
V/GCMBroadcastReceiver(5649): GCM IntentService class: my_maypackage.GCMIntentService 
V/GCMBaseIntentService(5649): Acquiring wakelock 
V/GCMBaseIntentService(5649): Intent service name: GCMIntentService-980172650021-7 

D/GCMBaseIntentService(5649): handleRegistration: registrationId = null, error = INVALID_SENDER, unregistered = null 
D/GCMBaseIntentService(5649): Registration error: INVALID_SENDER 
I/GCMIntentService(5649): Received error: INVALID_SENDER 
V/GCMBaseIntentService(5649): Releasing wakelock 

Nota: entrambi i dispositivi sono configurati con lo stesso account gmail .

risposta

21

Log sta mostrando ID del mittente errato. dovrebbe essere preso dall'URL del progetto Google API. es

https://code.google.com/apis/console/b/0/#project:65464654646546

poi 65.464.654,646546 millions è ID mittente.

+0

DAMN IT ........ Stavo usando l''ID progetto' che era basato sul testo nell'url, questo potrebbe essere il modo in cui l'url è scritto nella nuova console dell'API. Gah !!! Tutto risolto ora grazie :) – GONeale

+0

Quindi, dove si proietta id come numero. Il mio è basato sul testo come vigile-rinforzo-234. O dovrei usare questo? –

+0

Ok, ho trovato un modo per ottenere l'ID del progetto numerico: basta andare alla console classica (originale) ed è ancora lì! –

14

Per me quello che ha fatto è stato permettendo al "Google Cloud Messaging per Android" dalla sezione API del Console: enter image description here

2

Volevo solo condividere con voi che mi sono imbattuto in questo stesso problema solo ora.

GCM spinta funzionato perfettamente benissimo prima, niente di fu cambiato, e tutto ad un tratto i nostri utenti lavata indietro con denunce di non ottenere le notifiche push.

Così ho fatto il check-out tutte le StackOverflow discussione Re. questo problema e ancora non riusciva a capire le cose (aveva l'App ID/chiavi tutto correttamente in ingresso, del codice perfettamente bene, anche provato sul demo di Google e bla bla bla)

Quindi, in un atto di disperazione sono andato a la console di sviluppo e GCM disattivato, quindi riattivato ... tutto ha funzionato!

6

[Aggiungendo a @ di spanjeta risposta:]

Il problema è che non è banale per ottenere il numero di progetto, a causa di Google mai andare modifiche della console sviluppatore. Mentre Google è stato così gentile da dare agli sviluppatori la possibilità di dichiarare un id amichevole/testuale per i loro progetti, non ha aggiornato la documentazione GCM in quanto non può sostituire l'ID del progetto in un client GCM. Quando lo fai (dai al progetto un nome/ID testuale) - non puoi usarlo, perché otterrai un errore INVALID_SENDER. È necessario ottenere l'ID del progetto numerico puro in qualche modo.

Così come si ottiene il numero di progetto? Devi andare in qualche modo alla vecchia console per sviluppatori. Il seguente metodo funziona (per ora): Yo go to La console per gli sviluppatori → Il tuo progetto → APIS → Google Cloud Messaging per Android → Quota Quindi verrà aperta una nuova, vecchia console di Google Devloper con il seguente URL: https://code.google.com/apis/console/b/0/?noredirect#project : YOUR_PROJECT_NUMBER: quote

Quindi, utilizzare YOUR_PROJECT_NUMBER come il GCM SENDER_ID nella vostra app.

2

C'è un ID progetto e il numero di progetto visualizzato nella parte superiore del Progetto Dashboard.

Project ID: aaaa-bbb-000000 Project Number: 00000111112 

È necessario utilizzare il numero di progetto numerico come SENDER_ID.

1

Forse avete bisogno di cambiare il GOOGLE_PROJ_ID

Prima

enter image description here

Seconda enter image description here

buona fortuna !!

Problemi correlati