在获取firebase令牌时,我在某些设备上遇到以下错误:
Fatal Exception: d.b.a.b.g.f
java.io.IOException: AUTHENTICATION_FAILED
com.google.android.gms.tasks.zzu.getResult (zzu.java:15)
MainActivity$3.onComplete (MainActivity.java:387)
Caused by java.io.IOException
AUTHENTICATION_FAILED
com.google.firebase.iid.zzu.then (zzu.java:16)
com.google.android.gms.tasks.zzd.run (zzd.java:5)
java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1162)
java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
com.google.android.gms.common.util.concurrent.zza.run (zza.java:6)
java.lang.Thread.run (Thread.java:784)
来自开发人员控制台的错误日志:
com.google.android.gms.tasks.RuntimeExecutionException:
at com.google.android.gms.tasks.zzu.getResult (zzu.java:15)
at com.example.MainActivity$3.onComplete (MainActivity.java:387)
at com.google.android.gms.tasks.zzj.run (zzj.java:4)
at android.os.Handler.handleCallback (Handler.java:808)
at android.os.Handler.dispatchMessage (Handler.java:101)
at android.os.Looper.loop (Looper.java:166)
at android.app.ActivityThread.main (ActivityThread.java:7529)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:245)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:921)
Caused by: java.io.IOException:
at com.google.firebase.iid.zzu.then (zzu.java:16)
at com.google.android.gms.tasks.zzd.run (zzd.java:5)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
at com.google.android.gms.common.util.concurrent.zza.run (zza.java:6)
at java.lang.Thread.run (Thread.java:784)
下面是负责获取firebase令牌的代码:
FirebaseInstanceId.getInstance().getInstanceId().addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
@Override
public void onComplete(@NonNull Task<InstanceIdResult> task) {
if (task.getResult() != null && task.isSuccessful()) {
String firebaseToken = task.getResult().getToken();
}
}
});
我正在使用以下Gradle依赖项。
implementation 'com.google.firebase:firebase-analytics:17.4.3'
implementation 'com.google.firebase:firebase-crashlytics:17.0.1'
implementation 'com.google.firebase:firebase-messaging:20.2.0'
我发现了类似的questions and problems,但没有结论性的答案.有人建议这可能是由于互联网连接中断,但我的应用程序需要在进入应用程序之前进行身份验证,以便互联网可用.有没有人遇到同样的问题?最好的问候.
5条答案
按热度按时间t3irkdon1#
炸弹已经被放置(c)谷歌...而且它还在那里...
代码如下:
实际上,第二部分是两次弃用的代码(这就是为什么我在这里-更新到实际代码导致应用程序崩溃),但它工作。
mdfafbf12#
这是Firebase方面的bug,越来越多的用户受到此问题的影响:
以下是Google Issue Tracker上的问题:
以下是Firebase问题跟踪器上的问题:
如果你能从你的用户那里得到更多的信息来帮助谷歌开发人员解决这个问题,它可能会有所帮助=)
pvabu6sv3#
在我例子中,上面的方法都没有解决我的问题,我从服务回调中获取令牌,然后用它做我需要的任何事情
ws51t4hk4#
这个问题已经发布两年了,但在一些设备/模拟器上仍然存在异常。原因之一是不可用/禁用Google Play应用程序/服务(我今天刚刚遇到这个异常)。
需要Google Play服务才能创建令牌,如果没有它,它将在设备上失败。
2hh7jdfx5#
尝试在Android Studio中使用右上方的登录图标登录到Google帐户。这对我很有效。