एप्लिकेशन फोनगैप में है। मैं पुश अधिसूचना सुविधा का उपयोग कर रहा हूं https://github.com/marknutter/GCM-Cordovaजीसीएम कॉर्डोवा पुश अधिसूचना काम नहीं कर रही है जब ऐप नहीं चल रहा है
मैंने पूरी सुविधा लागू की और कल तक ठीक काम किया। जब मैंने पिछले दिन ऐप की जांच की, तो ऐप चालू नहीं होने पर पुश अधिसूचना काम नहीं कर रही है। मेरे डिवाइस पर सभी सूचनाएं प्राप्त हो रही हैं, संदेश पर क्लिक करने से ऐप खुलता है।
लेकिन नियंत्रण जावास्क्रिप्ट भाग पर प्राप्त नहीं हो रहा है जहां संदेश अधिसूचना संभालती है। फ़ाइल GCMIntentService.java से
कोड: संदेश कब प्राप्त हुआ
JSONObject json;
json = new JSONObject().put("event", "message");
json.put("message", extras.getString("message"));
json.put("link", extras.getString("link"));
Log.v(ME + ":onMessage ", json.toString());
GCMPlugin.sendJavascript(json);
// Send the MESSAGE to the Javascript application
इस कोड काम करेंगे। लेकिन उस समय, ऐप नहीं चल रहा है।
जब मैं अधिसूचना संदेश पर क्लिक करता हूं, तो ऐप सामान्य रूप से खुलता है, संदेश ईवेंट पंजीकृत नहीं करता है; इस प्रकार पुश अधिसूचना को संभालने के लिए जावास्क्रिप्ट में नियंत्रण नहीं मिल रहा है।
https://github.com/marknutter/GCM-Cordova/blob/master/assets/www/CORDOVA_GCM_script.js
नोट: CORDOVA_GCM_script.js के लिए
कोड पर उपलब्ध है यह ठीक काम करता है जब अनुप्रयोग चल रहा है।
संपादित करें: अधिसूचना कभी कभी चलाता है। जावास्क्रिप्ट को संदेश घटना यादृच्छिक रूप से मिल रही है।
संपादित करें 2:
मैं निश्चित रूप से समस्या को जानते हैं।
जावा फ़ाइल से, यह पुश अधिसूचना संदेश पर क्लिक करके ऐप खोलते समय जावास्क्रिप्ट कोड ट्रिगर करता है। लेकिन उस समय, वेबव्यू लोड नहीं हुआ है, इसलिए स्क्रिप्ट निष्पादित करने में सक्षम नहीं है (जो एक ईवेंट ट्रिगर है)। क्या यह स्थिति है, प्लगइन का उपयोग करने वाले हर किसी का अनुभव होगा। क्या इसके लिए कोई कामकाज या कोई फिक्स है?
क्या मैं कुछ गलत कर रहा हूं?
पुश अधिसूचना की बात है कि यह पृष्ठभूमि में चलता है जब अपने अनुप्रयोग नहीं चल रहा है है। इसलिए, यदि आपका ऐप नहीं चल रहा है और इस मामले में, यह वेबव्यू है, मुझे नहीं लगता कि यह मूल पक्ष से कुछ भी प्राप्त करेगा क्योंकि JVM पृष्ठभूमि में वेबव्यू नहीं चलाता है जो बताता है कि आपका जेएस भाग क्यों नहीं करता है ' जब ऐप नहीं चल रहा है तो टी चलाएं। जब आपको पुश अधिसूचना मिलती है तो आपको साझा प्राथमिकताओं या अधिसूचना में अधिसूचना डेटा संग्रहीत करने पर विचार करना चाहिए; जांचें कि हर बार आपका ऐप लॉन्च हो जाता है ताकि आप इसका प्रतिक्रिया दे सकें। – praneetloke
यह एक आम कार्यान्वयन है और मुझे अन्य द्वारा सूचित कोई समस्या नहीं मिली, जो मुझे भ्रमित कर रहा है .. – IvenMS