2013-08-27 14 views
14

वर्तमान Google GCM documentation आपको Google Play सेवाओं को स्थापित करने और जीसीएम (Google क्लाउड मैसेजिंग) के लिए उनका उपयोग करने की आवश्यकता है। पुस्तकालय 1.1 एमबी है, फिर भी मेरा वर्तमान। एपीके आकार का आधा है। मेरा ऐप जीसीएम प्राप्त करने और स्क्रीन पर कुछ डेटा प्रदर्शित करने का इरादा है, इसलिए मुझे Google Play Services 'Maps API, G + login, आदि की आवश्यकता नहीं है और न ही मुझे जीसीएम प्राप्त करने के बाद सर्वर पर प्रतिक्रिया देने में सक्षम होना चाहिए।एंड्रॉइड लाइब्रेरी बनाम Google Play Services के लिए Google क्लाउड मैसेजिंग

एसडीके प्रबंधक एंड्रॉइड पैकेज के लिए स्टैंडअलोन Google क्लाउड मैसेजिंग के डाउनलोड और स्थापना की अनुमति देता है। यह वह है जिसका उपयोग Google I/O 2013 से पहले किया गया था, जहां Play Services की घोषणा की गई थी।

मेरा सवाल है: एंड्रॉइड के लिए जीपीएस के जीसीएम और स्टैंडअलोन जीसीएम के बीच प्रदर्शन में क्या अंतर है? क्या मुझे वास्तव में जीपीएस पर स्विच करना है? स्टैंडअलोन जीसीएम वंचित है? क्या मैं अभी भी स्टैंडअलोन जीसीएम के साथ डेटा (4K तक) प्राप्त कर सकता हूं?

उत्तर

9

