E/FirebaseInstanceId:获取 FIS 身份验证令牌失败

     2023-02-23     4

关键词:

【中文标题】E/FirebaseInstanceId:获取 FIS 身份验证令牌失败【英文标题】:E/FirebaseInstanceId: Failed to get FIS auth token 【发布时间】:2020-06-23 09:58:55 【问题描述】:

我已按照 firebase 创建项目的所有步骤进行操作。 当我运行我的应用程序时,我收到以下错误: java.util.concurrent.ExecutionException: com.google.firebase.installations.FirebaseInstallationsException

我在 build.gradle 中添加了必要的库

但它仍然给我错误。有什么解决办法吗?

完整的堆栈跟踪如下:

-11 17:31:28.460 8093-8093/com.myapp V/FA: Registered activity lifecycle callback
03-11 17:31:28.510 8093-8153/com.myapp W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
03-11 17:31:28.550 8093-8156/com.myapp I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
03-11 17:31:28.550 8093-8093/com.myapp I/FirebaseInitProvider: FirebaseApp initialization successful
03-11 17:31:28.550 8093-8156/com.myapp I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
03-11 17:31:28.570 8093-8158/com.myapp W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
03-11 17:31:28.590 8093-8158/com.myapp I/FirebaseAuth: [FirebaseAuth:] Preparing to create service connection to gms implementation
03-11 17:31:28.690 8093-8093/com.myapp W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter androidx.vectordrawable.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
03-11 17:31:28.700 8093-8093/com.myapp V/FA: onActivityCreated
03-11 17:31:28.720 8093-8139/com.myapp V/FA: App measurement collection enabled
03-11 17:31:28.720 8093-8139/com.myapp V/FA: App measurement enabled for app package, google app id: com.myapp, 1:694013098939:android:9c791b689fec2f9f78629e
03-11 17:31:28.720 8093-8139/com.myapp I/FA: App measurement initialized, version: 22048
03-11 17:31:28.720 8093-8139/com.myapp I/FA: To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
03-11 17:31:28.720 8093-8139/com.myapp I/FA: To enable faster debug mode event logging run:
      adb shell setprop debug.firebase.analytics.app com.myapp
03-11 17:31:28.720 8093-8139/com.myapp D/FA: Debug-level message logging enabled
03-11 17:31:28.750 8093-8093/com.myapp I/art: Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$2>
03-11 17:31:28.750 8093-8093/com.myapp I/art: Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$2>
03-11 17:31:28.850 8093-8093/com.myapp D/TextView: setTypeface with style : 0
03-11 17:31:28.980 8093-8093/com.myapp D/TextView: setTypeface with style : 0
03-11 17:31:28.990 8093-8093/com.myapp I/Timeline: Timeline: Activity_launch_request id:com.myapp time:8027824
03-11 17:31:29.150 8093-8157/com.myapp E/FirebaseInstanceId: Failed to get FIS auth token
    java.util.concurrent.ExecutionException: com.google.firebase.installations.FirebaseInstallationsException
        at com.google.android.gms.tasks.Tasks.zzb(Unknown Source)
        at com.google.android.gms.tasks.Tasks.await(Unknown Source)
        at com.google.firebase.iid.zzs.zzb(com.google.firebase:firebase-iid@@20.1.1:54)
        at com.google.firebase.iid.zzs.zza(com.google.firebase:firebase-iid@@20.1.1:89)
        at com.google.firebase.iid.zzv.run(com.google.firebase:firebase-iid@@20.1.1)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
        at java.lang.Thread.run(Thread.java:818)
     Caused by: com.google.firebase.installations.FirebaseInstallationsException
        at com.google.firebase.installations.FirebaseInstallations.doRegistrationInternal(com.google.firebase:firebase-installations@@16.0.0:333)
        at com.google.firebase.installations.FirebaseInstallations.doGetId(com.google.firebase:firebase-installations@@16.0.0:280)
        at com.google.firebase.installations.FirebaseInstallations.access$lambda$0(com.google.firebase:firebase-installations@@16.0.0)
        at com.google.firebase.installations.FirebaseInstallations$$Lambda$1.run(com.google.firebase:firebase-installations@@16.0.0)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
        at java.lang.Thread.run(Thread.java:818) 

