Java এর জন্য Firebase Admin SDK-এর সংস্করণ 7.0.0 API-তে কিছু গুরুত্বপূর্ণ পরিবর্তন এনেছে। প্রাথমিকভাবে, এই রিলিজে API পরিবর্তনগুলি হল Authentication এবং FCM ত্রুটি পরিচালনার ক্ষেত্রে সংযোজন এবং উন্নতি।
সাধারণ ত্রুটি হ্যান্ডলিং পরিবর্তন
FirebaseException
বেস ক্লাস এখন বেশ কিছু নতুন বৈশিষ্ট্য প্রকাশ করে:
-
ErrorCode getErrorCode()
: ব্যতিক্রমের সাথে যুক্ত প্ল্যাটফর্ম ত্রুটি কোড প্রদান করে।FirebaseException
এর প্রতিটি উদাহরণে একটি নন-নাল প্ল্যাটফর্ম ত্রুটি কোড থাকার নিশ্চয়তা রয়েছে। সম্ভাব্য প্ল্যাটফর্ম ত্রুটি কোড একটি নতুন enum টাইপErrorCode
হিসাবে সংজ্ঞায়িত করা হয়। -
IncomingHttpResponse getHttpResponse()
: ব্যতিক্রমের সাথে যুক্ত HTTP প্রতিক্রিয়া প্রদান করে। ব্যাকএন্ড HTTP প্রতিক্রিয়া ব্যতীত অন্য কোনো কারণে ব্যতিক্রম হলে শূন্য হতে পারে।
আগের মতই, SDK-তে সংজ্ঞায়িত অন্যান্য ব্যতিক্রম প্রকারগুলি (উদাহরণস্বরূপ, FirebaseAuthException
, FirebaseMessagingException
) FirebaseException
বেস ক্লাস থেকে উদ্ভূত হয়েছে।
প্রমাণীকরণ ত্রুটি হ্যান্ডলিং পরিবর্তন
FirebaseAuth
ক্লাসের সমস্ত API FirebaseAuthException
এর উদাহরণ দিতে পারে। Async APIগুলি (উদাহরণস্বরূপ, পদ্ধতিগুলি যেগুলি একটি ApiFuture
ফেরত দেয়) একটি ExecutionException
এর সাথে ব্যর্থ হতে পারে যা একটি FirebaseAuthException
মোড়ানো হয়। Auth-নির্দিষ্ট ত্রুটি কোডগুলিকে নতুন enum প্রকার 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
মোড়ানো হয়। Authentication -নির্দিষ্ট ত্রুটি কোডগুলি নতুন enum টাইপ 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
ছাড়াও। আপনি ত্রুটি পরিচালনার যুক্তি প্রয়োগ করতে পারেন যা প্রয়োজনে উভয় ত্রুটি কোড পরিদর্শন করে।
Authentication কাস্টম দাবি
অপ্রচলিত FirebaseAuth.setCustomClaims()
পদ্ধতি সরানো হয়েছে। পরিবর্তে FirebaseAuth.setCustomUserClaims()
ব্যবহার করুন।
আগে (<= v6.15.0)
FirebaseAuth.getInstance().setCustomClaims(uid, claims);
এখন (>= v7.0.0)
FirebaseAuth.getInstance().setCustomUserClaims(uid, claims);
FCM বিজ্ঞপ্তি কনস্ট্রাক্টর
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();