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

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes! Você receberá um email de confirmação. Somente depois de confirma-lo é que eu poderei lhe enviar os conteúdos semanais exclusivos. Os artigos em PDF são entregues somente para os inscritos na lista.

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
(2833) (2)
Go-ahead
"Ninguém se importa com o que você fez ontem. O que você fez hoje para melhorar?"
David Goggins
Kotlin Android
Capa do livro Mapas Android de Alta Qualidade - Masterização Android
TítuloMapas Android de Alta Qualidade - Masterização Android
CategoriasAndroid, Kotlin, Masterização, Especialização
AutorVinícius Thiengo
Edição
Ano2020
Capítulos11
Páginas166
Acessar Livro
Quer aprender a programar para Android? Acesse abaixo o curso gratuito no Blog.
Conteúdo Exclusivo
Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba gratuitamente conteúdos Android sem precedentes!
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.

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes!
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