Аутентификация FirebaseUI с помощью Facebook не работает
Я использую FirebaseUI-Authentication. Подписание с помощью электронной почты или учетной записи Google выполняется успешно, но вход в систему с Facebook не работает. onActivityResult()
не вызывается после запуска операции AuthUI и попытки войти в систему с помощью Facebook. После попытки входа в приложение застрял в окне загрузки. logcat выводит журнал FirebaseApp:
Уведомление слушателей изменения состояния фона.
На панели инструментов приложения Facebook я установил URI перенаправления действительного OAuth, как указано в руководстве по firebase, и я установил приложение публично (имеет значение, является ли оно общедоступным или находится в состоянии разработки?).
В консоли 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
}
}
}
build.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'
Ответы
Ответ 1
Если вы используете FirebaseUI, вы должны поместить эту точную строку в strings.xml:
<string name="facebook_application_id" translatable="false">APPID</string>
APPID можно найти на панели developers.facebook.com.
Смотрите firebaseui-auth readme
Также не забудьте добавить свой хэш-код андроида и URL-адрес firebase OAuth в приложении facebook.
Ответ 2
Попробуйте обновиться до новой версии сервисов Google Play, где они исправили некоторые проблемы, связанные с Firebase Authentication. (Хотя они специально не упомянули о входе в Facebook)
Службы Google Play обновлены до 9.0.2 Теперь доступна версия для служб Google Play версии 9.0.2. В этом выпуске исправлена известная проблема с Firebase Authentication, где FirebaseAuthApi недоступен на некоторых устройствах.
https://developers.google.com/android/guides/releases