2012-07-06 19 views
18

के साथ एंड्रॉइड पर त्वरित संदेश मैं केवल नए Google क्लाउड मैसेजिंग (जीसीएम) को देख रहा था और मैं सोच रहा था कि क्या आपके एंड्रॉइड एप्लिकेशन पर त्वरित संदेश के लिए जीसीएम का उपयोग करना संभव है?Google क्लाउड मैसेजिंग

मैंने देखा कि आप एक सर्वर से एक संदेश की तरह डेटा भेज सकते हैं, लेकिन क्या एक डिवाइस से दूसरे डिवाइस में भेजना भी संभव है? और यह कैसे काम करेगा? कुछ उदाहरण कोड वास्तव में सहायक होंगे ..

टीएनएक्स!

उत्तर

19

एंड्रॉइड के लिए Google क्लाउड मैसेजिंग पर official docs का उल्लेख है कि जीसीएम का उपयोग त्वरित संदेश एप्लिकेशन विकसित करने के लिए किया जा सकता है।

... या यह पेलोड डेटा 4KB तक के संदेश हो सकता है (ताकि क्षुधा त्वरित संदेश की तरह सीधे संदेश उपभोग कर सकते हैं)।

तो हम आगे बढ़े और जीसीएम का उपयोग कर एक त्वरित संदेश एप्लिकेशन बनाया। सर्वर-साइड Google App Engine द्वारा संचालित है। आप यहां पूरा ट्यूटोरियल पढ़ सकते हैं। Create an Instant Messaging app using Google Cloud Messaging (GCM)

तो अपने प्रश्न का उत्तर देने के लिए एंड्रॉइड पर त्वरित संदेश के लिए जीसीएम का उपयोग करना संभव है। हालांकि, आईएम के लिए एक्सएमपीपी की तुलना में जीसीएम की विश्वसनीयता एक और विषय है।

+0

कूल ट्यूटोरियल। इसे बनाने के लिए आपको कितना समय लगेगा? और कितने लोग शामिल थे? – defhlt

10

बस मेरे दो सेंट:

मुझे लगता है कि आप आईएम पहुंचाने के लिए GCM उपयोग नहीं करना चाहिए। आपके पास एक समर्पित सर्वर होना चाहिए जहां एक सतत सॉकेट कनेक्शन का उपयोग करके आपके एंड्रॉइड आईएम ऐप्स कनेक्ट हों। आपका सर्वर पता चलेगा कि कौन ऑनलाइन है या नहीं और इसलिए सभी ऐप्स को 'ऑनलाइन सूची' पेश कर सकता है।

जीसीएम खेल में आ सकता है, जबकि उपयोगकर्ता ऑफ़लाइन हैं या आपके ऐप नहीं चला रहे हैं। 'XXXX चैट करना चाहता है' इंगित करने के लिए उन्हें एक जीसीएम संदेश भेजा जा सकता है। फिर वे आपके ऐप को लॉन्च कर सकते हैं और चैट सत्र से स्वचालित रूप से जुड़ सकते हैं।

Google ने कहा है कि जीसीएम संदेशों की डिलीवरी की गारंटी नहीं है। तत्काल कारण यह है कि त्वरित संदेश के लिए उन पर भरोसा करना एक अच्छा विचार नहीं है।

+0

और क्या आप आईएम के लिए किसी प्रकार का विकल्प जानते हैं? टीएनएक्स – dumazy

+5

आईएम एक जटिल जानवर है, यदि संभव हो तो पहियों को फिर से शुरू करना सबसे अच्छा नहीं है। एक्सएमपीपी पर एक Google खोज करें, आपको कुछ मुफ्त या सस्ता समाधान मिल सकता है जिसे आप अपने पर्यावरण में एकीकृत कर सकते हैं। यह विषय भी देखें: http://stackoverflow.com/questions/4769020/android-and-xmpp-currently-available-sutions – azgolfer

+0

हाय चेक आउट पब नब - यह कार्यान्वित करने में बहुत आसान है - देखें कि उनके पास जावा क्लाइंट है या नहीं मोबाइल पर एक जावास्क्रिप्ट केवल समाधान काम करता है। ozmike

0

पब नब आज़माएं - इसे लागू करना बहुत आसान है - एक मोबाइल से दूसरे में आईएम भेजें - बस ब्राउज़र में वेब पेज (लिंक देखें) को फायर करें, और पीसी, मोबाइल और काम के बीच चैट करें - 'नो' के साथ सर्वर '। कोड जावास्क्रिप्ट के लिए है लेकिन उनके पास जावा भी है। Chat app using jquerymobile web app framework

0

आप यह जांचना चाहेंगे कि कोई सर्वर जीसीएम सेवा को संदेश कैसे भेजता है। सर्वर पक्ष पर PHP का उपयोग करना संभव है, इसलिए इसे सीधे अपने आवेदन से बाहर एक POST अनुरोध को अनुकूलित करना संभव होना चाहिए। हालांकि, संवाद करने के लिए आपको उन डिवाइसों के पंजीकृत आईडी की आवश्यकता है जिन्हें आप डेटा भेजना चाहते हैं। मतलब है कि आपको स्टोर करने और उन्हें प्राप्त करने के लिए कुछ चाहिए। सर्वश्रेष्ठ समाधान आपका स्वयं का (वेब) सर्वर होगा जो सभी आईडी स्टोर करता है और संदेश भेजने को संभालता है।