Ошибка входа в систему Flutter в Facebook за исключением: «Возникла проблема с реализацией входа в Facebook» - PullRequest
0 голосов
/ 19 июня 2020

Я реализовал вход в Facebook через Firebase в своем приложении flutter (Android только сейчас), следуя инструкциям на https://developers.facebook.com/docs/facebook-login/android.

Когда я запускаю приложение и пытаюсь войдите, я получаю сообщение об ошибке ниже

enter image description here

Ошибка возникает перед входом в Firebase, только часть Facebook на

final FacebookLoginResult result = await facebookSignIn.logIn(['email']);

Я использовал поведение входа в систему по умолчанию и попытался принудительно запустить веб-просмотр, который не помог.

Я перепроверил все детали, такие как идентификатор приложения, манифест. xml файл, строки. xml хэши файлов и ключей (md5), ключи подписи, URL обратного вызова и ошибок не обнаружено. Ошибка не отображается в журнале, а только на экране приложения (экран входа в Facebook).

Мой flutter do c как показано ниже

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel master, 1.20.0-1.0.pre.42, on Microsoft Windows [Version 10.0.18362.900], locale en-IN)

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[√] Android Studio (version 3.4)
[√] VS Code (version 1.46.1)
[√] Connected device (1 available)

• No issues found!

Код реализации входа в систему показан ниже

  static final FacebookLogin facebookSignIn = new FacebookLogin();

    Future<FirebaseUser> _loginFB(BuildContext fbContext) async {
    facebookSignIn.loginBehavior = FacebookLoginBehavior.webViewOnly;
    final FacebookLoginResult result = await facebookSignIn.logIn(['email']);

    switch (result.status) {
      case FacebookLoginStatus.loggedIn:
        final fbAuthCred = FacebookAuthProvider.getCredential(
            accessToken: result.accessToken.token);
        //  final FacebookAccessToken accessToken = result.accessToken;
        AuthResult authResult = await _auth.signInWithCredential(fbAuthCred);
        final FirebaseUser user = authResult.user;
        assert(!user.isAnonymous);
        assert(await user.getIdToken() != null);

        final FirebaseUser currentUser = await _auth.currentUser();
        assert(user.uid == currentUser.uid);
        return currentUser;
        break;
      case FacebookLoginStatus.cancelledByUser:
        Scaffold.of(fbContext)
            .showSnackBar(SnackBar(content: Text('Login cancelled by user')));
        return null;
        break;
      case FacebookLoginStatus.error:
        Scaffold.of(fbContext).showSnackBar(SnackBar(
            content: Text('Error from facebook ${result.errorMessage}')));
        return null;

        break;
    }
  }

Любая помощь будет принята с благодарностью. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...