Qual biblioteca XMPP seria a melhor opção hoje para o desenvolvimento do Android?
Eu tenho usado a biblioteca Smack corrigida, como é sugerido em muitas outras perguntas aqui no SO. No entanto, essa é uma versão corrigida da API Smack de dois anos atrás. E, embora geralmente funcione bem, estou explorando outras opções mais recentes.
Eu estive analisando a API oficial do Smack e, depois de algumas pesquisas, parece que pode funcionar muito bem hoje em dia (embora eu ainda não tenha tentado em um aplicativo real).
Também encontrei outra solução, a biblioteca aSMACK do Beem . Beem é um cliente XMPP relativamente novo para Android e, pelo que entendi, eles estão usando sua própria versão corrigida do aSMACK.
Finalmente, existe o aSMACK, mas isso também não é atualizado há algum tempo (como o site sugere).
Você tem outras sugestões ou pode explicar por que devo escolher uma das opções acima sobre as demais?
Respostas:
Smack
Smack é uma biblioteca cliente de código-fonte XMPP. Desde a versão 4.1, ele roda nativamente no Android. Para obter mais informações, consulte o "Leiame do Smack 4.3" e consulte a página do projeto do Smack em Ignite Realtime .
fonte
Recentemente, deparei com outra solução de código aberto: jaxmpp2
O jaxmpp2 também tem como alvo o Android (e o Java SE). Eu realmente não posso dizer mais nada sobre isso, porque eu não uso o jaxmpp2 nos meus projetos Android / XMPP. Mas parece uma alternativa válida ao aSmack .
fonte
Use qsmack para android
https://code.google.com/p/qsmack/downloads/list
É a versão mais recente para Android
Eu trabalhei em um para um bate-papo, bate-papo em grupo, transferência de vídeo, transferência de áudio, visto pela última vez, alterar número de registro ... quase completo o que é app. Eu criei muitos plugins no openfire
fonte
Eu gostaria de usar libstrophe e jni. Os objetivos para usar isso são multiplataforma, simples de usar e desempenho. libstrophe é escrito em c, então é fácil escrever makefile para Android, já que a dependência é apenas openssl e expat lib. No meu caso, estou usando a lib openssl e expat da libjingle, que já possui porta para android e ios. (Só precisa portar o arquivo gyp para o makefile do Android ou o projeto IOS).
Abaixo está o meu makefile android
fonte
Você pode usar o Tigase JaXMPP Client Library - é muito versátil e pode ser usado para aplicativos JavaSE e para o desenvolvimento do Android. É desenvolvido ativamente e o Tigase Messenger para Android ( Play Store ) é baseado nele.
Há uma página wiki de documentação da biblioteca básica com alguns exemplos e para obter detalhes, consulte javadocs
fonte
Usando o Smack 4.1 Leia-me e guia de atualização
Usando o Android studio 2.3, recentemente implementei uma demonstração de uma maneira muito simples.
-> Basta adicionar dependência gradle no gradle no nível do aplicativo, conforme abaixo
-> Configurar a configuração da conexão
NOTA : chame isso no AsyncTask ou em outro thread em segundo plano
-> Use
isConnected()
eisAuthenticated()
-> Use
ChatManager
para adicionarchatListener
.fonte
Você pode usar o QuickBlox1 gratuitamente.
Ele fornece ao servidor XMPP pronto para uso muitos recursos, você pode ler sobre os recursos lá http://quickblox.com/developers/Chat
Aqui está um exemplo de como começar a usar o QuickBlox com a biblioteca aSmack http://quickblox.com/developers/Android_XMPP_Chat_Sample
fonte