2016-03-03 7 views
7

मुझे कुछ क्रोम (क्रोमियम) संस्करण के साथ समस्या का सामना करना पड़ रहा है, जहां PushManager.subscribe सेवावर्कर से वचन लंबित राज्य में रहता है।पुशमैनगर सब्सक्रिप्शन वादा कभी पूरा नहीं होता है और न ही

कोड में ही बहुत सरल है:

return serviceWorkerRegistration.pushManager.subscribe({ 
    userVisibleOnly: true 
    }); 

मैं एक वैध और सुलभ JSON प्रकट, GCM प्रेषक आईडी उपलब्ध कराने की है। मैंने this post में वर्णित अनुसार विभिन्न कार्यान्वयन की भी कोशिश की, लेकिन परिणाम अभी भी वही है।

सदस्यता भाग प्रत्येक 47+ संस्करण के साथ अच्छी तरह से काम करता है, यह समस्या पुरानी रिलीज के साथ दिखाई देती है। (मैं विभिन्न प्रमुख संस्करणों का परीक्षण करने के लिए क्रोमियम निरंतर निर्माण का उपयोग कर रहा हूं)।

भी ध्यान रखें कि, Ubuntu पर क्रोमियम 46 (और नीचे) का उपयोग करते समय, वादा एक Internal Server Error साथ 15 मिनट के बाद खारिज कर दिया।

+0

क्या आपको क्रोम के पुराने संस्करणों का समर्थन करने की आवश्यकता है? वर्तमान स्थिर संस्करण 49 है। शायद जीसीएम और पुराने संस्करणों के साथ क्रोम वार्ता के तरीके में कुछ बदल गया है, अब समर्थित नहीं हैं? – Marco

+0

वास्तव में, चूंकि क्रोम में एक ऑटो-अपडेट सुविधा है, 2 या 3 संस्करणों का अंतर, पुरानी रिलीज वाले उपयोगकर्ता हाशिए हैं। हालांकि, यह एक वैश्विक आंकड़ा है, शायद कुछ स्थान/देश में कुछ अपडेट हाल ही में पहुंचने लगता है। क्या जीसीएम से समर्थन की कमी क्रोमियम निर्माण से आती है, या "पुरानी-स्थिर" क्रोम रिलीज से आती है? – Arturo

+0

मुझे यकीन नहीं है, मैं फ़ायरफ़ॉक्स और क्रोमियम दोनों में अपनी वेब-पुश लाइब्रेरी (https://github.com/marco-c/web-push) के लिए परीक्षण चलाता हूं और वे काम करते हैं, लेकिन परीक्षणों में मैं हमेशा रहता हूं नवीनतम संस्करणों का उपयोग कर। – Marco

उत्तर

1

समस्या उपयोगकर्ता के साथ है केवल वैध: पैरामीटर के रूप में सत्य।

यह केवल क्रोम 47 में पेश किया गया था। इससे पहले आपको इसे एक मेनिफेस्ट पैरामीटर के रूप में पास करने की आवश्यकता है। https://johnme-gcm.appspot.com/manifest.json अनुसरण करने के लिए एक अच्छा उदाहरण है।

+0

मेरे पास ** gcm_user_visible_only ** मैनिफेस्ट में सत्य पर सेट है। लेकिन अगर मैं 'सब्सक्राइब' विधि से पैरामीटर हटा देता हूं, तो मुझे एक त्रुटि मिली है _Chrome वर्तमान में सब्सक्रिप्शन के लिए पुश एपीआई का समर्थन करता है जिसके परिणामस्वरूप उपयोगकर्ता-दृश्य संदेश होंगे [...] _ मुझे लगता है कि आपका उदाहरण पेश किया गया था [ Chrome44 +] (http://stackoverflow.com/questions/31286265/gcm-registration-id-in-service-worker-in-push-notification-for-chrome#comment-50592719) – Arturo

1

ऐसा प्रतीत होता है कि क्रोमियम टीम working on it थी। अगर मैं गलत नहीं हूँ, एक फिक्स क्रोम 55

0

को रिलीज किया जाएगा यह समस्या विंडोज 7 पर क्रोम 55.0.2883.87 पर प्रतिलिपि प्रस्तुत करने योग्य है सदस्यता ले वादा न हल करने और न ही खारिज किया जाता है। लेकिन यह केवल एक मशीन पर हो रहा है जिसमें संयोजन

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