我是Flutter的新手,我可以通过 GOOGLE / FACEBOOK 与Flutter进行登录吗?
谢谢
最佳答案
从现在开始添加此迟到的答案,现在有一个package,flutter_facebook_login
替换了flutter_facebook_connect
。这是一个应该起作用的main.dart
示例。请记住,您必须遵循存储库中所述的所有configuration,并且必须配置了一个facebook应用程序:
import 'package:flutter/material.dart';
import 'package:flutter_facebook_login/flutter_facebook_login.dart';
import 'dart:async';
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Facebook Login',
theme: new ThemeData(
primarySwatch: Colors.blue,
),
home: new MyHomePage(title: 'Flutter Login Facebook'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => new _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
login() async {
final facebookLogin = new FacebookLogin();
final result = await facebookLogin.logIn(['email']);
// final result = await facebookLogin.logInWithReadPermissions(['email']); --> Versions bellow 3.0
switch (result.status) {
case FacebookLoginStatus.loggedIn:
print(result.accessToken.token);
break;
case FacebookLoginStatus.cancelledByUser:
print('CANCELED BY USER');
break;
case FacebookLoginStatus.error:
print(result.errorMessage);
break;
}
}
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text(widget.title),
),
floatingActionButton: new FloatingActionButton(
onPressed: login,
tooltip: 'Login With Facebook',
child: new Icon(Icons.add),
),
);
}
}
单击右下按钮时,您应该会看到登录屏幕,并在调试控制台上检查打印的响应:
由于该软件包实际上在Android和iOS上使用本机Facebook登录SDK,因此这是目前的做法。因此,没有借口使用Firebase或不必自己连接!
希望它可以帮助遇到Facebook登录问题的其他人。并归功于软件包创建者roughike
对于google登录,请使用google_sign_in,该软件包实际上已经相当成熟并且更容易上手。