GCM Cloud Connection Server (XMPP). Push Message Android - Parte 5

Receba em primeira mão, e com prioridade, os conteúdos Android exclusivos do Blog. Você receberá um email de confirmação. Somente depois de confirma-lo é que poderei lhe enviar os conteúdos exclusivos.

Email inválido.
Blog /Android /GCM Cloud Connection Server (XMPP). Push Message Android - Parte 5

GCM Cloud Connection Server (XMPP). Push Message Android - Parte 5

Vinícius Thiengo
(2236) (2) (2)
Go-ahead
"Você tem sonhos, então a vida bate em você para saber: 'você realmente quer isso?'"
Eric Thomas
Kotlin Android
Capa do livro Desenvolvedor Kotlin Android - Bibliotecas para o dia a dia
TítuloDesenvolvedor Kotlin Android - Bibliotecas para o dia a dia
CategoriasAndroid, Kotlin
AutorVinícius Thiengo
Edição
Capítulos19
Páginas1035
Acessar Livro
Treinamento Oficial
Android: Prototipagem Profissional de Aplicativos
CursoAndroid: Prototipagem Profissional de Aplicativos
CategoriaAndroid
InstrutorVinícius Thiengo
NívelTodos os níveis
Vídeo aulas186
PlataformaUdemy
Acessar Curso
Receitas Android
Capa do livro Receitas Para Desenvolvedores Android
TítuloReceitas Para Desenvolvedores Android
CategoriaDesenvolvimento Android
AutorVinícius Thiengo
Edição
Ano2017
Capítulos20
Páginas936
Acessar Livro
Código Limpo
Capa do livro Refatorando Para Programas Limpos
TítuloRefatorando Para Programas Limpos
CategoriaEngenharia de Software
AutorVinícius Thiengo
Edição
Ano2017
Capítulos46
Páginas599
Acessar Livro
Quer aprender a programar para Android? Acesse abaixo o curso gratuito no Blog.
Conteúdo Exclusivo
Receba em primeira mão, e com prioridade, os conteúdos Android exclusivos do Blog.
Email inválido

Opa, blz?

