358 votes

Android prend en charge près de notification push temps réel

J'ai appris récemment à propos de la capacité de l'iPhone apps pour recevoir presque instantanément les notifications pour les applications.

Ceci est fourni sous la forme de notifications push, un protocole sur mesure qui conserve toujours sur la connexion de données pour l'iPhone et les messages binaires paquets à l'application, qui affiche des alertes incroyablement rapidement, entre 0,5 et 5 secondes à partir de l'app serveur envoyer à l'application de téléphone le temps de réponse. C'est envoyé sous forme de données, plutôt que des SMS en très très petits paquets facturés dans le cadre du plan de données pas que les messages entrants.

Je voudrais savoir si vous utilisez Android, il existe soit une installation similaire, ou si c'est possible de mettre en œuvre quelque chose de proche de ce à l'aide d'Api Android. Pour clarifier, je définir similaire comme:

  • Pas un SMS, mais certains piloté par les données de la solution
  • Comme le temps réel que possible
  • Est évolutif, c'est à dire: que la partie serveur de l'application mobile, je pouvais informer des milliers de app instances en quelques secondes

J'apprécie l'application peut être basé sur du pull, requête/réponse HTTP de style, mais, idéalement, je ne veux pas être interrogation fortement à vérifier pour la notification .. d'ailleurs c'est comme la goutte drainant le plan de données.

221voto

j pimmel Points 7046

À compter du 26 juin 2012, Google Cloud messagerie constitue la meilleure façon d’envoyer des messages aux applications qui s’exécutent sur des appareils.

Auparavant (et maintenant obsolète), le service a été appelé Nuage à dispositif de messagerie.

51voto

flesh Points 10516

XMPP est une bonne solution. Je l'ai utilisé pour un push activé, en temps réel, application Android. XMPP est puissant, très extensible et facile à intégrer et à utiliser.

Il y a des charges de gratuit serveurs XMPP (bien que hors de la courtoisie, vous ne devriez pas abuser) et il y a l'open source serveurs, vous pouvez exécuter sur l'un de vos propres boîtes. OpenFire est un excellent choix.

La bibliothèque que vous voulez n'est pas Smack comme indiqué ci-dessus, il est aSmack. Mais remarque, c'est une accumulation de l'environnement, vous aurez à construire la bibliothèque.

C'est un calcul que j'ai fait sur la vie de la batterie de l'impact d'un XMPP solution:

Le Android client doit maintenir une persistance de la connexion TCP par se réveiller périodiquement pour envoyer un battement de coeur pour le serveur XMPP.
De toute évidence, cela impose un coût en termes de consommation d'énergie. Une estimation de ce coût est fourni ci-dessous:

  • À l'aide d'un 1400mAh batterie (fournie dans le Nexus One et le HTC Desire)
  • Une inactivité de l'appareil, connecté à un réseau 3G, utilise environ 5 ma
  • Le réveil, le rythme cardiaque, le cycle de sommeil se produit toutes les 5 minutes, prend trois secondes pour compléter et utilise 300mA
  • Le coût de l'utilisation de la batterie par heure est donc:
    • 36 secondes 300mA = 3mAh l'envoi de battement de coeur
    • 3600 secondes 5mA = 5mAh au ralenti
    • 4:95 + 3 = 7:95mAh combiné
  • Un 1400mAh batterie dure environ 11,6 jours au ralenti et à 7,3 jours lorsque l'exécution de l'application, ce qui représente approximativement 37% de réduction vie de la batterie.
  • Toutefois, une réduction de la durée de vie des batteries de 37% représente l'absolu pire des cas dans la pratique, étant donné que les appareils sont rarement complètement inactif.

34voto

dalelane Points 1338

J’ai récemment commencé à jouer avec MQTT http://mqtt.org pour Android comme une façon de faire ce que vous demandez pour (c'est-à-dire pas de SMS mais données conduites, la remise de messages presque immédiate, évolutif, ne pas de vote, etc.).

J’ai un blog post des renseignements généraux sur ce dans le cas où c’est utile http://dalelane.co.uk/blog/?p=938

(Note : MQTT est une technologie d’IBM, et je tiens à souligner que je travaille pour IBM.)

14voto

tokudu Points 1595

J’ai écrit un blog sur comment implémenter les notifications push pour Android en utilisant le protocole MQTT. J’ai l’exemple de code disponible et une démonstration en direct. Jetez un coup d’oeil : http://tokudu.com/2010/how-to-implement-push-notifications-for-android/

14voto

peter Points 221

Jetez un oeil à la plateforme Xtify . On dirait que c’est ce qu’ils font,

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X