जावा के लिए फायरबेस एडमिन एसडीके का संस्करण 7.0.0 एपीआई में कुछ महत्वपूर्ण बदलाव पेश करता है। मुख्य रूप से, इस रिलीज़ में एपीआई परिवर्तन प्रमाणीकरण और FCM के लिए त्रुटि प्रबंधन में परिवर्धन और सुधार हैं।
सामान्य त्रुटि प्रबंधन परिवर्तन
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
के अतिरिक्त है। आप त्रुटि प्रबंधन तर्क लागू कर सकते हैं जो आवश्यक होने पर दोनों त्रुटि कोडों का निरीक्षण करता है।
FCM त्रुटि प्रबंधन परिवर्तन
FirebaseMessaging
वर्ग के सभी API 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();