I try initialize Firebase Messaging and get token, but I receive this error
Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
print('on Background Message : ${message.data}');
}
class MyHttpOverrides extends HttpOverrides {
@override
HttpClient createHttpClient(SecurityContext context) {
return super.createHttpClient(context)..badCertificateCallback = (X509Certificate cert, String host, int port) => true;
}
}
final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
await GlobalConfiguration().loadFromAsset("configurations");
NotificationSettings settings = await FirebaseMessaging.instance.requestPermission(
alert: true,
announcement: false,
badge: true,
carPlay: false,
criticalAlert: false,
provisional: false,
sound: true,
);
await FirebaseMessaging.instance.setForegroundNotificationPresentationOptions(
alert: true,
badge: true,
sound: true,
);
if (settings.authorizationStatus == AuthorizationStatus.authorized) {
print('User granted permission');
} else if (settings.authorizationStatus == AuthorizationStatus.provisional) {
print('User granted provisional permission');
} else {
print('User declined or has not accepted permission');
}
try{
await FirebaseMessaging.instance.getToken();
FirebaseMessaging.instance.getInitialMessage();
if(GetPlatform.isMobile){
FirebaseMessaging.instance.subscribeToTopic('suitableUser');
}else{
}
FirebaseMessaging.onMessage.listen((event) {
}).onError((error){
print('error');
});
FirebaseMessaging.onMessageOpenedApp.listen((event) {
print('success : ${event.data}');
}).onError((error){
print('error');
});
FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
}catch(e){
print('555555 FirebaseMessaging ::: $e');
}
HttpOverrides.global = new MyHttpOverrides();
runApp(MyApp());
}
I have tried many methods such as deleting the build file, downloading Json file from firebase again, and creating another API, but i get this error in run
E/FirebaseInstanceId(13464): Failed to get FIS auth token
E/FirebaseInstanceId(13464): Caused by: com.google.firebase.installations.FirebaseInstallationsException: Firebase Installations Service is unavailable. Please try again later.
E/FirebaseInstanceId(13464): at com.google.firebase.installations.remote.FirebaseInstallationServiceClient.createFirebaseInstallation(FirebaseInstallationServiceClient.java:153)
E/FirebaseInstanceId(13464): at com.google.firebase.installations.FirebaseInstallations.registerFidWithServer(FirebaseInstallations.java:530)
E/FirebaseInstanceId(13464): at com.google.firebase.installations.FirebaseInstallations.doNetworkCallIfNecessary(FirebaseInstallations.java:385)
E/FirebaseInstanceId(13464): at com.google.firebase.installations.FirebaseInstallations.lambda$doRegistrationOrRefresh$2$FirebaseInstallations(FirebaseInstallations.java:374)
E/FirebaseInstanceId(13464): at com.google.firebase.installations.-$$Lambda$FirebaseInstallations$VZq1h0TBcWNH8Y5yY86ujrFFyLo.run(Unknown Source:4)
E/FirebaseInstanceId(13464): at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187)
E/FirebaseInstanceId(13464): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
E/FirebaseInstanceId(13464): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/FirebaseInstanceId(13464): ... 1 more
E/FirebaseInstanceId(13464): Topic sync or token retrieval failed on hard failure exceptions: FIS_AUTH_ERROR. Won't retry the operation.
I/flutter (13464): 555555 FirebaseMessaging ::: [firebase_messaging/unknown] java.io.IOException: FIS_AUTH_ERROR
Note: I use this code in another application and it works efficiently without any error