2013-06-18 5 views
7

शायद आप इसके बारे में पहले से ही सुना है। एक महीने पहले Google आईओ में इसकी घोषणा की गई थी। Google क्लाउड मैसेजिंग केवल डाउनस्ट्रीम (सर्वर -> फोन) था, लेकिन अब एनसीएस (क्लाउड कनेक्शन सर्वर) में वृद्धि के साथ आप एक सतत टीसीपी कनेक्शन पर संदेश अपस्ट्रीम भेज सकते हैं धन्यवाद एक्सएमपीपी प्रोटोकॉल। मैंने पहले से ही एक एप्लीकेशन तैयार किया है जो जीसीएम और HTTP के साथ काम करता है। यह जीसीएम लाइब्रेरी और कक्षाओं में पैक किया जाता है (जैसे जीसीएम रेगेस्ट्रार)। इस वर्ग को अब बहिष्कृत कर दिया गया है, और Google इसके बजाए GoogleCloudMessaging API का उपयोग करने की सिफारिश करता है।एक्सएमपीपी प्रोटोकॉल पर Google क्लाउड मैसेजिंग (PHP और XMPPHP के साथ काम कर रहे सर्वर)। यह कैसे काम करता है?

सबकुछ अब थोड़ा अलग काम करता है। आपके पास Google प्रलेखन है और वे बहुत अच्छी व्याख्या करते हैं, आप अपने एंड्रॉइड ऐप को कैसे डिज़ाइन कर सकते हैं। लेकिन मुझे सर्वर के साथ समस्या है, क्योंकि मैंने पहले कभी एक्सएमपीपी के साथ काम नहीं किया है। वे यहां पाइथन में एक कोड देते हैं: http://developer.android.com/google/gcm/gs.html लेकिन मुझे पाइथन पर कोई जानकारी नहीं है। तो मैंने जांच की और फिर मुझे एक्सएमपीपीएचपी लाइब्रेरी मिली। फिर आप PHP के साथ काम कर सकते हैं और एक्सएमपीपी से कनेक्ट करने और संदेशों को भेजने/प्राप्त करने के लिए लाइब्रेरी का उपयोग कर सकते हैं।

मुझे इसके साथ काम करने का कोई अनुभव नहीं है और यह मेरे लिए काम नहीं करता है। मैं Google एक्सएमपीपी सर्वर के साथ एक्सएमपीपी कनेक्शन कैसे खोल सकता हूं?

मैं एक कनेक्शन (यहां आप पुस्तकालय के साथ काम करते हैं) खोलने के लिए यह रास्ता मिल गया:

$conn = new XMPPHP_XMPP($host, $port, $user, $password, $resource, $server, $printlog, $loglevel); 

किसी को भी पता है जो मापदंडों मैं आदेश Google सीसीएस के साथ कनेक्ट करने में यहां पारित करने के लिए क्या है ?? कैसे मैं एक डिवाइस के लिए XMPP से अधिक एक संदेश भेजने के

:

मैं भी पता करने के लिए चाहते हैं? मुझे डिवाइस से संदेश कैसे प्राप्त हो सकता है ??

+0

$ conn = new XMPPHP_XMPP ('http://gcm.googleapis.com', '5235', ' @ gcm.googleapis.com', 'apikey', '', $ server, 'true' , 'जानकारी'); –

+0

मुझे लगता है कि यह अब काम करता है, क्या मुझे यह कनेक्शन खुला होना चाहिए? क्या आप जानते हैं कि मैं डिवाइस पर एक संदेश कैसे भेज सकता हूं ताकि यह जांच सके कि सब ठीक से काम करता है? मेरे पास एंड्रॉइड ऐप ब्रॉडकास्ट रिसीवर –

+0

के साथ तैयार है क्या आप मुझे नवीनतम जीसीएम सर्वर कोड के लिए कोड प्रदान कर सकते हैं? –

उत्तर

2

मैं एक ही समस्या में भाग गया, एक्सएमपीपीएचपी का उपयोग करने की कोशिश की, लेकिन फिर जेएक्सएल लाइब्रेरी की खोज की और इसे स्विच किया। unable to connect to Google Cloud Connection Server देखें। जेएक्सएल आपको विशेष डीबग मोड 'log_level' => JAXL_DEBUG का उपयोग करके, जो भेजता है उसे देखने की अनुमति देता है। तब मैंने देखा कि Google मुझे यह भेजता है:

<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><temporary-auth-failure/><text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">Project 1945693724760 not whitelisted.</text></failure> 

यही कारण है कि मैं कोई अधिसूचना नहीं भेज सका। आपको पहले सीसीएस के लिए पंजीकरण करना चाहिए: https://services.google.com/fb/forms/gcm/

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