web-dev-qa-db-fra.com

Comment créer une application de chat dans Android?

Je voudrais ajouter une fonctionnalité de chat avec un utilisateur en ligne dans gmail dans Android. comment ajouter une fonctionnalité de chat dans ma propre application dans Android?

Je souhaite afficher dans Google Maps un utilisateur en ligne le plus proche de la zone que j'ai sélectionnée et avoir la possibilité de discuter avec cet utilisateur en ligne

28
Urvashi Hirani

Pour ajouter un chat à une application Android Android, il existe un certain nombre d'options. Je présenterai les options classées selon le niveau d'expertise en développement requis - du moins au plus.

Utilisation d'un service backend en temps réel

Il existe un certain nombre d'entreprises offrant des services de backend en temps réel. Ces services vous fourniraient un SDK qui permet à votre application d'accéder à leurs serveurs. En utilisant le SDK, vous seriez en mesure de diffuser des données entre les appareils.

Voici une liste des services les plus populaires:

Firebase

Base de données en temps réel appartenant à Google qui utilise WebSockets et MongoDB comme pile technologique de base. Le service vous permet d'enregistrer des données dans une base de données sans SQL, puis de vous inscrire pour recevoir des mises à jour en temps réel lorsque ces données changent. Ils offrent également des services de notification Push et de stockage de fichiers. Il existe également un cadre de messagerie open source tiers disponible pour iOS et Android .

Firebase possède une bibliothèque appelée GeoFire qui vous permet de connaître l'emplacement de vos applications.

Poussoir / PubNub

Je les ai regroupés parce qu'ils sont assez similaires. Ils fournissent une infrastructure et une technologie de streaming en temps réel. Vous pouvez établir des canaux entre des groupes d'appareils et diffuser des données entre eux. Ils ne fournissent aucun moyen d'authentifier les utilisateurs, vous auriez donc besoin d'un serveur d'applications.

Quickblox

Quickblox s'adresse spécifiquement au marché de la messagerie instantanée et utilise un serveur XMPP sur le backend. Puisqu'ils utilisent XMPP, ce service a beaucoup de fonctionnalités de messagerie intégrées comme des listes de confidentialité et des indicateurs de frappe. Ils fournissent un exemple d'application de messagerie raisonnable mais basique.

Couche

La couche est à mi-chemin entre Quickblox et PubNub/Pusher. Ils offrent une plate-forme de streaming ciblée sur la messagerie instantanée. Ils ont certaines fonctionnalités de messagerie comme le blocage de base, mais ce n'est pas une implémentation de messagerie à grande échelle comme Quickblox. Ils ont une bibliothèque de composants d'interface utilisateur qui peuvent être utilisés pour aider à construire une application complète - Atlas.

Si vous utilisez un backend en tant que service, vous devrez toujours créer le client de chat vous-même. Si vous optez pour l'une des options les plus générales comme Firebase, vous devrez également créer votre propre protocole de messagerie.

Ces services vous feront gagner du temps en ce qui concerne l'implémentation, la configuration et la mise à l'échelle du serveur en temps réel.

[~ # ~] xmpp [~ # ~]

Une autre option consiste à héberger un serveur XMPP vous-même. Il existe un certain nombre de serveurs XMPP open source disponibles:

Les serveurs XMPP vous fourniront une grande quantité de fonctionnalités de messagerie hors de la boîte. Ils n'incluent généralement aucune connaissance de l'emplacement, mais cela pourrait être résolu en configurant le serveur pour héberger la base de données des utilisateurs sur un serveur distinct - ce qui vous permettrait d'ajouter des tables supplémentaires pour gérer la géolocalisation. Une alternative serait d'utiliser la présence pour mettre à jour les appareils pertinents lorsque l'emplacement d'un utilisateur change d'un certain montant.

Pour construire le client, je recommanderais d'utiliser Smack . Étant donné que XMPP est une norme ouverte, votre client doit être en mesure de travailler avec des serveurs et des clients XMPP tiers.

Si vous ne voulez pas construire le client vous-même, il existe un certain nombre de projets open source (principalement sous licence de copie à gauche) qui pourraient servir de point de départ. Xabber serait un exemple mais vous pouvez en trouver plus en recherchant. Alternativement, vous pouvez utiliser this un projet open source commercial.

Construction du serveur vous-même

La dernière option consiste à créer vous-même le serveur de messagerie. Cela a l'avantage que vous pouvez ajouter les fonctionnalités dont vous avez besoin et rester assez simple. Une bonne approche serait d'utiliser Symfony et le WebSocket Bundle pour le back-end en temps réel et Android WebSockets pour le client. En utilisant cette approche, vous auriez beaucoup de flexibilité pour implémenter la fonctionnalité de géolocalisation.

13
Ben Smiley

Moi et mon équipe, nous travaillons sur Backend as a Service Platform appelé QuickBlox. Nous avons un excellent exemple pour intégrer des fonctionnalités de carte/chat à votre application:

Simple Android Application Map/Chat: https://quickblox.com/developers/Android_XMPP_Chat_Sample

4
Rubycon

Nous avons travaillé en étroite collaboration avec la communauté des développeurs et avons développé le SDK Applozic Chat qui ne prend que 10 minutes pour l'intégration. Essayez-le: Applozic Un exemple de code avec un sdk open source est disponible dans Github: https://github.com/AppLozic/Applozic-Android-SDK

3
Devashish Mamgain

Je ne sais pas à propos de GMaps mais pour implémenter le chat, vous pouvez essayer de suivre le lien Xmpp

2
ingsaurabh

Nous fournissons une solution SDK de chat en temps réel appelée ChatCamp . Vous seriez en mesure d'ajouter rapidement une fonctionnalité de chat à votre application Android Android à l'aide du SDK ChatCamp. Voici le lien vers Android - - - https://docs.chatcamp.io/docs/Android-chat-quickstart . Il est également possible de commander la liste des utilisateurs en fonction de la distance à partir d'un emplacement particulier ou vous pouvez afficher les utilisateurs en ligne au-dessus de Google Maps.

0

En ajoutant une fonctionnalité de chat, vous pouvez utiliser Firebase ou XMPP.

Pour choisir la bonne option, vous pouvez préférer cela https://www.quora.com/Which-protocol-is-better-to-develop-a-chat-web-app-using-Firebase-XMPP-or -HTTP

OR

Si vous avez une bonne connaissance des technologies backend, allez-y avec la vôtre. Et en même temps, il existe également une solution instantanée disponible sur le marché qui permet d'intégrer plus facilement les fonctionnalités supplémentaires.

0
Jack Smith