【发布时间】:2018-07-17 09:43:17
【问题描述】:
我花了几个小时(如果不是几天)阅读并试图让这个东西工作。我希望能够在我的应用程序上对用户进行身份验证(并让他们注册)。除其他外,我使用 Android Studio 中提供的 Firebase 控制台来设置应用程序(因此它已注册并链接,我的 google-services.json 确实在 app 文件夹中)。
我一直在关注的资源(它们都提供了不同的代码 sn-ps,这非常令人困惑):
- Google's YouTube Firebase PlayList
- FirebaseUI-Android repo on GitHub
- FirebaseUI-Android's explanation for integration
- Firebase's quickstart-android repo on GitHub
- Some Firebase Documentation I'm not sure how to use or if it's even relevant
- 我还实现了一个“登录活动”,正如 Android Studio 本身提出的模板一样。
Firebase 控制台中应用程序“登录方法”设置的屏幕截图(是的,我想集成这 3 个选项):
我的
当我测试“Google 登录按钮”时,在选择我的个人资料后,在我唯一的半工作 Activity(主要基于他的“快速启动”资源的那个)中测试“Google 登录按钮”时的 Logcat:
07-16 21:15:39.367 299-987/? E/FastThread: did not receive expected priority boost
07-16 21:15:40.350 842-1252/? E/WifiStateMachine: calculateWifiScore() report new score 56
07-16 21:15:42.892 842-1252/? E/WifiStateMachine: WifiStateMachine CMD_START_SCAN source -2 txSuccessRate=0.05 rxSuccessRate=0.06 targetRoamBSSID=any RSSI=-66
startDelayedScan send -> 62 milli 20000
07-16 21:15:42.893 842-1252/? E/WifiStateMachine: WifiStateMachine CMD_START_SCAN with age=100016 interval=341718 maxinterval=300000
WifiStateMachine CMD_START_SCAN full=false
07-16 21:15:43.370 299-987/? E/FastThread: did not receive expected priority boost
07-16 21:15:43.610 11462-11462/? W/AccountChipsFragment: Recording consent failed.
07-16 21:15:43.641 1701-1701/? W/ChimeraUtils: Non Chimera context
07-16 21:15:43.652 260-260/? W/SurfaceFlinger: couldn't log to binary event log: overflow.
07-16 21:15:43.745 1701-6139/? W/Auth: [GetToken] GetToken failed with status code: UNREGISTERED_ON_API_CONSOLE
07-16 21:15:43.746 9806-10025/? E/TokenRequestor: You have wrong OAuth2 related configurations, please check. Detailed error: UNREGISTERED_ON_API_CONSOLE
07-16 21:15:43.791 11462-11462/? W/AutoManageHelper: Unresolved error while connecting client. Stopping auto-manage.
07-16 21:15:43.862 8178-8178/com.example.payne.simpletestapp W/GoogleActivity: Google sign in failed
com.google.android.gms.common.api.ApiException: 10:
at com.google.android.gms.common.internal.ApiExceptionUtil.fromStatus(Unknown Source)
at com.google.android.gms.auth.api.signin.GoogleSignIn.getSignedInAccountFromIntent(Unknown Source)
at com.example.payne.simpletestapp.Authentification.FirebaseActivity.onActivityResult(FirebaseActivity.java:102)
at android.app.Activity.dispatchActivityResult(Activity.java:6218)
at android.app.ActivityThread.deliverResults(ActivityThread.java:3655)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3702)
at android.app.ActivityThread.access$1300(ActivityThread.java:155)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1366)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5343)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)
07-16 21:15:52.451 842-1252/? E/WifiStateMachine: calculateWifiScore() report new score 60
07-16 21:15:55.480 842-1252/? E/WifiStateMachine: calculateWifiScore() report new score 56
我的build.gradle:
dependencies {
//...
api 'com.google.firebase:firebase-auth:16.0.2'
implementation 'com.firebaseui:firebase-ui-auth:4.1.0'
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.android.gms:play-services-auth:15.0.1'
//...
}
apply plugin: 'com.google.gms.google-services'
部分其他build.gradle:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'
classpath 'com.google.gms:google-services:4.0.1'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
注意:升级到classpath 'com.google.gms:google-services:4.0.2' 在按下“Google 登录按钮”并选择我的帐户后,我会看到以下 Logcat:
07-16 21:26:09.488 13118-13118/com.example.payne.simpletestapp W/GoogleActivity: Google sign in failed
com.google.android.gms.common.api.ApiException: 10:
at com.google.android.gms.common.internal.ApiExceptionUtil.fromStatus(Unknown Source)
at com.google.android.gms.auth.api.signin.GoogleSignIn.getSignedInAccountFromIntent(Unknown Source)
at com.example.payne.simpletestapp.Authentification.FirebaseActivity.onActivityResult(FirebaseActivity.java:102)
at android.app.Activity.dispatchActivityResult(Activity.java:6218)
at android.app.ActivityThread.deliverResults(ActivityThread.java:3655)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3702)
at android.app.ActivityThread.access$1300(ActivityThread.java:155)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1366)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5343)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)
这有点令人沮丧。我希望你们能提供帮助。如果需要,我可以提供更多代码...:/
我很惊讶没有简单的方法来复制粘贴一堆代码并让它运行。甚至设置 Activity 的 UI 也是一个过程。我似乎无法从例如“FirebaseUI-Android”存储库中找到我想要的特定部分。
【问题讨论】:
标签: android firebase firebase-authentication