जहां तक ​​मुझे पता है, हाँ, पुराना एक बहिष्कृत है (यह कहता है कि http://developer.android.com/reference/gcm-packages.html), लेकिन अभी भी काम करता है।

मैं Play Services संस्करण का उपयोग करने की अनुशंसा करता हूं, हालांकि, यह कॉन्फ़िगर करने और उपयोग करने में बहुत आसान है, और यदि आपको G + लॉगिन या अन्य चीज़ की आवश्यकता नहीं है तो आपको इसका उपयोग करने की आवश्यकता नहीं है। हां, आपका एपीके थोड़ा बड़ा होगा, लेकिन मुझे लगता है कि यह इसके लायक है।

प्लस, प्रोटोकॉल में कोई भी नई सुविधाएं या सुधार संभवत: Play Services लाइब्रेरी के लिए होगा, न कि पुराने के लिए।

+0

मेरा प्रश्न बेवकूफ लग सकता है, लेकिन कृपया मुझे बताएं कि अधिसूचनाएं कैसे भेजी जाएंगी? मैंने कुछ ट्यूटोरियल http: // techlovejump पढ़ा है।में/2013/11/एंड्रॉइड-पुश-अधिसूचना-का उपयोग-google-cloud-messaging-gcm-php-google-play-service-library/जिसमें php फ़ाइलें बनाई गई हैं, लेकिन उन्हें कहां रखा जाए? एंड्रॉइड ऐप उन फ़ाइलों के साथ कैसे संवाद करेगा? –

+0

http://rmarcejaeger.com/2015/09/18/tutorial-how-to-implement-push-notifications-using-google-cloud-messaging-for-android-part-1-client-app –

3

पुराने जीसीएम हालांकि बहिष्कृत, अभी भी काम करता है। और एक संभावना है कि यह कुछ और समय के लिए काम करेगा। व्यक्तिगत रूप से, मैंने नाटक सेवाओं का उपयोग करके नया जीसीएम लागू किया और ऐसा लगता है कि वहां ऐसे डिवाइस थे जिन्हें पंजीकरण आईडी नहीं मिली और उन्हें SERVICE_NOT_AVAILABLE त्रुटि मिली। तो कुछ शोध के बाद मैं इसके लिए कोई समाधान नहीं ढूंढ पाया, और पुरानी जीसीएम विधि पर वापस लौटा जो जीसीएमआईन्टेंट सेवा का उपयोग करता है, और मैं पंजीकरण आईडी वापस पाने में सक्षम था। नीचे पंक्ति: ऐसा लगता है कि आप समय के लिए पुरानी जीसीएम विधि का उपयोग कर सकते हैं।

0

नई GCM विधि भी GcmIntentService जहां प्राप्त संदेश के लिए संभाल विन्यास रहता है का उपयोग करता है और जहां मैं अपने sendNotification (एमएसजी) विधि के लिए कॉन्फ़िगर

+0

"जब कोई जीसीएम कनेक्शन सर्वर आपके क्लाइंट ऐप को संदेश भेजता है, ब्रॉडकास्ट रिसीवर संदेश को एक इरादे के रूप में प्राप्त करता है। आप ब्रॉडकास्ट रिसीवर में इरादे को संसाधित कर सकते हैं, या आप किसी सेवा के इरादे को संसाधित करने के काम को पार कर सकते हैं (आमतौर पर, एक इरादा सेवा) यदि आप किसी सेवा का उपयोग करते हैं, तो आपका प्रसारण रिसीवर जागृत लॉक रखने के लिए वेकफुलबॉडकास्ट रिसीवर का उदाहरण होना चाहिए, जबकि सेवा अपना काम कर रही है। " http://developer.android.com/reference/com/google/android/gms/gcm/GoogleCloudMessaging.html –

+1

[नई Google अनुशंसा] (https://developers.google.com/cloud-messaging/android/client) 'जीसीएमआरसीवर' और 'जीसीएम लिस्टनर सेवा' द्वारा 'वेकफुल ब्रॉडकास्ट रिसीवर' को प्रतिस्थापित करना है। –

1

आप एप्लिकेशन आकार में वृद्धि के बारे में ज्यादा चिंता करने की GCM का उपयोग करते समय की जरूरत नहीं है जब तक आप प्रोगार्ड का उपयोग कर रहे हों तब तक Play Services का उपयोग करना।

The Google Play services client library का विवरण का उल्लेख है

यदि आप अपने निर्माण की प्रक्रिया के हिस्से के रूप में ProGuard का उपयोग क्लाइंट लाइब्रेरी एक प्रकाश पदचिह्न है, इसलिए यह अपने एप्लिकेशन की फ़ाइल आकार पर प्रतिकूल प्रभाव नहीं पड़ेगा।

मैंने अपने आप को दो अलग-अलग दृष्टिकोणों के साथ एपीके में अंतर नहीं मापा है। अगर मैं करता हूं तो अपडेट हो जाएगा।

+1

यह सिर्फ एपीके आकार नहीं है। यह जीपीएस (लगभग 11000) में विधि संदर्भों की सरासर संख्या है। यदि आपके पास एक बड़ा ऐप है (जैसा कि हम करते हैं) इससे आपके ऐप को एक डीईएक्स फ़ाइल में नहीं बनाया जा सकता है – dkneller

+1

Play Services 6.5 उस समस्या को हल करता है। यहां एक नज़र डालें: http://android-developers.blogspot.in/2014/11/google-play-services-65.html –

+0

मुझे यकीन नहीं है कि यह समस्या हल करती है। चूंकि हम अभी भी एक एएनटी निर्माण का उपयोग कर रहे हैं और लाइब्रेरी को सबसेट पुस्तकालयों (एसडीके में) में तोड़ने के लिए अपडेट नहीं किए गए हैं, फिर भी समस्याएं हो सकती हैं। ऐसा लगता है कि सबसेट पुस्तकालय मेवेन कलाकृतियों हैं इसलिए मैं यह देखने जा रहा हूं कि क्या हम उन्हें मैवेन के साथ प्रबंधित कर सकते हैं, इस मामले में यह एक समाधान हो सकता है, इस आधार पर कि मूल जीसीएम कार्यान्वयन कितना छोटा है – dkneller

-1

यह सुनिश्चित करने के लिए डिवाइस की जांच करें कि इसमें Google Play Services एपीके है। यदि ऐसा नहीं होता है, तो एक संवाद प्रदर्शित करें जो उपयोगकर्ताओं को Google Play Store से एपीके डाउनलोड करने या डिवाइस की सिस्टम सेटिंग्स में सक्षम करने की अनुमति देता है।

यह आपको परियोजना मेमोरी आकार से बचाएगा।

+0

यह आपके एपीके से कोई फर्क नहीं पड़ता आकार। हमेशा के रूप में एपीके डिवाइस पर वास्तविक पुस्तकालय (या तो पहले से ही, या डाउनलोड करने योग्य) के खिलाफ जोड़ने के साथ एक स्टब कार्यान्वयन के खिलाफ संकलित किया जाता है। – dkneller

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