2012-08-22 11 views
5

मैं या उद्देश्य सीखने के लिए क्या हो रहा है के लिए इसी तरह के दूत एक आवेदन बनाने के लिए कोशिश कर रहा हूँ।एंड्रॉयड चैट सेवा

मूल रूप से मैं एक गतिविधि है कि एक सेवा है जो टीसीपी/आईपी का उपयोग कर एक जावा सर्वर से कनेक्ट करने के लिए बांधता बनाया।

जबकि सेवा जीवित है उपयोगकर्ता प्राप्त करता है और संदेश भेजता है। समस्या तब होती है जब उपयोगकर्ता एप्लिकेशन को बंद कर देता है (उदाहरण के लिए टास्क मैनेजर का उपयोग करना - होम बटन दबाकर)। यदि आवेदन बंद हो गया है तो सेवा में 0 बींड हैं क्योंकि सेवा की मौत हो गई है।

मेरा प्रश्न है: इस तरह के अनुप्रयोगों का पैटर्न क्या है ताकि उपयोगकर्ता हमेशा संदेश प्राप्त कर सके, संदेश हमेशा संदेश भेजने और उनकी सेवा को जीवंत रखने का प्रबंधन कैसे करता है।

धन्यवाद।

उत्तर

1

आवेदन Google टॉक और अन्य त्वरित संदेश कार्यक्रमों की तरह अक्सर Google Cloud Messaging का उपयोग करें। इस बारे में Google I/O talk था जो आपको दिलचस्प लगेगा।

+0

Google क्लाउड मैसेजिंग – EGHDK

+0

के लिए +1 मुझे पता है कि c2dm एक समाधान है, लेकिन मैंने पढ़ा है कि दूसरा विकल्प xmpp है। मुझे लगता है कि xmpp मेरे उदाहरण में टीपीसी/आईपी सॉकेट का उपयोग कर काम करता है, इसलिए xmpp का उपयोग करके आप सेवा समस्या को कैसे हल करते हैं? अगर मैं xmpp के बारे में गलत हूं तो मुझे सही करें। धन्यवाद – Catalin

+0

अरे, मेरे पास अपनी सेवा को जिंदा रखने के बारे में एक सवाल है: http://stackoverflow.com/questions/35168769/start-in-foreground –

0

चैट अनुप्रयोगों दोनों सॉकेट कनेक्शन और GCM/APN उपयोग करता है। यदि ऐप अग्रभूमि में है, तो सॉकेट कनेक्शन स्थापित करें। जब ऐप पृष्ठभूमि में होता है, तो जीसीएम संदेश प्राप्त करने पर, फिर से सॉकेट कनेक्शन स्थापित करें। इस तरह आप बैटरी को भी बचाएंगे। सॉकेट कनेक्शन को लंबे समय तक खोलने से डिवाइस की बैटरी निकल जाएगी।

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

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

0

आप बैकएंड है तो आप OneSignal पर एक नज़र ले जा सकते हैं अपने पूरी तरह से मुक्त है और अच्छे से प्रलेखित: OneSignal

एक नमूना कोड के लिए, आप हमारे एंड्रॉयड चैट एसडीके उल्लेख कर सकते हैं

मुझे लगता है कि आप पहले से ही पुश सूचनाएं के बारे में पता: मूल रूप से आप सर्वर हर न सुनें। जब पुश आते हैं क्लाउड मैसेजिंग प्लेटफार्म आपके लिए फोन ट्रिगर करेगा।

आप अपनी सेवा हमेशा बंद स्थिति उपयोग STICKY_SERVICE में भी एप्लिकेशन को खोलने चाहते हैं: start-sticky-and-start-not-sticky

इसके अलावा

यदि आप मूल्य निर्धारण योजनाओं के लिए जाना चाहता हूँ कृपया FCM पढ़ें: Firebase Cloud Messaging

इस पेज में: android-migrate-fcm आप देखना चाहिए यह नोट:

फायरबेस क्लाउड मैसेजिंग (एफसीएम) जीसीएम का नया संस्करण है। यह विश्वसनीय और स्केलेबल जीसीएम बुनियादी ढांचे, साथ ही नई सुविधाओं को विरासत में मिला है! अधिक जानने के लिए अक्सर पूछे जाने वाले प्रश्न देखें। यदि आप किसी नए ऐप में मैसेजिंग को एकीकृत कर रहे हैं, तो एफसीएम से शुरू करें। आज और भविष्य में नई एफसीएम सुविधाओं से लाभ उठाने के लिए जीसीएम उपयोगकर्ताओं को एफसीएम में अपग्रेड करने की दृढ़ता से अनुशंसा की जाती है।

संबंधित मुद्दे