Sto imparando come implementare il GCM
sia dal lato client (Android) che dal lato server (ASP.NET
). Ho passato un po 'di tempo a leggere tutta la documentazione di google relativa allo GCM
e ho anche provato il campione che hanno fornito. Perché ho bisogno di integrare il GCM
in un'app già esistente, mi piacerebbe sapere alcune cose specifiche.Google Cloud Messaging - Più account Dispositivo multiplo
Come ho capito, l'ID di registrazione è un token che lega l'app su un dispositivo specifico al servizio GCM
e al server dell'app; così, il backend può inviare messaggi downstream direttamente a quel dispositivo.
Nel mio scenario, potrei avere più utenti che possono utilizzare l'app sullo stesso dispositivo, il che significa che devono accedere all'app e hanno un account su un database sul lato server. Devo memorizzare un ID di registrazione diverso per ciascun utente su quel dispositivo? O ancora l'ID di registrazione si riferisce solo all'app?
E lo stesso scenario, ma distribuito su più dispositivi, perché un utente può avere più dispositivi?
Grazie in anticipo.
Ok, ho capito. Stavo anche pensando che potesse essere gestito solo dal server. Nel database, posso memorizzare una relazione tra utenti e ID di registrazione, con un campo che imposta un dispositivo attivo o inattivo per un utente specifico. Pertanto, quando il server deve inviare un messaggio a valle a un utente specifico, recupera tutti gli ID di registrazione attivi e associati e invia la notifica a tutti loro in multicast. Potrebbe essere? –
Questo complica ulteriormente le cose, perché gestire gli ID del database localmente? Cosa succede se l'utente cancella tutti i dati, quindi hai perso i dati per più utenti – AndroidEnthusiast
Cosa intendi con _if l'utente cancella tutti i dati_? Il server memorizzerà tutti gli ID di registrazione inviati e creerà le relazioni in base agli account. Potrebbe essere, come detto nell'altra risposta, che quando un altro utente accede all'app, le informazioni devono essere inviate al server per aggiornare chi è associato a un regID specifico. –