電話認証を行おうとすると、エラーが発生します。
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
注-// Newを追加して、上記のファイルに追加した行をハイライトします。
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/app/build.gradle
.....
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を使用しています。
このエラーが発生しましたが、同じメールでアカウントを作成しようとしたため、データベースと認証からアカウントを削除する必要がありました。
私の返されたコードはあなたのものとは少し異なります。
[FirebaseAuth: ] getGoogleApiForMethod() returned Gms: com.google.firebase.auth.api.internal.zzal@**5bfaa19**
これは依存関係の問題です。Firebaseの設定をもう一度確認してください。 Flutterアプリを実行したところ、まったく同じ問題が発生しました。
私はこのスタックトレースを手に入れました
getGoogleApiForMethod()がGmsを返しました:com.google.firebase.auth.api.internal.zzak@a73de51
FirebaseコンソールでSign-In Provider
を有効にするのを忘れました。認証セクションのサインイン方法タブでPhone Provider
を有効にした後で解決しました。
また、別の種類の同じエラーが発生しました
getGoogleApiForMethod()がGmsを返しました:com.google.firebase.auth.api.internal.zzak@a73de51 I/flutter(2870):指定された電話番号の形式が正しくありません。
最初は、国コードなしの携帯電話番号のみを送信しました。それから、国番号付きの電話番号を送信しました。
例:+91 8811111111
それは完全に機能しました。
私の場合、私は怠惰で3文字の長いパスワードを使用していました。私はこれが誰か他の人を助けるかもしれないかどうかわかりません。
電話番号が正しいことを自動的に検証する「oncomplete listener」のためです。内部APIですが、SMS検証が必要です。そのため、アプリがインストールされているその番号でSMSを送信しません。別のデバイス番号に送信してください、正しく機能します
このエラーが発生し、pubspec.yamlファイルのライブラリを更新した後、電子メール/パスワードで接続できませんでした。
このエラーを解決するために、gradleファイル(build.grade)も更新しました。
dependencies {
classpath 'com.Android.tools.build:gradle:3.6.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.3'
}
そして私のgradle-wrapper.propertiesファイル、私は次の行を更新しました:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.Zip