2013-06-01 11 views
12

मैंने वास्तव में इस समस्या का हल ढूंढने की कोशिश की लेकिन नहीं किया। इस अवधारणा से संबंधित कुछ धागे हैं, लेकिन मुझे एक व्यापक समाधान नहीं मिला।एक्सएमपीपी (ओपनफायर) पुश नोटिफिकेशन एंड्रॉइड

मेरे पास ओपनफायर वाला एक सर्वर है जो संदेश भेजता है। जब दोनों उपयोगकर्ता ऑनलाइन होते हैं, तो कोई समस्या नहीं होती है। हालांकि, जब कोई उपयोगकर्ता ऑफ़लाइन है, तो मैं व्हाट्सएप में एक पुश अधिसूचना भेजना चाहता हूं। मैंने सुना है कि व्हाट्सएप और अन्य आईएम ऐप्स पुश अधिसूचनाएं भेजने के लिए ejabber के एक संशोधित संस्करण का उपयोग करते हैं, लेकिन यह पता नहीं लगा सका।

जीसीएम का उपयोग करने की एक संभावना है, लेकिन मुझे यकीन नहीं है कि यह जाने का सही तरीका है या नहीं। बैटरी जीवन को कम करने के लिए भी मैं मतदान से बचना चाहता हूं।

क्या कोई इस के लिए कुछ समाधान जानता है या कोई उदाहरण है?

उत्तर

2

ठीक है, आप एक्सएमपीपी के साथ जीसीएम का उपयोग कर सकते हैं। नया GCM Cloud Connection Server आपको अपने सर्वर और आपके एंड्रॉइड एप्लिकेशन के बीच एक बिडरेक्शनल (क्लाउड टू डिवाइस और डिवाइस टू क्लाउड) संचार के लिए एक्सएमपीपी प्रोटोकॉल का उपयोग करने की अनुमति देता है।

GCM बादल कनेक्शन सर्वर (सीसीएस) के लिए तीसरे पक्ष के सर्वर XMPP प्रोटोकॉल का उपयोग Google सर्वर से एक लगातार टीसीपी कनेक्शन स्थापित करने से Android उपकरणों के साथ संवाद कर सकते हैं। यह संचार असीमित और बिडरेक्शनल है।

+0

मैं इसे आज़मा दूंगा। मैं देखता हूं कि यह कैसे एक अच्छा समाधान हो सकता है। एक बार आपके समाधान ने मेरे लिए काम किया है, तो मैं आपका जवाब स्वीकार करूंगा :) – Max

+0

अच्छा, यह एक कोशिश के लायक है, लेकिन यह एक परीक्षण सुविधा नहीं भूलें, इसलिए यह अभी तक उत्पादन के लिए तैयार नहीं हो सकता है। – Eran

+0

मैं जीसीएम का उपयोग करने से बचने की उम्मीद कर रहा था, क्योंकि पुश अधिसूचना प्राप्त करने के लिए डिवाइस पर Google खाते की आवश्यकता थी, हालांकि मैं इसे इस समय एकमात्र विकल्प के रूप में देखता हूं। आपके उत्तर के लिए फिर से धन्यवाद। – Max

-3

ओपनफायर में स्वचालित रूप से यह किया जाता है, जब उपयोगकर्ता ऑनलाइन हो जाता है तो उपयोगकर्ता द्वारा संदेशों को प्राप्त किया जाएगा। इसलिए कोई चिंता किसी ऑफ़लाइन उपयोगकर्ता को संदेश नहीं भेजती है और जब उपयोगकर्ता ऑनलाइन संदेश आता है तो उपयोगकर्ता को स्वचालित रूप से उपयोगकर्ता को धक्का दिया जाएगा।

+0

वैसे यह सच है, हालांकि मैं एक त्वरित मैसेंजर बनाना चाहता हूं, जिसके लिए उपयोगकर्ता ऑफ़लाइन होने पर पुश अधिसूचना की आवश्यकता है। मैं चाहता हूं कि उपयोगकर्ता को एक संदेश भेजा गया हो (एक पुश अधिसूचना)। – Max

+1

आप पृष्ठभूमि सेवा क्यों नहीं चलाते और ओपनफायर से कनेक्शन क्यों रखते हैं? –

8

मैं ओपनफायर का अध्ययन कर रहा हूं और कुछ अच्छे विकल्प ढूंढ चुके हैं जिन्हें मैं आपके साथ साझा करना चाहता हूं। मुझे जिथब में एक प्लगइन मिला और मैं इस सप्ताह इसका परीक्षण करूंगा। ऐसा लगता है कि अपने लक्ष्य के और मेरे लिए एक अच्छा समाधान हो जाएगा: https://github.com/meisterfuu/Openfire-GCM/

एक अन्य विकल्प CallbackOnOffline उपयोग करने के लिए प्लगइन है कि करने के लिए के साथ और मापदंडों से एक निर्दिष्ट URL कॉल है। यह यूआरएल आपकी वेब सेवा में एक अंतराल हो सकता है, और उस डेटा (से और उससे) के साथ आप अपने बेस में पुश के लिए संबंधित आईडी प्राप्त कर सकते हैं, और एक धक्का दिया।

https://www.igniterealtime.org/projects/openfire/plugins.jsp

+0

ओपनफायर-जीसीएम काम नहीं करता है। क्या आपके पास शायद एक अद्यतन संस्करण है? – Pierre

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