Nesse vídeo dou continuidade a série de vídeos sobre a tecnologia Push Message no Android, dessa vez abordando o servidor Google Cloud Message (GCM) Cloud Connection Server (CCS) para comunicação bidirecional utilizando o protocolo Extensible Messaging and Presence Protocol (XMPP - https://pt.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol), antigo Jabber. Dou continuidade a APP de mensagens que já estava sendo desenvolvida nos dois vídeos anteriores (alias, ter visto os vídeos anteriores ou ter uma base de uso no GCM será necessário para o entendimento do vídeo acima), colocando a funcionalidade de envio e recebimento de mensagens e envio de identificação de mensagem recebida (script acknowledge) para trabalhar com o servidor CSS XMPP do Google.

Aparentemente (pelo menos a mim) parece que utilizar o CSS XMPP em nossas aplicações seja algo difícil, porém não, se já implementou o modelo mais comum (HTTP), mudar para CCS XMPP é um passo com poucas linhas de código a mais. O que notei ser tão importante quanto a codificação são as regras / limites que devem ser respeitados, por exemplo, utilizando o script de acknowledge e passando do limite de 100 mensagens sem resposta de recebimento, o serviço de mensagens para de responder como deveria. Outra situação que é preciso ficar atento é que dependendo da conexão com a Internet o script do CCS de envio de mensagem pode enviar mais de uma vez a mesma mensagem, tendo como incentivo a conexão ruim com que está sendo utilizada. Seu script deve saber lidar com essas mensagens repetidas caso já tenha salvo essas no banco de dados, caso contrário terá o mesmo problema encontrado no uso da lib Volley, quando o Retry Policy não é configurado antes do envio da requisição.

Como informado em vídeo, se estiver com o backend em PHP e for utilizar o mesmo componente que utilizei no vídeo, utilize o já atualizado que coloquei no GitHub do Blog (referenciado abaixo), pois apesar de ser uma boa lib, não estava com possibilidade de configuração para alguns atributos importantes, como: message_type e delivery_receipt_requested. Novamente, se está com o PHP utilize o Composer (https://getcomposer.org/) junto ao Packagist.org (https://packagist.org/), aumente a produção nessa parte do sistema. Então é isso, sem mais delongas vou deixar você assistir ao vídeo.

Segue links para acesso ao projeto Android e Web no GitHub:

Projeto Android: https://github.com/viniciusthiengo/push-message-serie

Projeto Web: https://github.com/viniciusthiengo/push-message-serie-web

Segue link da série acima, no YouTube:

Série Push Message Android

Seguem links das páginas apresentadas no vídeo e utilizadas para construí-lo:

Página tutorial do XMPP Connection Server no site documentação do GCM

Página tutorial de implementação do lado cliente (no Android) da comunicação utilizando o servidor CCS XMPP

GitHub do componente PHP Google Cloud Messiging

Vlw.

Receba em primeira mão, e com prioridade, os conteúdos Android exclusivos do Blog.
Email inválido

Relacionado

GCM Downstream Messages. Push Message Android - Parte 1GCM Downstream Messages. Push Message Android - Parte 1Android
Notificações com NotificationCompat. Push Message Android - Parte 2Notificações com NotificationCompat. Push Message Android - Parte 2Android
APP de Mensagens. Push Message Android - Parte 3APP de Mensagens. Push Message Android - Parte 3Android
Restrições de Notificação, Time Ago e SpannableString. Push Message Android - Parte 4Restrições de Notificação, Time Ago e SpannableString. Push Message Android - Parte 4Android

Compartilhar

Comentários Facebook

Comentários Blog (2)

Para código / script, coloque entre [code] e [/code] para receber marcação especifica.
Forneça seu nome válido.
Forneça seu email válido.
Forneça o comentário.
Enviando, aguarde...
André (1) (0)
12/09/2015
Opa Thiengo, blz? Estou tendo um problema desde que atualizei o Android Studio,será que você consegue me ajudar ? Toda vez que dou um compile em qualquer projeto aparece esse erro na gradle console:
Exception in thread "png-cruncher_18" java.lang.RuntimeException: Timed out while waiting for slave aapt process, try setting environment variable SLAVE_AAPT_TIMEOUT to a value bigger than 5 seconds
at com.android.builder.png.AaptProcess.waitForReady(AaptProcess.java:104)
at com.android.builder.png.QueuedCruncher$1.creation(QueuedCruncher.java:107)
at com.android.builder.tasks.WorkQueue.run(WorkQueue.java:206)
at java.lang.Thread.run(Thread.java:745)
Não consigo resolver isso,e estou parado. Desde já muito obrigado.
Responder
Vinícius Thiengo (1) (0)
12/09/2015
Fala André, blz?
Fiz uma breve pesquisa em torno do problema e possivelmente é o Anti-Vírus que está utilizando (veja a discussão nesse link: https://code.google.com/p/android/issues/detail?id=183727 ) ou o seu SDK Manager não está com os pacotes mais atuais e nem mesmo com o Android Support Library adequado (veja esse link no stack: http://stackoverflow.com/questions/30111443/android-studio-fails-to-build-new-project-timed-out-while-wating-for-slave-aapt ). No primeiro caso vc terá de testar com o Anti-Vírus desligado para ver se esse é o problema, no segundo caso abra o o SDK Manager e certifique-se de que está com os pacotes mais atuais das libs já instaladas e se o Android Support Library está instalado.

Como disse acima, pelo breve pesquisa esses são os possíveis problemas / soluções, pois mesmo nessas discussões vi que alguns ainda persistem com o problema... até mesmo desinstalar e instalar novamente foi solução em alguns casos. Abraço
Responder