【问题讨论】:

这个答案 (***.com/a/61529757/1677234) 为我解决了问题 【参考方案1】:

云消息传递版本 20.1.1 更新日志:

使用 Firebase 自动初始化过程和 Gradle 插件将 google-services.json 转换为资源的应用不受影响。但是,创建自己的 FirebaseOptions 实例的应用必须提供有效的 API 密钥、Firebase 项目 ID 和应用 ID。

google said: be aware of the following

打开 Firebase 控制台。 如果有任何新的条款和条件,请接受。 检查包名不匹配。 如果一切看起来都很好, 再次为您的应用添加 Firebase 设置。

【讨论】:

【参考方案2】:

我的第一个工作应用使用了 com.google.firebase:firebase-messaging:20.2.0。然后我复制该项目以制作我的第二个应用程序。我在 firebase 控制台中注册了新应用并替换了 google-services.json。当我运行时,我得到了同样的错误。我通过降级到版本 20.1.5 解决了这个问题。之后我升级到 20.2.3 版本,通知仍然有效。

【讨论】:

【参考方案3】:

更新您的google-services.json 文件。删除旧的并从Firebase console &gt; Project Settings重新下载新的google-services.json

【讨论】:

【参考方案4】:

如果你的 json 没问题,运行干净的项目。

【讨论】:

谢谢,我在 firebase 控制台中添加了新的 debug.keystore SHA-1 密钥,并更新了 google-services.json,但忘记清理项目。现在可以了。【参考方案5】:

第 1 步:- 使用 FirebaseOption 更新您的代码

FirebaseOptions options = new FirebaseOptions.Builder()
                .setApplicationId(FIREBASE_APPLICATION_ID)
                .setProjectId(FIREBASE_PROJECT_ID)
                .setGcmSenderId(FIREBASE_GCM_SENDER_ID)
                .setApiKey(FIREBASE_APIKEY_ID)
                .build();

        FirebaseApp.initializeApp( getApplicationContext(), options);

第 2 步:-

/谷歌播放服务/

apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'

implementation 'com.google.android.gms:play-services-auth:19.0.0'
// Firebase and ML Kit dependencies
implementation 'com.google.firebase:firebase-core:18.0.3'
implementation 'com.google.android.gms:play-services-vision:20.1.3'
implementation 'com.google.firebase:firebase-ml-vision-barcode-model:16.1.2'

// Import the BoM for the Firebase platform
implementation platform('com.google.firebase:firebase-bom:27.1.0')

// 声明 Crashlytics 和 Analytics 库的依赖项

// When using the BoM, you don't specify versions in Firebase library dependencies
implementation 'com.google.firebase:firebase-crashlytics'
implementation 'com.google.firebase:firebase-analytics'
implementation 'com.google.firebase:firebase-messaging'
implementation 'com.google.firebase:firebase-ml-vision'

第 3 步:-

 <service
        android:name="com.google.firebase.components.ComponentDiscoveryService"
        android:directBootAware="true"

        android:exported="false">
        <meta-data
            android:name="com.google.firebase.components:com.google.firebase.messaging.FirebaseMessagingRegistrar"
            android:value="com.google.firebase.components.ComponentRegistrar" />
        <meta-data
            android:name="com.google.firebase.components:com.google.firebase.datatransport.TransportRegistrar"
            android:value="com.google.firebase.components.ComponentRegistrar" />
        <meta-data
            android:name="com.google.firebase.components:com.google.firebase.iid.Registrar"
            android:value="com.google.firebase.components.ComponentRegistrar" />
        <meta-data
            android:name="com.google.firebase.components:com.google.firebase.installations.FirebaseInstallationsRegistrar"
            android:value="com.google.firebase.components.ComponentRegistrar" />
        <!--
            This registrar is not defined in the dynamic-module-support sdk itself to allow non-firebase
            clients to use it as well, by defining this registrar in their own core/common library.
        -->
        <meta-data
            android:name="com.google.firebase.components:com.google.firebase.dynamicloading.DynamicLoadingRegistrar"
            android:value="com.google.firebase.components.ComponentRegistrar" />

    </service>

    <provider
        android:name="com.google.firebase.provider.FirebaseInitProvider"
        android:authorities="Your_package_name.firebaseinitprovider"
        android:directBootAware="true"
        android:exported="false"
        android:initOrder="100" />
   <receiver
        android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver"
        android:exported="true"
        android:permission="com.google.android.c2dm.permission.SEND">
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />

            <category android:name="Your_package_name" />
        </intent-filter>
    </receiver>

