FirebaseAuth:getGoogleApiFormMethod()返回Gms:com.google.firebase.auth.api.internal。zzal@489
当我试图通过电话验证时,我发现了以下错误FirebaseAuth:getGoogleApiFormMethod()返回Gms:com.google.firebase.auth.api.internal。zzal@489,firebase,flutter,firebase-authentication,Firebase,Flutter,Firebase Authentication,当我试图通过电话验证时,我发现了以下错误 W/BiChannelGoogleApi(12340): [FirebaseAuth: ] getGoogleApiForMethod() returned Gms: com.google.firebase.auth.api.internal.zzal@489 我已经在Stackverflow和其他地方检查了相同的错误,但没有得到正确的解决方案 pubspec.yml中的技术 dependencies: flutter: sdk: flut
W/BiChannelGoogleApi(12340): [FirebaseAuth: ] getGoogleApiForMethod() returned Gms: com.google.firebase.auth.api.internal.zzal@489
我已经在Stackverflow和其他地方检查了相同的错误,但没有得到正确的解决方案
pubspec.yml中的技术
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.2
firebase_core: ^0.3.0+2 //new
firebase_auth: ^0.8.1+1 //new
注意——将//新增到highlite中我在上述文件中添加的行
在app/build.gradle结尾的行下方添加
apply plugin: 'com.google.gms.google-services'
android/build.gradle
buildscript {
ext.kotlin_version = '1.2.71'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.2.0'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
.....
android {
compileSdkVersion 28
.....
defaultConfig {
....
minSdkVersion 21
targetSdkVersion 27
......
}
.....
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.firebase:firebase-auth:16.1.0'
// implementation 'androidx.core:core-ktx:1.0.0'
}
apply plugin: 'com.google.gms.google-services'
android/app/build.gradle
buildscript {
ext.kotlin_version = '1.2.71'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.2.0'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
.....
android {
compileSdkVersion 28
.....
defaultConfig {
....
minSdkVersion 21
targetSdkVersion 27
......
}
.....
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.firebase:firebase-auth:16.1.0'
// implementation 'androidx.core:core-ktx:1.0.0'
}
apply plugin: 'com.google.gms.google-services'
android/app/gradle.properties
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
我正在使用AndroidX。这可能是由于测试设备上的google play服务版本不兼容 如果是模拟器,请尝试切换到其他图像,并检查您是否使用最新版本的play services
请注意,只有安卓N(API 24)及以上版本支持通过playstore更新游戏服务 我有这个错误,但它发生了,因为我试图在我的应用程序上创建一个具有相同电子邮件的帐户,我必须从数据库和身份验证中删除该帐户 我返回的代码与你的有点不同
[FirebaseAuth: ] getGoogleApiForMethod() returned Gms: com.google.firebase.auth.api.internal.zzal@**5bfaa19**
这一次我损失了几个小时,所以让我分享一下我的经验 Gms的意思是“,它基本上是谷歌开发的安卓系统的附加API,允许连接到谷歌提供的一系列服务。 如果您使用flatter,这可能是由您使用的flatter包包装的,例如firebase_auth、flatter_facebook_登录或/和google_登录 此错误有时可能由更高级别的组件处理,因此,如果您有此错误,并不意味着您的配置错误或无法工作。 在我的例子中,当我使用Google登录时,出现了这个错误,最终结果是成功的,类似这样:
info flutter.tools W/BiChannelGoogleApi( 4106): [FirebaseAuth: ] getGoogleApiForMethod() returned Gms: com.google.firebase.auth.api.internal.zzak@8116b2c
info flutter.tools D/FirebaseAuth( 4506): Notifying id token listeners about user ( lCZZZZJELWhGUZZZZB3vDklZZZZ2 ).
info flutter.tools D/FirebaseAuth( 4506): Notifying auth state listeners about user ( lCZZZZJELWhGUZZZZB3vDklZZZZ2 ).
info flutter.tools I/flutter ( 4506): FirebaseUser({uid: lCZZZZJELWhGUZZZZB3vDklZZZZ2, photoUrl: https://lh5.googleusercontent.com/-ZZzir_P-ENw/AAAAAAAAAAI/AAAAAAAAAAA/PpxhiXg_ISk/s96-c/photo.jpg, isAnonymous: false, etc....
我的代码中有一个dart调用print(fireUser);
,所以我们看到它是成功的
但是在FacebookAuth的例子中,我刚刚看到了这个,之后什么也没有发生,但是在FacebookServer端,登录成功了,因为我可以在FacebookDev控制台中看到事件
info flutter.tools W/BiChannelGoogleApi( 4106): [FirebaseAuth: ] getGoogleApiForMethod() returned Gms: com.google.firebase.auth.api.internal.zzak@8116b2c
日志中没有其他内容,所以在这个过程中有些东西被卡住了
我的问题是我混合了两个应用程序App Id和Secret。我有时是个笨蛋,但问题是没有任何警告或特定错误,所以下面列出了Firebase和其他插件可能失败的事情:
- 确保您已在Firebase控制台中正确配置登录提供商(谷歌、facebook等)
- 升级所有颤振软件包。我个人不使用软件包版本,我使用所有颤振软件包的最新版本。我使用AndroidX
- 确保你看到了好的应用程序
- 确保应用程序ID和应用程序机密是正确的。在Facebook开发控制台中,检查那里的基本设置
- 确保您已经添加了“Facebook登录”产品。如果您在Facebook开发控制台的左侧菜单中没有看到它,请检查仪表板并添加它
- 在“Facebook登录”产品设置中,确保已添加Firebase控制台提供给您的“有效OAuth重定向URI”(在Facebook登录提供程序配置中)。您可以在该页面下方的“重定向URI验证程序”工具中进行检查
- 在应用程序的基本设置中,如果您使用Flatter(=>移动平台),请确保您有IOS分区/平台和Android分区/平台。要实现这一点,您可以手动“添加平台”,或使用快速启动
- 最后,IOS部分只能包含“Bundle ID”
- Android部分应该包含“Google Play软件包名”、“类名”和至少一个“密钥哈希”(用于调试)。如果您不知道如何创建哈希,请使用“Facebook登录”快速启动
希望这有帮助这是一个依赖性问题,你可能想再次查看你的firebase设置。我运行了一个颤振应用程序,遇到了同样的问题。我得到了这个stacktrace GetGoogleApiFormMethod()返回的Gms: com.google.firebase.auth.api.internal。zzak@a73de51 我忘记在Firebase控制台中启用
登录提供程序
。在身份验证部分的登录方法选项卡下启用电话提供程序
后,我解决了此问题
我也犯了同样的错误
GetGoogleApiFormMethod()返回的Gms:
com.google.firebase.auth.api.internal。zzak@a73de51I/颤振(2870):
提供的电话号码格式不正确
起初我只发送没有国家代码的手机号码,然后我只发送带有国家代码的电话号码
例如:+918811111111
它工作得很好。在我的情况下,我只是懒洋洋地使用了一个3个字符长的密码。我不知道这是否有一天会对其他人有所帮助。这是因为“oncomplete listener”自动验证了电话号码是否正确。这是一个内部API,但我们需要短信验证。
因此,它不会在安装应用程序的号码上发送短信。如果发送到另一个设备号码,它肯定会工作。我有此错误,在更新我的pubspec.yaml文件中的库后,我无法连接电子邮件/密码 为了解决此错误,我还更新了gradle文件(build.grade): 在我的gradle-wrapper.properties文件中,我更新了以下行:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip
我已经解决了这个问题。 我有一个明确的解决办法 按照以下步骤操作:
W/BiChannelGoogleApi(12340): [FirebaseAuth: ] getGoogleApiForMethod() returned Gms: com.google.firebase.auth.api.internal.zzal@489
这些类型的错误代码几乎毫无用处。试试看
Log.i("flag", "signInAnonymously:failure", task.exception)
在auth.createUserWithEmailAndPassword或类似方法中
在验证时,google将使用