मैंने अपने प्रोजेक्ट में एफसीएम जोड़ने के लिए firebase.google.com पर दिए गए निर्देशों का पालन किया।
सब ठीक था, मुझे संदेश मिला है "फायरबेसेज प्रारंभिक सफलता" और मेरे लॉग में ताजा टोकन। लेकिन यह काम नहीं कर रहा है ... केवल टोकन को भेजने वाली पहली पुश अधिसूचना मुझे सफलता मिलती है। दूसरा पुश और बाकी त्रुटि "NotRegistered" मिलता है।
प्रलेखन कहते हैंएफसीएम रिटर्न त्रुटि: पहले संदेश के बाद पंजीकृत नहीं
यदि यह NotRegistered है, तो आप अपने सर्वर डेटाबेस से पंजीकरण आईडी को दूर करना चाहिए, क्योंकि आवेदन डिवाइस से अनइंस्टॉल किया गया था, या ग्राहक अनुप्रयोग संदेश प्राप्त करने के लिए कॉन्फ़िगर नहीं है।
लेकिन आवेदन हटा दिया गया था नहीं और ग्राहक अनुप्रयोग संदेशों को प्राप्त करने क्योंकि पहला संदेश ग्राहक
जांचें कि 'ऑन टोकन रीफ्रेश()' विधि कहलाती है या नहीं। इसका मतलब है कि टोकन अपडेट किया गया है और आपको नए टोकन का उपयोग करना होगा। क्या आप अधिसूचना भेजने के लिए फायरबेस कंसोल का उपयोग कर रहे हैं? या आप अपने सर्वर कार्यान्वयन का उपयोग कर रहे हैं। – GeorgeLBA
जॉर्जएलबीए, मेरे मामले में टोकन रिफ्रेश को प्रोग्राम की पहली शुरुआत में या सभी ऐप्स डेटा की सफाई के बाद केवल एक बार बुलाया जाता है। मैं अपने सर्वर कार्यान्वयन का उपयोग कर रहा हूं –
निकिता, पहली अधिसूचना भेजने के बाद टोकन प्रिंट करने का प्रयास करें। बस यह सुनिश्चित करने के लिए कि टोकन बदल नहीं रहा है। 'FirebaseInstanceID.getToken()' का उपयोग करें और सत्यापित करें कि अधिसूचना भेजने के बाद टोकन समान है या नहीं। यदि यह शून्य है क्योंकि किसी कारण से टोकन हटा दिया गया था। – GeorgeLBA