Однако, когда я путешествую, я использую свой ноутбук с Windows, и у меня возникают странные ощущения. ошибки от Firebase, и моему приложению, похоже, не нравится Firebase. Я использую Firebase Remote Config и Firebase Cloud Messaging.
При запуске приложения Android на ноутбуке с Windows и попытке получить токен FCM я получаю следующую ошибку:
Код: Выделить всё
E/FirebaseInstanceId( 4181): Failed to get FIS auth token
E/FirebaseInstanceId( 4181): java.util.concurrent.ExecutionException: com.google.firebase.installations.FirebaseInstallationsException: Firebase Installations Service is unavailable. Please try again later.
E/FirebaseInstanceId( 4181): at com.google.android.gms.tasks.Tasks.zza(com.google.android.gms:play-services-tasks@@18.0.2:5)
E/FirebaseInstanceId( 4181): at com.google.android.gms.tasks.Tasks.await(com.google.android.gms:play-services-tasks@@18.0.2:8)
E/FirebaseInstanceId( 4181): at com.google.firebase.iid.GmsRpc.setDefaultAttributesToBundle(com.google.firebase:firebase-iid@@21.1.0:11)
E/FirebaseInstanceId( 4181): at com.google.firebase.iid.GmsRpc.startRpc(com.google.firebase:firebase-iid@@21.1.0:1)
E/FirebaseInstanceId( 4181): at com.google.firebase.iid.GmsRpc.getToken(com.google.firebase:firebase-iid@@21.1.0:1)
E/FirebaseInstanceId( 4181): at com.google.firebase.iid.FirebaseInstanceId.lambda$getInstanceId$2$FirebaseInstanceId(com.google.firebase:firebase-iid@@21.1.0:1)
E/FirebaseInstanceId( 4181): at com.google.firebase.iid.FirebaseInstanceId$$Lambda$3.start(Unknown Source:10)
E/FirebaseInstanceId( 4181): at com.google.firebase.iid.RequestDeduplicator.getOrStartGetTokenRequest(com.google.firebase:firebase-iid@@21.1.0:7)
E/FirebaseInstanceId( 4181): at com.google.firebase.iid.FirebaseInstanceId.lambda$getInstanceId$3$FirebaseInstanceId(com.google.firebase:firebase-iid@@21.1.0:5)
E/FirebaseInstanceId( 4181): at com.google.firebase.iid.FirebaseInstanceId$$Lambda$0.then(Unknown Source:6)
E/FirebaseInstanceId( 4181): at com.google.android.gms.tasks.zze.run(com.google.android.gms:play-services-tasks@@18.0.2:1)
E/FirebaseInstanceId( 4181): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
E/FirebaseInstanceId( 4181): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
E/FirebaseInstanceId( 4181): at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@18.2.0:2)
E/FirebaseInstanceId( 4181): at java.lang.Thread.run(Thread.java:1012)
E/FirebaseInstanceId( 4181): Caused by: com.google.firebase.installations.FirebaseInstallationsException: Firebase Installations Service is unavailable. Please try again later.
E/FirebaseInstanceId( 4181): at com.google.firebase.installations.remote.FirebaseInstallationServiceClient.createFirebaseInstallation(FirebaseInstallationServiceClient.java:153)
E/FirebaseInstanceId( 4181): at com.google.firebase.installations.FirebaseInstallations.registerFidWithServer(FirebaseInstallations.java:533)
E/FirebaseInstanceId( 4181): at com.google.firebase.installations.FirebaseInstallations.doNetworkCallIfNecessary(FirebaseInstallations.java:387)
E/FirebaseInstanceId( 4181): at com.google.firebase.installations.FirebaseInstallations.lambda$doRegistrationOrRefresh$3$com-google-firebase-installations-FirebaseInstallations(FirebaseInstallations.java:372)
E/FirebaseInstanceId( 4181): at com.google.firebase.installations.FirebaseInstallations$$ExternalSyntheticLambda0.run(Unknown Source:4)
E/FirebaseInstanceId( 4181): at com.google.firebase.concurrent.SequentialExecutor$1.run(SequentialExecutor.java:117)
E/FirebaseInstanceId( 4181): at com.google.firebase.concurrent.SequentialExecutor$QueueWorker.workOnQueue(SequentialExecutor.java:229)
E/FirebaseInstanceId( 4181): at com.google.firebase.concurrent.SequentialExecutor$QueueWorker.run(SequentialExecutor.java:174)
E/FirebaseInstanceId( 4181): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
E/FirebaseInstanceId( 4181): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
E/FirebaseInstanceId( 4181): at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
E/FirebaseInstanceId( 4181): at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
Код: Выделить всё
E/flutter ( 4181): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: [firebase_remote_config/internal] internal remote config fetch error
E/flutter ( 4181): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:651:7)
E/flutter ( 4181): #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:334:18)
E/flutter ( 4181):
E/flutter ( 4181): #2 MethodChannelFirebaseRemoteConfig.fetchAndActivate (package:firebase_remote_config_platform_interface/src/method_channel/method_channel_firebase_remote_config.dart:150:29)
E/flutter ( 4181):
E/flutter ( 4181): #3 FirebaseRemoteConfig.fetchAndActivate (package:firebase_remote_config/src/firebase_remote_config.dart:89:26)
E/flutter ( 4181):
E/flutter ( 4181): #4 BootService.initFirebase (package:myapp_app/services/boot_service.dart:32:5)
E/flutter ( 4181):
E/flutter ( 4181): #5 main (package:myapp_app/main.dart:16:3)
E/flutter ( 4181):
Код: Выделить всё
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: [firebase_remote_config/internal] Failed to get installations token. Error : Error Domain=com.firebase.installations Code=2 "Too many server requests." UserInfo={NSLocalizedFailureReason=Too many server requests.}.
Это мой main.dart:
Код: Выделить всё
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await BootService.initFirebase();
...
...
...
runApp(...)
}
Код: Выделить всё
class BootService {
static initFirebase() async {
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
/// Remote Config
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(hours: 1),
));
await remoteConfig.setDefaults(ConfigFirebaseRemote.keyValuePairs);
await remoteConfig.fetchAndActivate();
}
...
...
...
}
Вдохновленный этим ответом стека, я также проверил, работает ли моя конфигурация со следующим CURL команда. И да, это работает. Я не получаю никаких ошибок. Он успешно проходит аутентификацию.
Код: Выделить всё
api_key=
project_identifier=
app_id=
curl -H "content-type: application/json" -d "{appId: '$app_id', sdkVersion: 't:1'}" https://firebaseinstallations.googleapis.com/v1/projects/$project_identifier/installations/?key=$api_key
Код: Выделить всё
environment:
sdk: '>=3.3.1
Подробнее здесь: [url]https://stackoverflow.com/questions/78179781/flutter-firebase-does-work-on-my-main-setup-but-not-on-my-second-although-its-th[/url]
Мобильная версия