2012-08-22 27 views
5

Öğrenme amaçlı olana veya mesajlaşmaya benzer bir uygulama oluşturmaya çalışıyorum.Android Chat Service

Temel olarak, TCP/IP kullanarak bir java sunucusuna bağlanan bir hizmete bağlanan bir etkinlik oluşturdum.

Hizmet canlıyken kullanıcı ileti alır ve gönderir. Sorun, kullanıcı uygulamayı kapattığında (örn. Görev yöneticisini kullanarak - Ana ekran düğmesini basılı tuttuğunuzda). Eğer uygulama kapatılırsa servis öldürülürse 0'dır.

Sorum şu: Bu tür uygulamaların modeli nedir, böylece kullanıcının her zaman mesaj alması, neyin yol açtığı her zaman mesajları göndermeyi ve hizmetlerini canlı tutmayı başarır.

Teşekkür ederiz.

cevap

1

Google Talk ve diğer anlık ileti programları gibi uygulamalar genellikle Google Cloud Messaging'u kullanır. Bu konuda ilginç bulabileceğiniz bir Google I/O talk vardı.

+0

Google Cloud Messaging için – EGHDK

+0

C2dm'nin bir çözüm olduğunu biliyorum, ancak başka bir seçeneğin xmpp olduğunu okudum. Ben xmpp örneğimde olduğu gibi tpc/ip soketleri kullanarak çalışır, bu yüzden xmpp kullanarak hizmet sorununu nasıl çözersiniz? Xmpp konusunda yanılıyorsam beni düzeltin. Teşekkürler – Catalin

+0

Hey, Hizmetimi canlı tutma hakkında bir sorum var: http://stackoverflow.com/questions/35168769/start-in-foreground –

0

Sohbet uygulamaları hem soket bağlantısını hem de GCM/APN'yi kullanır. Uygulama ön planda ise, bir soket bağlantısı kurun. Uygulama arka planda olduğunda, bir GCM mesajı aldıktan sonra tekrar bir soket bağlantısı kurun. Bu şekilde bataryayı da kaydedeceksiniz. Soket bağlantısını uzun süre açık tutmak, cihazın pilini boşaltacaktır. Eğer arka uç varsa

https://github.com/AppLozic/Applozic-Android-SDK

https://github.com/AppLozic/Applozic-iOS-SDK

0

o zaman tamamen ücretsiz ve iyi belgelenmiş onun OneSignal bir göz atabilirsiniz:: OneSignal

bir örnek kod için, bizim android sohbet sdk başvurabilir

Sanırım Push Bildirimleri hakkında zaten biliyorsunuz: temelde sunucuyu her zaman dinlemiyorsunuz. Push geldiğinde Cloud Messaging Platform sizin için telefonu tetikleyecektir.

Eğer Servis her zaman kapalı devlet kullanımda STICKY_SERVICE bile uygulamayı açmak isterseniz: Bu sayfada Firebase Cloud Messaging

: Eğer FCM okuyunuz Fiyatlandırma Planları gitmek istemiyorsanız yine start-sticky-and-start-not-sticky

android-migrate-fcm görmeniz gerekir Bu not:

Firebase Cloud Messaging (FCM), GCM'nin yeni sürümüdür. Güvenilir ve ölçeklenebilir GCM altyapısını ve yeni özellikleri miras alır! Daha fazla bilgi için SSS bölümüne bakın. Mesajlaşmayı yeni bir uygulamaya entegre ediyorsanız, FCM ile başlayın. GCM kullanıcılarının bugün ve gelecekte yeni FCM özelliklerinden yararlanmak için FCM'ye geçmeleri şiddetle tavsiye edilmektedir.