3. http://developer.android.com/google/gcm/c2dm.html
GCM vs C2DM
Abbiamo detto che il Google Cloud Messaging(GCM) è una miglioria del C2DM, ma quali sono le differenze?
• Messaggi multicast
• Messaggi con payload
• Supporto JSON
• Nuove API
• Migliore gestione della batteria
• Più facile da usare
5. http://developer.android.com/google/gcm/index.html
Google Cloud Messaging
Quali dispositivi sono compatibili?
Il GCM è compatibile con tutti i dispositivi Android a partire dalla versione 2.2(Froyo)
L’unica limitazione è la presenza nel device dei Google Play Services.
Inoltre per le versioni precedenti la 3.0 (Honeycomb)
è necessaria la presenza di un account Google configurato nel terminale.
Da Android 4.0.4 (Icescream Sandwich) questa limitazione è stata rimossa.
29. http://developer.android.com/google/gcm/index.html
Google Cloud Messaging
Argomenti ‘avanzati’
Analizziamo alcuni argomenti utili per l’utilizzo del GCM
Se la registrazione non va a buon fine, deve essere ripetuta aspettando dopo ogni tentativo
un tempo doppio rispetto a quello di attesa del precedente (Exponential Back-Off)
La de registrazione di un registration_id deve essere fatta solo in casi di aggiornamento
dell’App o disinstallazione, poiché non vi è alcuna garanzia che i server GCM restituiscano un
registration_id diverso dal precedente
30. http://developer.android.com/google/gcm/index.html
Google Cloud Messaging
Argomenti ‘avanzati’
Come funziona la de registrazione
• L’utente disinstalla l’App
• Il nostro server manda un messaggio all’App
• Il GCM manda il messaggio al device
• Il Client GCM del device controlla se c’è un BroadcastReceiver adatto per il messaggio e non lo trova
• Il Client GCM del device informa i server GCM che l’App è stata disinstallata
• Il GCM contrassegna quel registration_id per la cancellazione
• Il nostro server manda un nuovo messaggio
• Il server GCM ci ritorna in error un NotRegistered
• Il nostro server DEVE cancellare quel registration_id