使用Firebase身份验证登录的Android Google登录不可靠

使用Firebase身份验证登录的Android Google登录不可靠,android,authentication,firebase,firebase-authentication,google-signin,Android,Authentication,Firebase,Firebase Authentication,Google Signin,你好 我目前正在开发一个需要谷歌登录的应用程序。我遵循firebase提供的说明,可在此处找到: 但是,我从应用程序接收到不可靠的登录。它在一段时间内运行良好,然后开始出现问题。不幸的是,我甚至没有太多的趋势来描述。它主要发生在移动数据上,但有时甚至在wifi上。有时登录,有时不登录。除此之外,有时它还会抛出FirebaseNetworkError,有时它什么也不做。我可能应该提到,我已经仔细检查过,当网络连接出现故障时,网络连接总是可靠的(我总是查看Youtube视频,并在Chrome上查找了

你好

我目前正在开发一个需要谷歌登录的应用程序。我遵循firebase提供的说明,可在此处找到:

但是,我从应用程序接收到不可靠的登录。它在一段时间内运行良好,然后开始出现问题。不幸的是,我甚至没有太多的趋势来描述。它主要发生在移动数据上,但有时甚至在wifi上。有时登录,有时不登录。除此之外,有时它还会抛出FirebaseNetworkError,有时它什么也不做。我可能应该提到,我已经仔细检查过,当网络连接出现故障时,网络连接总是可靠的(我总是查看Youtube视频,并在Chrome上查找了几页)。我还在不同的移动和wifi网络上测试了大约10种不同的android设备。本质上,有时它登录,有时它不登录

我做了大量的研究,但没有发现任何东西。如果我错过了什么,请一定告诉我

编辑:一旦用户登录,就没有问题了。所有其他firebase服务都能完美工作

以下是我的身份验证活动(我有一个单独的身份验证,然后启动到我的主服务器):

清单权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
模块等级相关(相关的):

我在firebase控制台中也启用了Google登录,我输入了SHA-1密钥,再次从firebase下载了Google-service.json文件,生成了一个签名的apk并对其进行了测试


此时此刻,我非常沮丧,因为有时它有效,有时无效,所以欢迎并非常感谢任何建议。提前谢谢你

我设法解决了这个问题。以下是对可能面临相同问题的任何人的建议:

  • 在android监视器中有一个方便的选项,可以只选择“firebase”日志(请原谅我的出生,我不知道这一点)。在我的案例中,它显示出没有网络连接。然而,这是因为谷歌服务在我的设备上限制了移动数据

  • 不过,这个问题在其他设备上也存在,因此我也生成了一个版本SHA-1密钥,并将其添加到我的firebase项目中。我下载了一个新的google-services.json文件并添加了它(我不知道这是否必要,这只是一个预防措施)。我在我的其他一些设备上测试了签名的APK,但我没有发现任何其他问题。因此,我认为这解决了其他设备上的登录问题

  • 07-01 15:28:19.991 30844-30844/***.*********.******** W/GoogleActivity: 
    com.google.firebase.FirebaseNetworkException: A network error (such as 
    timeout, interrupted connection or unreachable host) has occurred.
                                                                           at 
    com.google.android.gms.internal.jz.zzK(Unknown Source)
                                                                           at 
    com.google.android.gms.internal.jb.zza(Unknown Source)
                                                                           at 
    com.google.android.gms.internal.kj.zzL(Unknown Source)
                                                                           at 
    com.google.android.gms.internal.kl.onFailure(Unknown Source)
                                                                           at 
    com.google.android.gms.internal.kb.onTransact(Unknown Source)
                                                                           at 
    android.os.Binder.execTransact(Binder.java:446) 
    
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    
    classpath 'com.android.tools.build:gradle:2.3.3'
    classpath 'com.google.gms:google-services:3.1.0'
    
    compile 'com.firebaseui:firebase-ui:2.0.1'
    compile 'com.google.firebase:firebase-database:11.0.2'
    compile 'com.google.firebase:firebase-core:11.0.2'
    compile 'com.google.firebase:firebase-auth:11.0.2'
    compile 'com.google.android.gms:play-services-auth-base:11.0.2'
    compile 'com.google.android.gms:play-services-auth:11.0.2'
    compile 'com.google.android.gms:play-services-identity:11.0.2'
    compile 'com.google.android.gms:play-services-location:11.0.2'
    compile 'com.google.android.gms:play-services-maps:11.0.2'
    compile 'com.google.android.gms:play-services-places:11.0.2'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.google.firebase:firebase-database:11.0.2'
    compile 'com.google.firebase:firebase-messaging:11.0.2'