2011-04-29 3 views
1

http://www.liveprofile.com/LiveProfile, les notifications Push, structure

Je me demandais si quelqu'un serait en mesure d'expliquer comment une application à peu près comme LiveProfile est mis en œuvre?

Comment les messages sont-ils transmis sur le réseau d'un périphérique à un autre? Comment savent-ils l'adresse de l'appareil auquel ils souhaitent l'envoyer? Existe-t-il une carte d'adresses IP et de codes PIN LiveProfile?

Est-ce HTTP? Juste la technologie générale utilisée serait d'une grande aide dans l'amélioration de ma compréhension de cet aspect de l'ingénierie Android et mobile.

Répondre

4

Je ne connais pas cette application spécifique, mais il existe plusieurs possibilités.

One est le C2DM de Google Labs: http://code.google.com/android/c2dm/

Aussi, vérifiez ce poste. Il a une explication très détaillée: http://tokudu.com/2010/how-to-implement-push-notifications-for-android/

Voici une autre avec des informations utiles: http://blog.boxedice.com/2010/10/07/android-push-notifications-tutorial/

+0

Exactement ce que je suis après. Merci! – Tim

3

En tant que co-fondateur de LiveProfile je peux apporter un peu plus de lumière sur ce que nous avons fait.

Le profil LiveProfile était disponible avant que C2DM ne soit disponible. En fait, le marché était fragmenté et beaucoup utilisaient encore Android v2.0 et ci-dessous. Pour cette raison, nous avons mis en place notre propre solution basée sur la poussée.

Notre solution est une socket persistante sur nos serveurs à tout moment. Lorsqu'un utilisateur envoie un message à un autre utilisateur, il est acheminé via nos serveurs et nous décidons à qui il doit s'adresser. Si la socket persistante est connectée, nous y poussons les données. Si l'utilisateur n'est pas connecté actuellement, nous stockons les données dans une file d'attente et l'utilisateur recevra tous les messages lors de la connexion.

Mise à jour: Une bonne ressource est une conférence de Google I/O 2009 qui va dans les détails sur la durée de vie de la batterie, comment les effets de réseau/CPU, etc. il http://www.youtube.com/watch?v=OUemfrKe65c

+0

Merci pour la réponse. Je suppose qu'en ayant cette connexion persistante élimine alors le besoin de stocker des cartes d'adresses de périphériques aux PIN. Comment la connexion permanente est-elle conservée sans épuiser «toute» durée de vie de la batterie tout au long de l'opération? – Tim

+1

J'ai mis à jour mon message avec un lien vers une vidéo de Google I/O 2009. Puisque nous transférons à peine des données sur le réseau (autre que KeepAlive), l'utilisation de la batterie est TRÈS minime. – William