DISCLAIMER
No maintenance on this package anymore. Prefer to use flutter_facebook_login
Facebook Connect for Flutter
Easy way to connect users to Facebook inside your application via OAuth2
See configuration for flutter_webview_plugin
Redirection Url need to be http://localhost:8080
.
Add following lines to Info.plist
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>localhost:8080</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSIncludesSubdomains</key>
<true/>
</dict>
</dict>
</dict>
Using FacebookConnect
class
final _facebookConnect = new FacebookConnect(
appId: '<APP_ID>',
clientSecret: '<CLIENT_SECRET');
FacebookOAuthToken token = await _facebookConnect.login();
Using FacebookLoginButton
widget
new FacebookLoginButton(
appId: '<APP_ID>',
clientSecret: '<CLIENT_SECRET>',
scope: [FacebookAuthScope.publicProfile],
onConnect: (api, token) {
...
}),
Please file feature requests and bugs at the issue tracker.
FacebookLoginButton
WidgetFacebookOptions
classexample/lib/main.dart
import 'package:flutter/material.dart';
import 'package:flutter_facebook_connect/flutter_facebook_connect.dart';
void main() {
runApp(new MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
theme: new ThemeData(
primarySwatch: Colors.blue,
),
home: new MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
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> {
FacebookConnect _connect;
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text(widget.title),
),
body: new Center(
child: new Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new Container(
child: new Text(
_connect?.token != null ? "connected" : "not connected"),
padding: new EdgeInsets.all(8.0),
),
new FacebookLoginButton(
appId: '<APP_ID>',
clientSecret: '<CLIENT_SECRET>',
scope: [FacebookAuthScope.publicProfile],
cookie: false,
onConnect: (api, token) {
_connect = api;
print(token);
setState(() {});
}),
new FlatButton(
onPressed: () {
_connect?.logout();
setState(() {});
},
child: new Text("Logout"))
],
),
));
}
}
Add this to your package's pubspec.yaml file:
dependencies:
flutter_facebook_connect: ^0.0.4+1
You can install packages from the command line:
with pub:
$ pub get
with Flutter:
$ flutter packages get
Alternatively, your editor might support pub get
or flutter packages get
.
Check the docs for your editor to learn more.
Now in your Dart code, you can use:
import 'package:flutter_facebook_connect/flutter_facebook_connect.dart';
Version | Uploaded | Documentation | Archive |
---|---|---|---|
0.0.4+1 | Mar 11, 2018 |
|
|
0.0.4 | Jan 20, 2018 |
|
|
0.0.3 | Jul 30, 2017 |
|
|
0.0.2 | Jul 24, 2017 |
|
|
0.0.1 | Jul 24, 2017 |
|
|
Popularity:
Describes how popular the package is relative to other packages.
[more]
|
55
|
Health:
Code health derived from static analysis.
[more]
|
--
|
Maintenance:
Reflects how tidy and up-to-date the package is.
[more]
|
--
|
Overall:
Weighted score of the above.
[more]
|
27
|
The package version is not analyzed, because it does not support Dart 2. Until this is resolved, the package will receive a health and maintenance score of 0.
Support Dart 2 in pubspec.yaml
.
The SDK constraint in pubspec.yaml
doesn't allow the Dart 2.0.0 release. For information about upgrading it to be Dart 2 compatible, please see https://www.dartlang.org/dart-2#migration.
Make sure dartdoc
successfully runs on your package's source files. (-10 points)
Dependencies were not resolved.
Package | Constraint | Resolved | Available |
---|---|---|---|
Direct dependencies | |||
Dart SDK | >=1.20.1 <2.0.0 |