Аутентификация FirebaseUI с Facebook не работает
Я использую FirebaseUI-Аутентификация. Вход в систему с помощью электронной почты или учетной записи Google успешно, но войти с Facebook не работает. onActivityResult()
не вызывается после AuthUI деятельность начал и попытался войти в систему с Facebook. После попытки входа приложение застревает в окне загрузки. logcat выводит журнал FirebaseApp:
уведомление прослушивателей изменения фонового состояния.
на панель мониторинга приложений Facebook я установил допустимый URI перенаправления OAuth, как указано в руководстве firebase, и я установил приложение public (имеет ли значение, является ли оно общедоступным или находится в состоянии разработки?). В консоль Firebase я включил вход в Facebook и установил идентификатор и приложения.
этой это видеозапись, показывающая, что происходит после входа в систему с Facebook нажата на вход деятельность.
Почему onActivityResult()
называется?
MainActivity:
/**
* Use this method to start the FirebaseUI sign in activity.
*/
public void switchToSignIn() {
this.activity.startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setProviders(
AuthUI.EMAIL_PROVIDER,
AuthUI.GOOGLE_PROVIDER,
AuthUI.FACEBOOK_PROVIDER)
.build(), RC_SIGN_IN);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == RC_SIGN_IN) {
if (resultCode == this.activity.RESULT_OK) {
// user is signed in!
Log.d(Constants.TAG_LoginHandler, "Sign in result: RESULT_OK");
logUserInfo();
tryAccessMainFragment();
} else {
Log.d(Constants.TAG_LoginHandler, "Sign in result: RESULT_CANCELLED");
// user is not signed in. Maybe just wait for the user to press
// "sign in" again, or show a message
}
}
}
построить.Gradle в:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:support-v4:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.firebaseui:firebase-ui:0.4.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'de.hdodenhof:circleimageview:1.3.0'
}
apply plugin: 'com.google.gms.google-services'
2 ответов
Если вы используете FirebaseUI, вы должны поместить эту точную строку в строки.XML-код:
<string name="facebook_application_id" translatable="false">APPID</string>
на APPID на панель управления developers.facebook.com .
посмотреть firebaseui-auth readme
также не забудьте добавить свой хэш ключа android и URL-адрес OAuth firebase в приложении facebook.
попробуйте обновить до новой версии служб Google Play, где они исправили некоторые проблемы, связанные с аутентификацией Firebase. (Хотя они специально не упоминали о входе в Facebook)
сервисы Google Play обновлены до 9.0.2 теперь доступна версия Google Play services версии 9.0.2. Этот выпуск устраняет известную проблему с проверкой подлинности Firebase, где FirebaseAuthApi недоступен на некоторых устройства.