13

मैंने एक्सएमपीपी का उपयोग कर अपने आईओएस और एंड्रॉइड ऐप में चैट सिस्टम को एकीकृत किया है। मैंने सर्वर की तरफ ejabberd 2 का उपयोग किया है। चैटिंग sytem ठीक काम करता है। मैं एपीएनएस और जीसीएम का उपयोग कर अपने चैट में पुश अधिसूचना को एकीकृत करना चाहता हूं। मैं प्रत्येक चैट संदेश के साथ पुश अधिसूचना कैसे भेज सकता हूं? ejabberd 2 में इस सुविधा को लागू करने के लिए कोई एपीआई या एक्सटेंशन उपलब्ध है?ejabberd और पुश अधिसूचना

सहायता अत्यधिक सराहनीय है,

उत्तर

13

कृपया नीचे दिए गए ब्लॉग का उपयोग करें, यह बहुत ही सरल और उपयोगी है, यह मेरे लिए ठीक काम करता है।

http://symmetricinfinity.com/2013/01/23/ios-push-notifications-from-ejabberd.html

+1

एंड्रॉइड ऑफ़लाइन उपयोगकर्ता को कैसे दबाया जा रहा है? –

+0

Android क्लाइंट से eJabberD को FCM कॉन्फ़िगरेशन पैरामीटर कैसे भेजें? मैं स्मैक एसडीके क्लाइंट साइड का उपयोग कर रहा हूँ। कोई सुझाव @ मिकेल रेमंड, vks – CoDe

6

वहाँ APNS या gcm के लिए कोई ejabberd प्लगइन है। मुझे लगता है कि आप दो मुख्य विकल्प यहाँ हैं:

  1. उपयोग mod_offline_post मॉड्यूल जो दिया यूआरएल पर POST अनुरोध भेजेगा। फिर आप किसी भी मौजूदा बैकएंड भाषा का उपयोग एपीएनएस और जीसीएम दोनों को संसाधित करने के लिए कर सकते हैं (मैं रेलवे का बैकएंड के रूप में उपयोग कर रहा हूं, इसलिए यह इसे संभालने के लिए केवल एक और बिंदु है)।

  2. mod_offline_post के आधार पर, अपना खुद का मॉड्यूल बनाएं जो POST अनुरोध के बजाय पुश नोटिफिकेशन भेजेगा। कुछ उदाहरण और पुस्तकालय हैं जो एपीएनएस और जीसीएम लागू करते हैं। अर्थात। जीसीएम के लिए apns4erl एपीएनएस और this code के लिए। लेकिन निश्चित रूप से कुछ एरलांग जानना अच्छा होगा।

3

AFAIK कोई सार्वजनिक ejabberd मॉड्यूल नहीं है जो जीसीएम या एपीएन को इंटरफ़ेस प्रदान करता है।

मैं आपको ejabberd_hook के साथ एक कस्टम मॉड्यूल को लागू करने का सुझाव देता हूं। आप ejabberd आंतरिक मॉड्यूल और उपस्थिति हुक here का एक उदाहरण देख सकते हैं।

मैं offline_message_hook सुझाव है, जबकि संदेशों के एक सामान्य छानने के लिए मैं filter_packet({From, To, Packet}) सुझाव है और पैकेट प्रकार के लिए जाँच (this stackoverflow प्रश्न देखें) आप संदेशों को अग्रेषित करने के लिए उपयोगकर्ताओं ऑफ़लाइन करना चाहते हैं।

प्राप्तकर्ता को जानना आप डिवाइस टोकन/पंजीकरण आईडी डीबी से पुनर्प्राप्त कर सकते हैं और कुछ एरलांग कोड का उपयोग कर संदेश अग्रेषित कर सकते हैं।

एपीएन के लिए कुछ simple code पर एक नज़र डालें, यह बताते हुए कि यह कैसे काम करता है या इस erlang ex_apns पर। यदि आप एपीएन के बारे में अधिक जानकारी चाहते हैं तो आप एपीएन के लिए एक नकली सर्वर चाहते हैं तो आप इस ब्लॉग को post पढ़ सकते हैं।

जीसीएम के उदाहरण के लिए आप @ लुकास द्वारा प्रदान किए गए उदाहरण लिंक का उपयोग कर सकते हैं।

+0

मैं db से डिवाइस टोकन कैसे प्राप्त कर सकते हैं? –

+0

यह पूरी तरह से निर्भर करता है कि आप टोकन कैसे स्टोर करते हैं और किस डीबी पर। – user601836

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