भेजने के बाद अनियंत्रित टोकन त्रुटि फ़ायरबेस का उपयोग करते समय मुझे अपने एंड्रॉइड ऐप के साथ इस नाटकीय समस्या का सामना करना पड़ रहा है। 1. मेरा ऐप पहले लॉन्च पर टोकन प्राप्त करता है 2. मैं फायरबेस कंसोल से पंजीकृत टोकन पर अधिसूचना भेज सकता हूं 3. यदि मैं चरण 2 के बाद कंसोल के साथ एक अधिसूचना दोबारा भेजने की कोशिश करता हूं तो यह मुझे " अनियंत्रित टोकन "बाद में दूसरे प्रयास के बाद।एक अधिसूचना
मेरे पास पहले से मौजूद सभी आवश्यक कॉन्फ़िगरेशन हैं और google service.json फ़ाइल भी सही कॉन्फ़िगरेशन के साथ है। मेरा मानना है कि चीजें सही हैं क्योंकि ऐप एक बार अधिसूचना प्राप्त करने में सक्षम है और समस्या उसके बाद ही शुरू हो रही है।
अद्यतन 1: यदि मैं ऐप को अनइंस्टॉल करता हूं और इसे पुनर्स्थापित करता हूं तो भी मैं केवल एक बार अधिसूचना प्राप्त करने में सक्षम हूं।
जो लोग कोड को देखने के लिए चाहता है, यह कैसे मैं टोकन हो रही है:
@Override
public void onTokenRefresh() {
//Getting registration token
refreshedToken = FirebaseInstanceId.getInstance().getToken();
//Displaying token on logcat
Log.d(TAG, "Refreshed token: " + refreshedToken);
saveDeviceToken(refreshedToken);
}
यह कॉल केवल पहले लॉन्च हो जाता है और उसके बाद, मैं इसे कहा जाता हो रही है नहीं देखा है (जो मुझे लगता है व्यवहार की उम्मीद है)।
OnMessage भी प्राप्त पहले अधिसूचना पर बुलाया जाता है और फिर इसे वापस ले लिया हो जाता है कभी नहीं:
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.d("FCM", "From: " + remoteMessage.getFrom());
if (remoteMessage.getNotification() != null) {
Log.d("FCM", "Notification Message Body: " + remoteMessage.getNotification().getBody());
sendNotification(remoteMessage.getNotification().getBody());
}
}
अद्यतन 2: एक ही सर्वर कुंजी और टोकन का उपयोग FCM के HTTP एपीआई हिट करने के लिए कोशिश की और निम्नलिखित प्रतिक्रिया मिली :
{
"multicast_id": 6286279702096230688,
"success": 0,
"failure": 1,
"canonical_ids": 0,
"results": [
{
"error": "NotRegistered"
}
]
}
बस पार सवालों से बचने के लिए यहां कुछ और विवरण हैं:
- एंड्रॉयड स्टूडियो: v2.3.1
- Google Play सेवा संस्करण: 10.0.1
- पुस्तकालय में शामिल हैं: कोर, डेटाबेस, भंडारण, संदेश - गूगल के रूप में सभी चल रहा है एक ही संस्करण खेलने सेवा 10.0.1
अद्यतन 3: फायरबेस क्रैश, डेटाबेस और स्टोरेज एक ही प्रोजेक्ट में काम कर रहा है (जो दिखाता है कि google service.json फ़ाइल सही है)।
कृपया इसे ठीक करने में मेरी सहायता करें। जब
परीक्षण करते समय, क्या आपने पहले ऐप को अनइंस्टॉल करने और पुनः इंस्टॉल करने का प्रयास किया है? –
हां! मैंने कोशिश की मैंने कैशों का पुनर्निर्माण करने, पैकेजों और जेसन फ़ाइल के पूर्ण परिवर्तन की भी कोशिश की। –
मैं आपको सुझाव देता हूं कि ** ** Google Play सेवाओं और फ़ायरबेस को नवीनतम 10.2.4 ** अपडेट करें। फायरबेस अभी भी अपने बीटा चरणों में है और इसके कई कार्यों को तोड़ने और उदाहरण के लिए अद्यतनों में तय हो जाता है, उदाहरण के लिए फ़ायरबेस 10.0.x से 10.2.x तक उपयोगकर्ता नाम/फोटो का परिवर्तन खराब था और बिना किसी वास्तविक समय में दिखाई नहीं दे रहा था -लॉग इन करें। फायरबेस को कई बार संपर्क करने के बाद अब तय किया गया है। इसके अलावा ** onMessageReceived() ** को कॉल किया जाता है जब आपका ऐप पृष्ठभूमि में चल रहा है। यदि आपका ऐप रुक गया है तो अधिसूचना को डिफ़ॉल्ट सिस्टम अधिसूचना द्वारा नियंत्रित किया जाता है। – Nihal