如何连接facebook、firebase和Flatter?

如何连接facebook、firebase和Flatter?,facebook,firebase,authentication,flutter,Facebook,Firebase,Authentication,Flutter,我正在按照这里找到的将facebook与android项目合并的说明进行操作,并且有一个步骤可以下载facebook SDK,但是在那之后,它没有告诉我将文件放在哪里。它告诉我添加的import语句不起作用(表示uri的目标不存在) 我试图在facebook用户登录时将其添加到firebase数据库。我正在android studio中使用flifter 控制台日志中似乎没有任何用处,只是print语句没有打印任何内容。有什么想法吗 这是我登录用户的代码 import com.facebook.

我正在按照这里找到的将facebook与android项目合并的说明进行操作,并且有一个步骤可以下载facebook SDK,但是在那之后,它没有告诉我将文件放在哪里。它告诉我添加的import语句不起作用(表示uri的目标不存在)

我试图在facebook用户登录时将其添加到firebase数据库。我正在android studio中使用flifter

控制台日志中似乎没有任何用处,只是print语句没有打印任何内容。有什么想法吗

这是我登录用户的代码

import com.facebook.FacebookSdk;
import com.facebook.appevents.AppEventsLogger;

Future<FirebaseUser> initiateFacebookLogin() async {

final FacebookLoginResult result =
await facebookLogin.logInWithReadPermissions(['email', 'public_profile']);

FirebaseUser user =
await _auth.signInWithFacebook(accessToken: result.accessToken.token);
//Token: ${accessToken.token}

ProviderDetails userInfo = new ProviderDetails(
    user.providerId, user.uid, user.displayName, user.photoUrl, user.email);

List<ProviderDetails> providerData = new List<ProviderDetails>();
providerData.add(userInfo);
print(user.displayName);
addToDatabase(user.uid, user.displayName, user.displayName, user.email);
return user;

}
import com.facebook.FacebookSdk;
导入com.facebook.appevents.AppEventsLogger;
未来的initiateFacebookLogin()异步{
最终FacebookLoginResult结果=
等待facebookLogin.logInWithReadPermissions(['email','public_profile']);
FirebaseUser用户=
wait_auth.signiWithFacebook(accessToken:result.accessToken.token);
//令牌:${accessToken.Token}
ProviderDetails userInfo=新ProviderDetails(
user.providerId、user.uid、user.displayName、user.photoUrl、user.email);
列表提供程序数据=新列表();
providerData.add(用户信息);
打印(user.displayName);
addToDatabase(user.uid、user.displayName、user.displayName、user.email);
返回用户;
}

在flatter中,您需要使用flatter\u facebook\u登录插件查看如何获取插件并设置您的flatter应用程序以使用此插件。您还可以查看一篇关于安装程序如何投影的逐步介绍的文章,其中也包含代码示例,但使用的API已过时

下面是一个带有更新API的代码片段,展示了如何使用facebook帐户登录firebase

/// This mehtod makes the real auth
Future<FirebaseUser> firebaseAuthWithFacebook({@required FacebookAccessToken token}) async {

    AuthCredential credential= FacebookAuthProvider.getCredential(accessToken: token.token);
    FirebaseUser firebaseUser = await _authInstance.signInWithCredential(credential);
    return firebaseUser;
}

你也可以查啊哈ok。是的,我有facebook插件。看来我需要用凭证登录,而不是用Facebook登录。谢谢
///This object comes from facebook_login_plugin package
final facebookLogin = new FacebookLogin();

final facebookLoginResult = await facebookLogin
        .logInWithReadPermissions(['email', 'public_profile']);

    switch (facebookLoginResult.status) {
      case FacebookLoginStatus.error:
        print("Error");
        break;

      case FacebookLoginStatus.cancelledByUser:
        print("CancelledByUser");
        break;

      case FacebookLoginStatus.loggedIn:
        print("LoggedIn");
        /// calling the auth mehtod and getting the logged user
        var firebaseUser = await firebaseAuthWithFacebook(
            token: facebookLoginResult.accessToken);
     }
}