2014-08-27 21 views
10

Ciao, voglio aggiungere gcm alla mia applicazione. La mia applicazione è un'applicazione di notizie. L'utente può visualizzare le notizie dopo la registrazione. L'applicazione richiede gli interessi degli utenti (economia, sport, automobili, ecc.) E li salva. Voglio inviare notizie all'utente come notifica da php e mysql. Devo decidere di inviare quali notizie a quali utenti. Quindi ho bisogno di ID di registrazione.Che cos'è l'ID di registrazione GCM?

È il numero di dispositivo Android? O una combinazione di account google per dispositivi Android e numero di dispositivo Android?
Oppure una combinazione di account google per dispositivi Android e numero di dispositivo Android e ID utente dell'applicazione personale?

Esempio

dispositivo Android id = a => GCM RegID = a
dispositivo Android id = a, google conto id = b => GCM RegID = ab
dispositivo Android id = a, google conto id = b, x applicazione utente id = c => GCM RegID = abc

Se x utente si scollega dall'applicazione e y login utente a stesso dispositivo cambierà GCM regid? Se non cambia e spingo le notizie sull'economia all'utente y (che non interessa l'economia) il dispositivo mostrerà una notifica errata all'utente sbagliato. Allora, qual è l'ID di registrazione GCM?

risposta

15

Un ID di registrazione è un identificativo assegnato da GCM a una singola istanza di una singola applicazione installata su un dispositivo Android. Al dispositivo viene assegnato questo identificatore quando si registra su Google Cloud Messaging. La documentazione di GCM non specifica quali informazioni sono codificate in questo identificatore.

In alcune versioni precedenti di Android (pre-4.0.4), è necessario un account Google per registrarsi a GCM.

Se più utenti utilizzano la stessa app sullo stesso dispositivo, avranno lo stesso ID di registrazione, poiché a GCM non interessa quale utente acceda all'app. Spetta al tuo server determinare quale utente è attualmente connesso alla tua app in un determinato dispositivo e in base a tale conoscenza per fornire solo messaggi GCM rilevanti a quel dispositivo.

+0

Se si disinstalla e quindi si reinstalla la stessa app sullo stesso dispositivo, l'ID di registrazione sarà diverso? In tal caso, devo associare un ID di registrazione all'identificatore univoco del dispositivo sulla mia app del server. – ApheX

8

ID di registrazione è un identificativo univoco per un particolare pacchetto su un particolare dispositivo. GCM identifica il target usando questo id.

Nel tuo caso questo ID non risolverà il tuo problema.

Caso 1:

Se si annulla la registrazione dispositivo da GCM al logout, e registra ancora una volta, questo non è garanzia che la registrazione id sarà diverso (può essere e non può essere).

Caso 2:

GCM rinfresca tempo ID di registrazione per tempo.

Quindi questo ID non sta per una soluzione per identificare l'utente registrato.


Possibile soluzione

solo inviare un messaggio generico da GCM a dispositivo, come "ehi tu hai qualcosa di nuovo, andare al server". Ora il dispositivo richiederà al server il nuovo articolo. Qui il server identificherà l'utente registrato e gli fornirà i rispettivi dati.

+0

Avete qualche link per "ID di registrazione è un identificativo univoco per un particolare pacchetto su un particolare dispositivo. GCM identifica il target usando questo id"? – Ajoy

Problemi correlati