जावा के लिए फायरबेस एडमिन एसडीके का संस्करण 7.0.0 एपीआई में कुछ महत्वपूर्ण बदलाव पेश करता है। मुख्य रूप से, इस रिलीज़ में एपीआई परिवर्तन प्रमाणीकरण एएमडी एफसीएम के लिए त्रुटि प्रबंधन में अतिरिक्त और सुधार हैं।
सामान्य त्रुटि प्रबंधन परिवर्तन
FirebaseException
बेस क्लास अब कई नई विशेषताओं को उजागर करता है:
-
ErrorCode getErrorCode()
: अपवाद से जुड़ा प्लेटफ़ॉर्म त्रुटि कोड लौटाता है।FirebaseException
के प्रत्येक उदाहरण में एक गैर-शून्य प्लेटफ़ॉर्म त्रुटि कोड होने की गारंटी है। संभावित प्लेटफ़ॉर्म त्रुटि कोड को एक नए एनम प्रकारErrorCode
के रूप में परिभाषित किया गया है। -
IncomingHttpResponse getHttpResponse()
: अपवाद से संबंधित HTTP प्रतिक्रिया लौटाता है। यदि अपवाद बैकएंड HTTP प्रतिक्रिया के अलावा किसी अन्य कारण से हुआ तो यह शून्य हो सकता है।
पहले की तरह, SDK में परिभाषित अधिकांश अन्य अपवाद प्रकार (उदाहरण के लिए, FirebaseAuthException
, FirebaseMessagingException
) FirebaseException
बेस क्लास से प्राप्त होते हैं।
प्रामाणिक त्रुटि प्रबंधन परिवर्तन
FirebaseAuth
वर्ग के सभी API FirebaseAuthException
के उदाहरण फेंक सकते हैं। Async API (उदाहरण के लिए, वे विधियाँ जो ApiFuture
लौटाती हैं) एक ExecutionException
के साथ विफल हो सकती हैं जो FirebaseAuthException
लपेटता है। प्रामाणिक-विशिष्ट त्रुटि कोड सार्वजनिक रूप से नए एनम प्रकार AuthErrorCode
में परिभाषित किए गए हैं।
पहले (<= v6.15.0)
try {
FirebaseAuth.getInstance().verifyIdToken(idToken, true);
} catch (FirebaseAuthException ex) {
if (ex.getErrorCode().equals("id-token-revoked")) {
System.err.println("ID token has been revoked");
} else {
System.err.println("ID token is invalid");
}
}
अब (>=v7.0.0)
try {
FirebaseAuth.getInstance().verifyIdToken(idToken, true);
} catch (FirebaseAuthException ex) {
if (ex.getAuthErrorCode() == AuthErrorCode.REVOKED_ID_TOKEN) {
System.err.println("ID token has been revoked");
} else {
System.err.println("ID token is invalid");
}
}
AuthErrorCode
आधार FirebaseException
प्रकार से प्राप्त ErrorCode
के अतिरिक्त है। आप त्रुटि प्रबंधन तर्क लागू कर सकते हैं जो यदि आवश्यक हो तो दोनों त्रुटि कोड का निरीक्षण करता है।
एफसीएम त्रुटि प्रबंधन परिवर्तन
FirebaseMessaging
क्लास के सभी एपीआई FirebaseMessagingException
के इंस्टेंसेस को फेंक सकते हैं। Async API (उदाहरण के लिए, वे विधियाँ जो ApiFuture
लौटाती हैं) एक ExecutionException
के साथ विफल हो सकती हैं जो FirebaseMessagingException
लपेटता है। प्रमाणीकरण-विशिष्ट त्रुटि कोड सार्वजनिक रूप से नए एनम प्रकार MessagingErrorCode
में परिभाषित किए गए हैं।
पहले (<= v6.15.0)
try {
FirebaseMessaging.getInstance().send(message);
} catch (FirebaseMessagingException ex) {
if (ex.getErrorCode().equals("registration-token-not-registered")) {
System.err.println("Device token has been unregistered");
} else {
System.err.println("Failed to send the notification");
}
}
अब (>=v7.0.0)
try {
FirebaseMessaging.getInstance().send(message);
} catch (FirebaseMessagingException ex) {
if (ex.getMessagingErrorCode() == MessagingErrorCode.UNREGISTERED) {
System.err.println("Device token has been unregistered");
} else {
System.err.println("Failed to send the notification");
}
}
MessagingErrorCode
आधार FirebaseException
प्रकार से प्राप्त ErrorCode
के अतिरिक्त है। आप त्रुटि प्रबंधन तर्क लागू कर सकते हैं जो यदि आवश्यक हो तो दोनों त्रुटि कोड का निरीक्षण करता है।
प्रमाणीकरण कस्टम दावे
अप्रचलित FirebaseAuth.setCustomClaims()
पद्धति को हटा दिया गया है। इसके बजाय FirebaseAuth.setCustomUserClaims()
का उपयोग करें।
पहले (<= v6.15.0)
FirebaseAuth.getInstance().setCustomClaims(uid, claims);
अब (>=v7.0.0)
FirebaseAuth.getInstance().setCustomUserClaims(uid, claims);
एफसीएम अधिसूचना निर्माता
Notification
वर्ग के बहिष्कृत कंस्ट्रक्टर हटा दिए गए हैं। नए उदाहरण बनाने के लिए Notification.Builder
वर्ग का उपयोग करें।
पहले (<= v6.15.0)
Notification notification = new Notification(title, body, url);
अब (>=v7.0.0)
Notification notification = Notification.builder()
.setTitle(title)
.setBody(body)
.setImage(url)
.build();