无法在 Flutter Android 上获取 FIS 身份验证令牌

时间:2021-02-15 11:21:05

标签: android firebase flutter firebase-cloud-messaging

我今天遇到了一个问题。 2 或 3 天前,我将 FCM 集成到我的 Flutter 应用程序中。有一些缺乏实现,但我不在乎,因为我的编码阶段的 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

在失败之后,我选择了一条不同的道路。

我将 android/app/src 中的 google-services.json 文件与我刚刚从 Firebase 下载的最新 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 中的所有限制。我检查了 Google Cloud Platform 并确保没有限制。还启用了 Firebase 安装。

由于 Failed to get FIS auth token on Flutter AndroidW/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.

1 个答案:

答案 0 :(得分:1)

我找到了解决方案,但我对这个解决方案感到很尴尬。这只是一个糟糕的连接问题。我认为拥有互联网就足以与 Firebase 建立连接,但事实并非如此。

我连接到我自己的个人热点,一切正常。我将与我所在地区的其他联系人核实。