android - 在 Flutter Android 上获取 FIS 身份验证令牌失败
问题描述
我今天遇到了一个问题。两三天前,我在我的 Flutter App 中集成了 FCM。有一些缺乏实现,但我不在乎,因为我的编码阶段的 FCM 部分还没有到来。但是今天,在开始编码之前,我通常会运行flutter run
这些是日志。
W/ConnectionTracker(17017): java.lang.IllegalArgumentException: Service not registered: com.google.android.gms.measurement.internal.zzja@e8966f2
W/ConnectionTracker(17017): at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:1832)
W/ConnectionTracker(17017): at android.app.ContextImpl.unbindService(ContextImpl.java:1880)
W/ConnectionTracker(17017): at android.content.ContextWrapper.unbindService(ContextWrapper.java:741)
W/ConnectionTracker(17017): at com.google.android.gms.common.stats.ConnectionTracker.zza(com.google.android.gms:play-services-basement@@17.3.0:55)
W/ConnectionTracker(17017): at com.google.android.gms.common.stats.ConnectionTracker.unbindService(com.google.android.gms:play-services-basement@@17.3.0:50)
W/ConnectionTracker(17017): at com.google.android.gms.measurement.internal.zzjb.zzF(com.google.android.gms:play-services-measurement-impl@@18.0.2:6)
W/ConnectionTracker(17017): at com.google.android.gms.measurement.internal.zzil.zza(com.google.android.gms:play-services-measurement-impl@@18.0.2:5)
W/ConnectionTracker(17017): at com.google.android.gms.measurement.internal.zzak.run(com.google.android.gms:play-services-measurement-impl@@18.0.2:5)
W/ConnectionTracker(17017): at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
W/ConnectionTracker(17017): at java.util.concurrent.FutureTask.run(FutureTask.java:266)
W/ConnectionTracker(17017): at com.google.android.gms.measurement.internal.zzfh.run(com.google.android.gms:play-services-measurement-impl@@18.0.2:6)
E/FirebaseInstanceId(17017): Failed to get FIS auth token
E/FirebaseInstanceId(17017): java.util.concurrent.ExecutionException: com.google.firebase.installations.FirebaseInstallationsException: Firebase Installations Service is unavailable. Please try again later.
E/FirebaseInstanceId(17017): at com.google.android.gms.tasks.Tasks.zza(com.google.android.gms:play-services-tasks@@17.1.0:69)
E/FirebaseInstanceId(17017): at com.google.android.gms.tasks.Tasks.await(com.google.android.gms:play-services-tasks@@17.1.0:23)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.GmsRpc.setDefaultAttributesToBundle(com.google.firebase:firebase-iid@@21.0.1:11)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.GmsRpc.startRpc(com.google.firebase:firebase-iid@@21.0.1:1)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.GmsRpc.getToken(com.google.firebase:firebase-iid@@21.0.1:1)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.FirebaseInstanceId.lambda$getInstanceId$1$FirebaseInstanceId(Unknown Source:2)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.FirebaseInstanceId$$Lambda$3.start(Unknown Source:8)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.RequestDeduplicator.getOrStartGetTokenRequest(com.google.firebase:firebase-iid@@21.0.1:7)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.FirebaseInstanceId.lambda$getInstanceId$2$FirebaseInstanceId(Unknown Source:33)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.FirebaseInstanceId$$Lambda$0.then(Unknown Source:6)
E/FirebaseInstanceId(17017): at com.google.android.gms.tasks.zzf.run(com.google.android.gms:play-services-tasks@@17.1.0:2)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/FirebaseInstanceId(17017): at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@17.3.0:6)
E/FirebaseInstanceId(17017): at java.lang.Thread.run(Thread.java:929)
E/FirebaseInstanceId(17017): Caused by: com.google.firebase.installations.FirebaseInstallationsException: Firebase Installations Service is unavailable. Please try again later.
E/FirebaseInstanceId(17017): at com.google.firebase.installations.remote.FirebaseInstallationServiceClient.createFirebaseInstallation(FirebaseInstallationServiceClient.java:200)
E/FirebaseInstanceId(17017): at com.google.firebase.installations.FirebaseInstallations.registerFidWithServer(FirebaseInstallations.java:533)
E/FirebaseInstanceId(17017): at com.google.firebase.installations.FirebaseInstallations.doNetworkCallIfNecessary(FirebaseInstallations.java:388)
E/FirebaseInstanceId(17017): at com.google.firebase.installations.FirebaseInstallations.lambda$doRegistrationOrRefresh$2(FirebaseInstallations.java:377)
E/FirebaseInstanceId(17017): at com.google.firebase.installations.FirebaseInstallations$$Lambda$4.run(Unknown Source:4)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/FirebaseInstanceId(17017): ... 1 more
W/FirebaseInstanceId(17017): Token retrieval failed: SERVICE_NOT_AVAILABLE. Will retry token retrieval
E/FirebaseInstanceId(17017): Failed to get FIS auth token
E/FirebaseInstanceId(17017): java.util.concurrent.ExecutionException: com.google.firebase.installations.FirebaseInstallationsException: Firebase Installations Service is unavailable. Please try again later.
E/FirebaseInstanceId(17017): at com.google.android.gms.tasks.Tasks.zza(com.google.android.gms:play-services-tasks@@17.1.0:69)
E/FirebaseInstanceId(17017): at com.google.android.gms.tasks.Tasks.await(com.google.android.gms:play-services-tasks@@17.1.0:23)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.GmsRpc.setDefaultAttributesToBundle(com.google.firebase:firebase-iid@@21.0.1:11)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.GmsRpc.startRpc(com.google.firebase:firebase-iid@@21.0.1:1)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.GmsRpc.getToken(com.google.firebase:firebase-iid@@21.0.1:1)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.FirebaseInstanceId.lambda$getInstanceId$1$FirebaseInstanceId(Unknown Source:2)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.FirebaseInstanceId$$Lambda$3.start(Unknown Source:8)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.RequestDeduplicator.getOrStartGetTokenRequest(com.google.firebase:firebase-iid@@21.0.1:7)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.FirebaseInstanceId.lambda$getInstanceId$2$FirebaseInstanceId(Unknown Source:33)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.FirebaseInstanceId$$Lambda$0.then(Unknown Source:6)
E/FirebaseInstanceId(17017): at com.google.android.gms.tasks.zzf.run(com.google.android.gms:play-services-tasks@@17.1.0:2)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/FirebaseInstanceId(17017): at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@17.3.0:6)
E/FirebaseInstanceId(17017): at java.lang.Thread.run(Thread.java:929)
E/FirebaseInstanceId(17017): Caused by: com.google.firebase.installations.FirebaseInstallationsException: Firebase Installations Service is unavailable. Please try again later.
E/FirebaseInstanceId(17017): at com.google.firebase.installations.remote.FirebaseInstallationServiceClient.createFirebaseInstallation(FirebaseInstallationServiceClient.java:200)
E/FirebaseInstanceId(17017): at com.google.firebase.installations.FirebaseInstallations.registerFidWithServer(FirebaseInstallations.java:533)
E/FirebaseInstanceId(17017): at com.google.firebase.installations.FirebaseInstallations.doNetworkCallIfNecessary(FirebaseInstallations.java:388)
E/FirebaseInstanceId(17017): at com.google.firebase.installations.FirebaseInstallations.lambda$doRegistrationOrRefresh$2(FirebaseInstallations.java:377)
E/FirebaseInstanceId(17017): at com.google.firebase.installations.FirebaseInstallations$$Lambda$4.run(Unknown Source:4)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/FirebaseInstanceId(17017): ... 1 more
W/FirebaseInstanceId(17017): Token retrieval failed: SERVICE_NOT_AVAILABLE. Will retry token retrieval
E/FirebaseInstanceId(17017): Failed to get FIS auth token
E/FirebaseInstanceId(17017): java.util.concurrent.ExecutionException: com.google.firebase.installations.FirebaseInstallationsException: Firebase Installations Service is unavailable. Please try again later.
E/FirebaseInstanceId(17017): at com.google.android.gms.tasks.Tasks.zza(com.google.android.gms:play-services-tasks@@17.1.0:69)
E/FirebaseInstanceId(17017): at com.google.android.gms.tasks.Tasks.await(com.google.android.gms:play-services-tasks@@17.1.0:23)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.GmsRpc.setDefaultAttributesToBundle(com.google.firebase:firebase-iid@@21.0.1:11)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.GmsRpc.startRpc(com.google.firebase:firebase-iid@@21.0.1:1)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.GmsRpc.getToken(com.google.firebase:firebase-iid@@21.0.1:1)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.FirebaseInstanceId.lambda$getInstanceId$1$FirebaseInstanceId(Unknown Source:2)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.FirebaseInstanceId$$Lambda$3.start(Unknown Source:8)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.RequestDeduplicator.getOrStartGetTokenRequest(com.google.firebase:firebase-iid@@21.0.1:7)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.FirebaseInstanceId.lambda$getInstanceId$2$FirebaseInstanceId(Unknown Source:33)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.FirebaseInstanceId$$Lambda$0.then(Unknown Source:6)
E/FirebaseInstanceId(17017): at com.google.android.gms.tasks.zzf.run(com.google.android.gms:play-services-tasks@@17.1.0:2)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/FirebaseInstanceId(17017): at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@17.3.0:6)
E/FirebaseInstanceId(17017): at java.lang.Thread.run(Thread.java:929)
E/FirebaseInstanceId(17017): Caused by: com.google.firebase.installations.FirebaseInstallationsException: Firebase Installations Service is unavailable. Please try again later.
E/FirebaseInstanceId(17017): at com.google.firebase.installations.remote.FirebaseInstallationServiceClient.createFirebaseInstallation(FirebaseInstallationServiceClient.java:200)
E/FirebaseInstanceId(17017): at com.google.firebase.installations.FirebaseInstallations.registerFidWithServer(FirebaseInstallations.java:533)
E/FirebaseInstanceId(17017): at com.google.firebase.installations.FirebaseInstallations.doNetworkCallIfNecessary(FirebaseInstallations.java:388)
E/FirebaseInstanceId(17017): at com.google.firebase.installations.FirebaseInstallations.lambda$doRegistrationOrRefresh$2(FirebaseInstallations.java:377)
E/FirebaseInstanceId(17017): at com.google.firebase.installations.FirebaseInstallations$$Lambda$4.run(Unknown Source:4)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/FirebaseInstanceId(17017): ... 1 more
W/FirebaseInstanceId(17017): Token retrieval failed: SERVICE_NOT_AVAILABLE. Will retry token retrieval
W/Settings(17017): Setting device_provisioned has moved from android.provider.Settings.Secure to android.provider.Settings.Global.
V/HiTouch_HiTouchSensor(17017): User setup is finished.
W/HiTouch_PressGestureDetector(17017): Touch pointer move a lot. The moving distance of X is:5.0, limit is:60The moving distance of Y is:64.0, limit is:60
E/FirebaseInstanceId(17017): Failed to get FIS auth token
E/FirebaseInstanceId(17017): java.util.concurrent.ExecutionException: com.google.firebase.installations.FirebaseInstallationsException: Firebase Installations Service is unavailable. Please try again later.
E/FirebaseInstanceId(17017): at com.google.android.gms.tasks.Tasks.zza(com.google.android.gms:play-services-tasks@@17.1.0:69)
E/FirebaseInstanceId(17017): at com.google.android.gms.tasks.Tasks.await(com.google.android.gms:play-services-tasks@@17.1.0:23)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.GmsRpc.setDefaultAttributesToBundle(com.google.firebase:firebase-iid@@21.0.1:11)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.GmsRpc.startRpc(com.google.firebase:firebase-iid@@21.0.1:1)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.GmsRpc.getToken(com.google.firebase:firebase-iid@@21.0.1:1)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.FirebaseInstanceId.lambda$getInstanceId$1$FirebaseInstanceId(Unknown Source:2)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.FirebaseInstanceId$$Lambda$3.start(Unknown Source:8)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.RequestDeduplicator.getOrStartGetTokenRequest(com.google.firebase:firebase-iid@@21.0.1:7)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.FirebaseInstanceId.lambda$getInstanceId$2$FirebaseInstanceId(Unknown Source:33)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.FirebaseInstanceId$$Lambda$0.then(Unknown Source:6)
E/FirebaseInstanceId(17017): at com.google.android.gms.tasks.zzf.run(com.google.android.gms:play-services-tasks@@17.1.0:2)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/FirebaseInstanceId(17017): at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@17.3.0:6)
E/FirebaseInstanceId(17017): at java.lang.Thread.run(Thread.java:929)
E/FirebaseInstanceId(17017): Caused by: com.google.firebase.installations.FirebaseInstallationsException: Firebase Installations Service is unavailable. Please try again later.
E/FirebaseInstanceId(17017): at com.google.firebase.installations.remote.FirebaseInstallationServiceClient.createFirebaseInstallation(FirebaseInstallationServiceClient.java:200)
E/FirebaseInstanceId(17017): at com.google.firebase.installations.FirebaseInstallations.registerFidWithServer(FirebaseInstallations.java:533)
E/FirebaseInstanceId(17017): at com.google.firebase.installations.FirebaseInstallations.doNetworkCallIfNecessary(FirebaseInstallations.java:388)
E/FirebaseInstanceId(17017): at com.google.firebase.installations.FirebaseInstallations.lambda$doRegistrationOrRefresh$2(FirebaseInstallations.java:377)
E/FirebaseInstanceId(17017): at com.google.firebase.installations.FirebaseInstallations$$Lambda$4.run(Unknown Source:4)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/FirebaseInstanceId(17017): ... 1 more
W/FirebaseInstanceId(17017): Token retrieval failed: SERVICE_NOT_AVAILABLE. Will retry token retrieval
E/FirebaseInstanceId(17017): Failed to get FIS auth token
E/FirebaseInstanceId(17017): java.util.concurrent.ExecutionException: com.google.firebase.installations.FirebaseInstallationsException: Firebase Installations Service is unavailable. Please try again later.
E/FirebaseInstanceId(17017): at com.google.android.gms.tasks.Tasks.zza(com.google.android.gms:play-services-tasks@@17.1.0:69)
E/FirebaseInstanceId(17017): at com.google.android.gms.tasks.Tasks.await(com.google.android.gms:play-services-tasks@@17.1.0:23)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.GmsRpc.setDefaultAttributesToBundle(com.google.firebase:firebase-iid@@21.0.1:11)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.GmsRpc.startRpc(com.google.firebase:firebase-iid@@21.0.1:1)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.GmsRpc.getToken(com.google.firebase:firebase-iid@@21.0.1:1)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.FirebaseInstanceId.lambda$getInstanceId$1$FirebaseInstanceId(Unknown Source:2)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.FirebaseInstanceId$$Lambda$3.start(Unknown Source:8)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.RequestDeduplicator.getOrStartGetTokenRequest(com.google.firebase:firebase-iid@@21.0.1:7)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.FirebaseInstanceId.lambda$getInstanceId$2$FirebaseInstanceId(Unknown Source:33)
E/FirebaseInstanceId(17017): at com.google.firebase.iid.FirebaseInstanceId$$Lambda$0.then(Unknown Source:6)
E/FirebaseInstanceId(17017): at com.google.android.gms.tasks.zzf.run(com.google.android.gms:play-services-tasks@@17.1.0:2)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/FirebaseInstanceId(17017): at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@17.3.0:6)
E/FirebaseInstanceId(17017): at java.lang.Thread.run(Thread.java:929)
E/FirebaseInstanceId(17017): Caused by: com.google.firebase.installations.FirebaseInstallationsException: Firebase Installations Service is unavailable. Please try again later.
E/FirebaseInstanceId(17017): at com.google.firebase.installations.remote.FirebaseInstallationServiceClient.createFirebaseInstallation(FirebaseInstallationServiceClient.java:200)
E/FirebaseInstanceId(17017): at com.google.firebase.installations.FirebaseInstallations.registerFidWithServer(FirebaseInstallations.java:533)
E/FirebaseInstanceId(17017): at com.google.firebase.installations.FirebaseInstallations.doNetworkCallIfNecessary(FirebaseInstallations.java:388)
E/FirebaseInstanceId(17017): at com.google.firebase.installations.FirebaseInstallations.lambda$doRegistrationOrRefresh$2(FirebaseInstallations.java:377)
E/FirebaseInstanceId(17017): at com.google.firebase.installations.FirebaseInstallations$$Lambda$4.run(Unknown Source:4)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
E/FirebaseInstanceId(17017): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/FirebaseInstanceId(17017): ... 1 more
W/FirebaseInstanceId(17017): Token retrieval failed: SERVICE_NOT_AVAILABLE. Will retry token retrieval
这是我的应用程序级别的 gradle 依赖项:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'com.google.gms.google-services'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.android.support:multidex:1.0.3'
implementation platform('com.google.firebase:firebase-bom:26.5.0')
implementation 'com.google.firebase:firebase-analytics:18.0.2'
implementation 'com.google.firebase:firebase-messaging:21.0.1'
implementation 'com.google.firebase:firebase-firestore:22.1.0'
implementation 'com.google.firebase:firebase-auth:20.0.2'
implementation 'com.google.android.gms:play-services-basement:17.5.0'
}
这是放置在 android/app/src/main/java/io/flutter/plugins/ 中的 Application.java 文件
package com.xyz.yzx;
import io.flutter.app.FlutterApplication;
import io.flutter.plugin.common.PluginRegistry;
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback;
import io.flutter.plugins.GeneratedPluginRegistrant;
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService;
import io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin;
public class Application extends FlutterApplication implements PluginRegistrantCallback {
@Override
public void onCreate() {
super.onCreate();
FlutterFirebaseMessagingService.setPluginRegistrant(this);
}
@Override
public void registerWith(PluginRegistry registry) {
FirebaseMessagingPlugin.registerWith(registry.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
}
}
这是放在 android/app/src/main/kotlin/com/xyz/zxy 中的 MainActivity.kt
package com.xyz.zxy
import io.flutter.embedding.android.FlutterActivity
class MainActivity: FlutterActivity() {
}
我也将 android:name 转换为 .Application 因为我想实现 FCM 对吗?
<application
android:name=".Application"
我做了那些:
flutter clean
.- 从 Android(物理设备)中删除了该应用程序。
- 完全删除构建文件。
flutter pub get
.flutter run
再次。
失败后,我选择了另一条路。
我使用刚刚从 Firebase 下载的最新 google-services.json 文件交叉检查 android/app/src 中的 google-services.json 文件。一切都是一样的。我仍然用新文件替换了旧文件。
未找到解决方案。
我检查了 build/app/generated/res/google-services 文件夹并使用 Firebase 信息交叉检查 values.xml。仍然是相同的文件和 API 数据。如 google_api_key、google_app_id、google_storage_bucket、gcm_defaultSenderId 等是完全匹配的。
Future<void> main() async {
Paint.enableDithering = true;
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
await setupHive();
runApp(MyApp());
}
这是我项目的主要部分。我没有在那里调用 FCM,也没有从我的应用程序的任何地方调用它,除了 android 文件中的 Application.java 文件。
pubspec.yaml 中的 firebase 依赖项以指示它们的版本:
firebase_admob: ^0.11.0+1
firebase_messaging:
firebase_core: ^0.7.0
firebase_auth: ^0.20.0+1
cloud_firestore: ^0.16.0
该应用程序处于生产模式,消除了 Firebase 和 Google Cloud Platform 中的所有限制。我检查了谷歌云平台并确保没有限制。还启用了 Firebase 安装。
由于 我不能使用身份验证服务Failed to get FIS auth token on Flutter Android
,W/FirebaseInstanceId(17017): Token retrieval failed: SERVICE_NOT_AVAILABLE. Will retry token retrieval
我不能使用 Firestore 服务等。所以即使在生产阶段,应用程序也不知何故死了。
我不知道如何解决这个问题。谁能帮我?
编辑:
当我尝试使用电子邮件和密码方法注册时,这是日志中的输出:
I/FirebaseAuth(17017): [FirebaseAuth:] Preparing to create service connection to fallback implementation
W/System (17017): Ignoring header X-Firebase-Locale because its value was null.
解决方案
我找到了解决方案,但我对解决方案感到尴尬。这只是一个糟糕的连接问题。我认为拥有互联网就足以与 Firebase 建立联系,但事实并非如此。
我连接到我自己的个人热点,一切正常。我将检查我所在地区的其他连接。
推荐阅读
- sql - 如何将数据从 Excel 表上传到 SQL 表?
- java - 带有 JAX-RS 的 POST 方法不能与邮递员工具一起正常工作
- python - 'libpng 错误:IHDR 数据无效'和 cpp:331:错误:(-215) size.width>0 && size.height>0 in function imshow
- oauth - 谷歌同意屏幕。不刷新页面的权限
- android - 有很多活动的应用程序
- c# - unity c# 使用带时间延迟的委托链
- python - 如何获得通过给定点的嵌套列表的对角线 - Python
- mysql - 解释 mysql 性能的计划。查询耗时超过 8 小时且仍在执行
- apache-zeppelin - 在 Mac OS 上使用 home brew 时安装 apache-zeppelin 0.8.0
- java - 硒脚本运行时错误