步骤:- 4 包括权限

All you have to do is just make the API key you are using has permission to the following APIs:
Firebase Installations API
Firebase Cloud Messaging API
Cloud Messaging
FCM Registration API

You can change the restrictions from your google cloud -> APIs & Services -> Credentials.

这是我在代码中试用和使用的完整解决方案

【讨论】:

【参考方案6】:

似乎是 firebase SDK (com.google.firebase:firebase-analytics:17.2.3) 的问题。我仍然得到相同的日志

Fatal Exception: java.lang.IllegalStateException
com.google.firebase.iid.FirebaseInstanceId.zzl (com.google.firebase:firebase-iid@@20.1.1:75)
com.google.firebase.iid.FirebaseInstanceId.getId (com.google.firebase:firebase-iid@@20.1.1:49)
com.google.firebase.perf.internal.zzf.zzbu (com.google.firebase:firebase-perf@@19.0.5:181)
com.google.firebase.perf.internal.zzf.zzbt (com.google.firebase:firebase-perf@@19.0.5:44)

【讨论】:

如何获取带有“F”标志的 Facebook 个人资料图片?

】如何获取带有“F”标志的Facebook个人资料图片?【英文标题】:Howtogetfacebookprofilepicturewith\'F\'-logo?【发布时间】:2010-12-1610:11:43【问题描述】:我使用GraphAPI,我需要通过用户的UID获取用户的个人资料图片。很容易做到:http://... 查看详情

获取 ruby​​ 函数对象本身

】获取ruby​​函数对象本身【英文标题】:Gettingrubyfunctionobjectitself【发布时间】:2010-12-2808:24:57【问题描述】:在Ruby中,一切都应该是一个对象。但是我有一个大问题要以通常的方式定义的函数对象,比如deff"foo"end与Python不同... 查看详情

在类中获取 f 字符串无效语法 [关闭]

】在类中获取f字符串无效语法[关闭]【英文标题】:Gettingaf-stringinvalidsyntaxinclass[closed]【发布时间】:2022-01-2321:59:47【问题描述】:我是一名Python初学者,正在class上做一个小作业。但我遇到了f-string:invalidsyntax的以下代码:classRe... 查看详情

如何获取大数据的值频率

】如何获取大数据的值频率【英文标题】:Howtogetvaluefrequenciesforlargedata【发布时间】:2018-10-0522:42:34【问题描述】:我有一个包含数百万行和940列的表。我真的希望有一种方法可以总结这些数据。我想查看每一列的每个值的频率... 查看详情

获取连续预测变量的 F 比和 p 值

】获取连续预测变量的F比和p值【英文标题】:ObtainF-ratioandp-valueforthecontinuouspredictor【发布时间】:2021-12-1510:17:15【问题描述】:我拟合了一个线性模型,其中块作为固定因子,加上2个分类和1个连续预测变量。我想要一个III型AN... 查看详情

获取磁盘空间

