Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Java Admin SDK v7 . में माइग्रेट करें

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

जावा के लिए फायरबेस एडमिन एसडीके का संस्करण 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();