Messagerie instantanée sur Android avec Google Cloud Messaging

Je regardais simplement le nouveau Google Cloud Messaging (GCM) et je me demandais s'il était possible d'utiliser GCM pour la messagerie instantanée sur votre application Android?

J'ai vu que vous pouvez envoyer des données, comme un message, à partir d'un serveur, mais est-il possible d'envoyer d'un périphérique à un autre? Et comment cela fonctionnerait-il? Un certain exemple de code serait vraiment utile …

  • Comment remplacer GLSurfaceView avec TextureView dans Android Ice Cream Sandwich?
  • Modifier la valeur du texte dans la structure de gonflage
  • Obtenir un identifiant unique pour un routeur WiFi
  • Comment aligner le texte dans TextView dans Android?
  • WhereNear question ne semble pas fonctionner correctement à Parse
  • L'émulateur Android perd la connexion Internet après une période de temps
  • Tnx!

  • Comment actualiser la liste de lecture personnalisée en utilisant baseadapter dans Android
  • Régler le volume d'enregistrement du microphone
  • Gps status enabled / disabled broadcast receiver
  • Lecture rapide de fichiers .wav - Android
  • Android + moteur d'application: user.getUserID () est nul dans le point final
  • Pourquoi MenuItemCompat.getActionProvider renvoie null?
  • 4 Solutions collect form web for “Messagerie instantanée sur Android avec Google Cloud Messaging”

    Les documents officiels sur Google Cloud Messaging pour Android mentionnent que GCM peut être utilisé pour développer une application de messagerie instantanée.

    … ou il pourrait s'agir d'un message contenant jusqu'à 4kb de données de charge utile (afin que les applications comme la messagerie instantanée puissent consommer le message directement).

    Nous sommes donc allés de l'avant et avons créé une application de messagerie instantanée utilisant GCM. Le côté serveur est alimenté par Google App Engine. Vous pouvez lire le didacticiel complet ici. Créer une application de messagerie instantanée utilisant Google Cloud Messaging (GCM)

    Il est donc possible d'utiliser GCM pour Instant Messaging sur Android, pour répondre à votre question. Cependant, la fiabilité de GCM par rapport à XMPP pour IM est un autre sujet.

    Juste mes deux cents:

    Je pense que vous ne devriez pas utiliser GCM pour la messagerie instantanée. Vous devriez avoir un serveur dédié sur lequel vos applications de messagerie instantanée Android se connecteront, en utilisant une connexion de socket persistante. Votre serveur saura qui est en ligne ou non et peut donc présenter une «liste en ligne» à toutes les applications.

    GCM peut entrer en jeu, alors que les utilisateurs sont hors ligne ou ne fonctionnent pas dans votre application. Un message GCM peut leur être envoyé pour indiquer que "XXXX veut discuter". Ils peuvent ensuite lancer votre application et se connecter automatiquement à une session de discussion.

    Google a déclaré que la livraison des messages GCM n'est pas garantie. Cette seule raison n'est pas une bonne idée de compter sur eux pour la messagerie instantanée.

    Essayez pub nub – il est assez facile à mettre en œuvre – envoient Im d'un mobile à l'autre – il suffit d'allumer la page Web (voir le lien) dans le navigateur et de discuter entre PC, mobile et fonctionne – avec 'aucun serveur'. Le code est pour javascript mais ils ont aussi java. Application de chat utilisant le framework d'application Web jquerymobile

    Vous voudrez peut-être vérifier comment un serveur envoie un message au service GCM. Il est possible d'utiliser php sur le côté Serveur afin qu'il soit possible de l'adapter à une demande POST directement de votre application. Cependant, pour vous communiquer, vous avez besoin des identifiants enregistrés des périphériques auxquels vous souhaitez envoyer des données. Cela signifie que vous aurez besoin de quelque chose pour les stocker et les obtenir. La meilleure solution serait votre propre serveur (Web) qui stocke tous les identifiants et gère l'envoi de messages.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.