1、os模块<适用于linux平台>>>>importos>>>>>>disk_info=os.statvfs(‘/‘)>>>>>>print(disk_info)posix.statvfs_result(f_bsize=4096,f_frsize=4096,f_blocks=15068735,f 查看详情

java示例代码_JSF自定义组件:如何获取<;f:ajax/>;

java示例代码_JSF自定义组件:如何获取<;f:ajax/>; 查看详情

JSF 自定义组件:如何获取 <f:ajax /> 的属性

】JSF自定义组件:如何获取<f:ajax/>的属性【英文标题】:JSFCustomComponent:Howtogetattributeof<f:ajax/>【发布时间】:2011-11-0806:05:15【问题描述】:我已经为jsf编写了一个自定义组件。渲染器扩展了com.sun.faces.renderkit.html_basic.Listb... 查看详情

APN 中的 Firebase 令牌生成器失败

...,但在APN上却不起作用。我在我的logcat上收到以下错误E/FirebaseInstanceId:令牌检索失败,没有异常消息。将重试令牌检索【问题讨论】:【参考方案1】:你在 查看详情

hosts文件怎么获取权限

...:WindowsRegistryEditorVersion5.00[HKEY_CLASSES_ROOT\\*\\shell\\runas]@="获取权限""NoWorkingDirectory"=""[HKEY_CLASSES_ROOT\\*\\shell\\runas\\command]@="cmd.exe/ctakeown/f\\"%1\\"&&icacls\\"%1\\"/grantadministrators:F""IsolatedCommand"="cmd.exe/ctakeown/f\\"%1\\"&&icacls\\"%1\\"... 查看详情

如何从 Python 中的混淆矩阵中获取精度、召回率和 f 度量 [重复]

】如何从Python中的混淆矩阵中获取精度、召回率和f度量[重复]【英文标题】:Howtogetprecision,recallandf-measurefromconfusionmatrixinPython[duplicate]【发布时间】:2018-06-1411:21:30【问题描述】:我正在使用Python并且有一些混淆矩阵。我想通过... 查看详情

设置 GL_RGBA16F 纹理格式时获取不完整的 FBO

】设置GL_RGBA16F纹理格式时获取不完整的FBO【英文标题】:GettingincompleteFBOwhensettingGL_RGBA16Ftextureformat【发布时间】:2012-07-2015:06:21【问题描述】:我正在使用用于OpenGL的Java包装器(LWJGL)我得到了GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT如果... 查看详情

io流文件常用方法

...n("判断是否是文件:"+f.isFile());//文件长度System.out.println("获取文件的长度:"+f.length());//文件最后修改时间longtime=f.lastModified();Dated=newDate(time);System.out.println("获取文件的最后修改时间:"+d);//设置文件修改时间为1970.1.108:00:00f.setLast... 查看详情

Android 应用程序在模拟器中启动时崩溃

...行良好,因为它在模拟器中启动时崩溃。下面是日志。E/FirebaseInstanceId:FailedtogetFISauthtokenjava.util.concurrent.ExecutionExcepti 查看详情

必须使用 fibo_ 实例作为第一个参数调用未绑定的方法 f()(改为获取 classobj 实例)

...使用fibo_实例作为第一个参数调用未绑定的方法f()(改为获取classobj实例)【英文标题】:unboundmethodf()mustbecalledwithfibo_instanceasfirstargument(gotclassobjinstanceinstead)【发布时间】:2011-05-2706:27:26【问题描述】:在Python中,我试图在类中... 查看详情

Music21:获取音符的曲目索引

】Music21:获取音符的曲目索引【英文标题】:Music21:gettrackindexofanote【发布时间】:2020-06-1120:26:06【问题描述】:我有一个multi-trackmidifile,我正在用music21阅读:importmusic21f=music21.midi.MidiFile()f.open(\'1079-02.mid\')f.read()stream=music21.midi.... 查看详情

SQL 获取第一个匹配结果

】SQL获取第一个匹配结果【英文标题】:SQLgetfirstmatchingresults【发布时间】:2012-06-2519:37:40【问题描述】:我有以下SQL语句:SELECTID,NAMEFROMmyTableWHEREIDLIKE\'R43%\'ORIDLIKE\'D32%\'ORIDLIKE\'F22%\'并且ID可能具有以下值:ID____R431R431R432R434D322D32... 查看详情

perl一行式:字段处理和计算(代码片段)

获取每行最后一个字段$perl-alne'print$F[$#F]'file.log这里涉及到了选项"-a"、数组@F。这里同时还会解释-F选项,它和-a常一起使用。选项"-a"和awk的自动字段分割一样,会自动将每行数据划分为几个字段。划分字段... 查看详情