मैं एंड्रॉइड पर Firebase
और Firebase Auth
फ़ंक्शंस का उपयोग करता हूं।एंड्रॉइड पर फायरबेस: फायरबेस एथ को कैसे जांचें विफल कारण?
मैं FirebaseAuth.signInWithEmailAndPassword
आज़माता हूं और यदि यह विफल रहता है तो मैं जानना चाहता हूं कि "साइनइन प्रक्रिया क्यों विफल हुई?"
signInWithEmailAndPassword
विधि addOnFailureListener
API है। और मैं (शायद FirebaseAuthException
) onFailure
कॉलबैक विधि में पकड़ सकता हूं।
auth.signInWithEmailAndPassword(loginRequest.id, loginRequest.password)
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
if (e instanceof FirebaseAuthException) {
((FirebaseAuthException) e).getErrorCode());
}
}
});
मैं जानना चाहता हूं कि साइनइन प्रक्रिया क्यों विफल रही। onFailure
में।
मुझे लगता है कि इस प्रकार के रूप में यह किया जा सकता है:
e
उदाहरण प्रकार की जांच (ङ instanceofFirebaseAuthInvalidUserException
याFirebaseAuthInvalidCredentialsException
या ,,,)e.getErrorCode()
मैं टाइप करने के लिए नहीं करना चाहते हैं चेक (यह गंदा है)।
मैं पसंद 2 में पसंद पसंद करते हैं। लेकिन मुझे e.getErrorCode()
वापसी मूल्य संग्रह की परिभाषा नहीं मिली। , उदा, ERROR_INVALID_EMAIL
, ERROR_ACCOUNT_EXISTS_WITH_DIFFERENT_CREDENTIAL
, आदि (वे कहाँ परिभाषित कर रहे हैं?)
कृपया मुझे बताओ जो Firebase auth failed
के लिए कारण की जाँच करने के लिए सबसे अच्छा तरीका है।
धन्यवाद।
क्या उन त्रुटि कोडों के लिए कोई सार्वजनिक स्थिर स्ट्रिंग स्थिरांक उपलब्ध है? (उदाहरण के लिए FirebaseAuthUserCollisionException.ERROR_EMAIL_ALREADY_IN_USE) – shaunkawano
मुझे ऐसा नहीं लगता है। उचित कार्यान्वयन @ लांसलोट के जवाब में है। और आपका पहला विकल्प। प्रत्येक अपवाद को अलग-अलग संभालने के लिए यह गंदे और बेहतर नहीं है। यहां तक कि यदि आप दूसरा चुनते हैं तो आप प्रत्येक मामले को संभालने वाले हैं। यह कोड की एक ही राशि लगता है। – uguboz
आपकी जानकारी के लिए धन्यवाद, हालांकि मुझे लगता है कि स्ट्रिंग निरंतर मूल्य घोषित करना आपके द्वारा टाइपिंग स्ट्रिंग मान की तुलना में अधिक सुरक्षित और आसान है, क्योंकि ऑटो पूर्ण होने पर आपके पूर्ण समय को बचाया जाएगा, और यदि आपको लिखने की आवश्यकता है तो गलत टाइपिंग हो सकती है अपने आप से तार। – shaunkawano