2016-06-22 10 views
5

पुराने दस्तावेज़ों के अनुसार फ़ायरबेस फ़ायरबेस त्रुटि के रूप में प्रमाणीकरण त्रुटि प्रदान करता है जो इसमें कोड प्रदान करता है लेकिन नए फायरबेस 9.0.2 में यह केवल अपवाद होगा जिसे FirebaseAuthException में डाला जा सकता है और कोड प्राप्त हो रहा है लेकिन स्ट्रिंग है। अब मैं फायरबेस में सभी संभावित त्रुटियों को प्राप्त करना चाहता हूं। मैंने कोशिश की है लेकिन कोई समाधान नहीं मिला। आईओएस में हैंडल त्रुटि अनुभाग है और एंड्रॉइड में कोड (int) के साथ त्रुटि प्रदान करता है। कृपया मदद करे। अग्रिमफायरबेस 9.0.2 प्रमाणीकरण त्रुटि कोड

उत्तर

3

FirebaseAuth में हर संभव त्रुटियों हो रही के लिए में Thanx आप कुछ इस तरह कर सकते हैं:

private void handleAuthenticationException(@NonNull Exception exception) { 
    if (exception instanceof FirebaseAuthUserCollisionException) { 
     if (((FirebaseAuthUserCollisionException) exception).getErrorCode().equals("ERROR_ACCOUNT_EXISTS_WITH_DIFFERENT_CREDENTIAL")) { 
      //do something... 
     } 
    } 
    // Other relevant exceptions for you... 
} 

और इस तरह अपने OnFailureListener से इस विधि कॉल:

firebaseAuth.signInWithCredential(credential). 
    .addOnSuccessListener(/*Your code here!*/) 
    .addOnFailureListener(this, new OnFailureListener() { 
     @Override 
     public void onFailure(@NonNull Exception exception) { 
      handleAuthenticationException(exception); 
     } 
    ); 

की जांच करें FirebaseAuthException अधिक जानकारी के लिए प्रलेखन।

+0

हाँ मैंने इसे भी पसंद किया लेकिन इसका उपयोग करने के लिए कोई लचीला नहीं है। पुराने संस्करण और आईओएस में FirAuthError है जो कोड को पूर्णांक देता है। तो मैं इस तरह के समाधान की उम्मीद कर रहा था। जवाब देने के लिए वैसे भी धन्यवाद। –

1

आप गलत जगह पर किसी भी स्थान पर कोड का पालन करके त्रुटि को टोस्ट करने का प्रयास कर सकते हैं।

Toast.makeText(YourActivity.this, ((FirebaseAuthException) task.getException()).getMessage(), Toast.LENGTH_SHORT).show(); 
+0

बताएं कि यह कैसे काम करता है और यह सवाल का जवाब क्यों देता है। –

+0

धन्यवाद! मैं इस समाधान की तलाश में था :) –

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