2016-10-16 11 views
5

एक Android ग्राहक में एक विषय के लिए सदस्यता लें करने के लिए हम बुलाना चाहिए:एंड्रॉइड फायरबेस क्लाउड मैसेजिंग (एफसीएम): सब्सक्राइब करने के लिए स्वचालित रूप से स्वचालित रीट्रीज़ करेंगे?

FirebaseMessaging.getInstance().subscribeToTopic("news"); 

मैं जानना चाहता हूँ कि क्या होता है चाहते हैं, तो इंटरनेट कनेक्शन इस समय उपलब्ध नहीं है कि इस निर्देश निष्पादित किया जाता है?

क्या इंटरनेट कनेक्शन स्वचालित रूप से इंटरनेट कनेक्शन उपलब्ध होने पर सदस्यता लेने के लिए पुनः प्रयास करेगा या डेवलपर को इस मामले को संभालना चाहिए?

उत्तर

2

अद्यतन:

subscribeToTopic पृष्ठभूमि पर पुन: प्रयास रखेंगे, लेकिन यह अपने अनुप्रयोग जीवन चक्र से जुड़ा हुआ है:

तो यह है subscribeToTopic के लिए और अधिक, अपने पिछले पोस्ट में @ DiegoGiorgini की टिप्पणी के अनुसार लगता है (अभी तक Google सेवाओं के लिए नहीं)। तो यदि आपका ऐप मारे गए हैं तो ऐप फिर से खुलने तक यह फिर से प्रयास करना बंद कर देगा। (कार्रवाई जब एप्लिकेशन फिर से शुरू कर दिया है संग्रहीत किया जाता है तो यह फिर से शुरू हो जाएगा)

तरह से मैं पहले बाहर कोशिश कर रहा था निश्चित अवधि के बाद था, मैं एप्लिकेशन की हत्या की जाएगी और इसे फिर से ऊपर खींचने नहीं था ।


तो मैंने इसे जांचने का प्रयास किया है। ऐसा लगता है कि अगर डिवाइस ऑफ़लाइन है, तो सदस्यता के लिए अनुरोध भेजा जाता है, तो यह समय की अवधि (20-30 सेकंड या तो?) के लिए फिर से प्रयास करेगा, फिर भी अगर कनेक्ट नहीं होगा तो बंद हो जाएगा। अनुरोध शायद एक टाइम-आउट त्रुटि तक पहुंच गया। लेकिन चूंकि subscribeToTopic() के लिए कोई वापसी मूल्य नहीं है, इसलिए आपके क्लाइंट ऐप के माध्यम से इसे निर्धारित करने का कोई तरीका नहीं है। यदि आप चाहते हैं, तो आप Feature Request में भेज सकते हैं।

हालांकि, इस पल के रूप में, मुझे लगता है कि आप अपने क्लाइंट ऐप में एक चेकर रखना चाहते हैं, जहां केवल डिवाइस ऑनलाइन है, तो आप अनुरोध भेज देंगे।

आप इसे अपने ऐप सर्वर के माध्यम से भी देख सकते हैं जैसा कि मैंने आपके previous post में उल्लेख किया है।

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