Your SlideShare is downloading. ×
TDC 2014 - Tudo sobre GCM Push Notifications
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

TDC 2014 - Tudo sobre GCM Push Notifications

736
views

Published on

Palestra apresentada no TDC 2014 na trilha de Android sobre GCM Push Notifications, o serviço do Google para envio de mensagens do server para o app.

Palestra apresentada no TDC 2014 na trilha de Android sobre GCM Push Notifications, o serviço do Google para envio de mensagens do server para o app.

Published in: Mobile

2 Comments
7 Likes
Statistics
Notes
No Downloads
Views
Total Views
736
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
22
Comments
2
Likes
7
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Tudo sobre GCM Push Notifications SuelenGC
  • 2. Suelen GC Desenvolvedora & Instrutora github.com/suelengc suelengc.com
  • 3. GCM Serviço do Google que permite enviar dados do servidor para o aplicativo android. http://developer.android.com/google/gcm/index.html
  • 4. novis? novis? novis? novis? novis?
  • 5. novis? novis? novis? novis? novis? Qual a periodicidade para buscar informações no servidor?
  • 6. Já chegou a informação?? chegou? agora chegou?? e agora? e agora?? chegou???
  • 7. CALADOOO !!!!
  • 8. novis? novis? novis? novis? novis? Como fazer isso de forma performática?
  • 9. novis? novis? novis? novis? novis? Meu servidor está preparado para todas as request’s que irá receber?
  • 10. Ok, o inverso seria…?
  • 11. Chegou algo! ! Vem pegar. Chegou algo! ! Vem buscar.
  • 12. Chegou algo! ! Vem pegar. Como o servidor saberá quais são os devices que tem o app instalado?
  • 13. Chegou algo! ! Vem pegar. Seu servidor vai aguentar fazer este monte de conexão direta com devices?
  • 14. Chegou algo! ! Vem pegar. Ao invés disso ocorrer…
  • 15. Chegou algo! ! Vem pegar. Google Cloud Message Colocaram uma camada a mais…
  • 16. Podemos enviar de 2 formas as informações do server para o device/app
  • 17. Chegou um email! Vem pegar. Chegou + posts! Vem pegar. Chegou + posts! Vem pegar. Outros app aqui… send-to-sync
  • 18. Chegou algo! ! Avise aos app’s.
  • 19. Chegou algo! ! Vão buscar.
  • 20. Me dá! Me dá! Me dá! Me dá! Me dá!
  • 21. Outros app aqui… payload Chegou nova mensagem. Tó! Chegou nova mensagem. Tó! Chegou nova mensagem. Tó!
  • 22. Entregue aos ! app’s.
  • 23. send-to-sync payload Upstream/ Downstream de mensagens Apenas downstream (cloud-to-device) Ambos. (device-to-cloud, cloud-to-device) Síncrono Sim (http post) Não. (Conexão XMPP) Comparativo de formas de envio
  • 24. Como implementa?
  • 25. ServidorAplicativo
  • 26. ServidorAplicativo
  • 27. https://code.google.com/apis/console Passo 1: Habilitar e criar um projeto do GCM
  • 28. https://code.google.com/apis/console Passo 1: Habilitar e criar um projeto do GCM
  • 29. http://developer.android.com/google/gcm/client.html#manifest Passo 2: Configurar o AndroidManifest.xml
  • 30. Passo 3: Implementar!
  • 31. Quando iniciar o app ele se registrar para receber mensagens de determinado servidor register
  • 32. Quando iniciar o app ele se registrar para receber mensagens de determinado servidor registration_id (device + app)
  • 33. GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(app); String registrationId = gcm.register(SERVER_ID);
  • 34. GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(app); String registrationId = gcm.register(SERVER_ID); dependencies { compile "com.google.android.gms:play-services:3.1.+" } Context Projeto criado no Console API's
  • 35. GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(app); String registrationId = gcm.register(SERVER_ID); Deve ser em outra thread!
  • 36. Guarde seu registration_id   para não precisar buscar novamente. registration_id (device + app)
  • 37. registration_id O device passa seu registration_id para o servidor
  • 38. WebClient web = new WebClient(url_do_servidor); web.post(registration_id) GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(app); String registrationId = gcm.register(SERVER_ID);
  • 39. registration_id’s   1,  2  e  3  
  • 40. registration_id  =  1 registration_id  =  2 registration_id  =  3 registration_id’s   1,  2  e  3  
  • 41. registration_id  =  1 registration_id  =  2 registration_id  =  3 registration_id’s   1,  2  e  3   BroadcastReceiver! para receber a mensagem
  • 42. Configurando o Receiver
  • 43. Mensagens ficam no GCM por até 4 semanas. É configurável. ! "De gratis"! Sem limite de uso. ! Suporte a partir da versão 2.2 do Android. Detalhes
  • 44. Suelen GC github.com/suelengc www.suelengc.com.br Obrigada!