2017-03-01 8 views
11

मुझे अनियंत्रित पंजीकरण टोकन मिला है, मुझे भी यकीन है कि मेरा टोकन सही है और मैं इसे अपने लॉग में देखता हूं, मैं मास्टर टोकन FirebaseInstanceId.Instance.Token का उपयोग कर रहा हूं। मैं भी OnTokenRefresh विधि इसीफायरबेस में अनियंत्रित पंजीकरण टोकन

public override void OnTokenRefresh() 
     { 
      var refreshedToken = FirebaseInstanceId.Instance.Token; 
      Log.Debug(TAG, "Refreshed token: " + refreshedToken); 
      SendRegistrationToServer(refreshedToken); 
     } 

जाँच लेकिन जब मैं Firebase कंसोल में करने की कोशिश की यह मुझे इस त्रुटि संदेश देता है, जब मैं करने की कोशिश की

private void ConfigureFireBase() 
     { 

      Task.Run(() => { 
       var instanceId = FirebaseInstanceId.Instance; 
       Android.Util.Log.Debug("TAG", "{0} {1}", instanceId?.Token?.ToString(), instanceId.GetToken(GetString(Resource.String.gcm_defaultSenderId), Firebase.Messaging.FirebaseMessaging.InstanceIdScope)); 

      }); 

     } 

:

यहाँ मेरी विधि है http://pushtry.com/ उसी टोकन के साथ मुझे नहीं मिला संदेश

नोट जब मैं ऐप को अनइंस्टॉल करता हूं और टोकन को फिर से स्थापित करता हूं, लेकिन मुझे यह त्रुटि संदेश मिलने के बाद।

+0

हाय। क्षमा करें, लेकिन क्या आप इस भाग को पैराफ्रेश कर सकते हैं "* लेकिन जब मैंने फायरबेस कंसोल में कोशिश की तो यह मुझे यह त्रुटि संदेश देता है, जब मैंने उसी टोकन के साथ http://pushtry.com/ में कोशिश की तो मुझे रिकॉर्ड नहीं किया गया संदेश *"। यह थोड़ा उलझन में है। क्या आपका मतलब है कि यह फायरबेस कंसोल पर काम करता है, लेकिन pushtry.com या इसके विपरीत उपयोग करते समय नहीं? –

+1

कोई भी दोनों में काम नहीं करता है, लेकिन मैं दोनों तरफ से संदेश प्रदर्शित करता हूं, फायरबेस कंसोल में यह कहता है कि अनियंत्रित पंजीकरण टोकन, यहां तक ​​कि यह टोकन मुझे ऑनटोकन रीफ्रेश विधि से मिला है, इसलिए इसे एक –

+0

रीफ्रेश किया जाना चाहिए, यह मेरे साथ है। मैं ज़ैमरिन का भी उपयोग कर रहा हूं। क्या आपने इस मुद्दे को हल करने में कामयाब रहे हैं? –

उत्तर

6

कारण है कि इस मुद्दे को उस टोकन कारण निकाल दिया अपंजीकृत

The registration token may change when: 

The app deletes Instance ID 
The app is restored on a new device 
The user uninstalls/reinstall the app 
The user clears app data. 

Reference

है और इस डिबग मोड में होता केवल इसलिए न रिलीज़ मोड में चिंता हर चीज ठीक हो जाएगा।

आप इस मुद्दे को कैसे ठीक कर सकते हैं?

अपनी आसान सिर्फ टोकन कॉल आपके लैंडिंग गतिविधि (MainActivity, लॉग इन) में इस विधि को ताज़ा करने के लिए मजबूर, इस विधि बल firebase कॉल करने के लिए OnTokenRefresh()

private void ConfigureFireBase() 
     { 

#if DEBUG 

      Task.Run(() => 
      { 
       var instanceId = FirebaseInstanceId.Instance; 
       instanceId.DeleteInstanceId(); 
       Android.Util.Log.Debug("TAG", "{0} {1}", instanceId?.Token?.ToString(), instanceId.GetToken(GetString(Resource.String.gcm_defaultSenderId), Firebase.Messaging.FirebaseMessaging.InstanceIdScope)); 

      }); 

      // For debug mode only - will accept the HTTPS certificate of Test/Dev server, as the HTTPS certificate is invalid /not trusted 
      ServicePointManager.ServerCertificateValidationCallback += (o, certificate, chain, errors) => true; 


#endif 
     } 

आशा इस मदद किसी भी एक चेहरा एक ही मुद्दा

+0

देखें, ऐसा लगता है कि 'DeleteInstanceId()' को कॉल करने के लिए 'फायरबेस इंस्टेंस आईडी। इंस्टेंस टोकन' को कम अवधि के लिए 'शून्य' वापस करने का कारण होगा, लेकिन यह होगा 'FirebaseInstanceIdService' के लिए 'OnTokenRefresh()' को भी ट्रिगर करें जो तब नए पंजीकृत टोकन के साथ' FirebaseInstanceId.Instance.Token' को पॉप्युलेट करेगा। मेरे लिए 'FirebaseInstanceId.Instance.GetToken (...)' पर कॉल अप्रासंगिक था और केवल 'अनधिकृत टोकन वापस लौटाएगा,' फायरबेस इंस्टेंस आईडी। इंस्टेंस टोकन 'से अलग (फ़ायरबेस v42.1021.1 का उपयोग करके)। – tie

0

मेरे मामले में मैंने एमुलेटर का उपयोग किया था और फ़ायरवॉल इसे अवरुद्ध कर रहा था। मैंने अपने मोबाइल का इस्तेमाल किया, डेवलपर विकल्पों को सक्षम किया और यह काम किया।

उम्मीद है कि इससे मदद मिलती है।

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