Flutter を初めて使用します。Flutter でGOOGLE/FACEBOOKを使用してサインインできる方法はありますか。
ありがとう
Flutter を初めて使用します。Flutter でGOOGLE/FACEBOOKを使用してサインインできる方法はありますか。
ありがとう
を置き換えるpackageがあるため、この遅い回答を追加します。これは機能するはずの機能的な例です。リポジトリで説明されているすべての構成に従っている必要があり、facebook アプリが構成されている必要があることに注意してください。flutter_facebook_login
flutter_facebook_connect
main.dart
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 を使用します。このパッケージは実際には非常に成熟しており、簡単に使用できます。
Flutter Dartに直接実装されているとは思わない
しかし、おそらくネイティブ実装を使用して、Java/Swift コードと通信します。UI を構築し、フラッターからネイティブ OAuth ワークフローをトリガーできます。
https://github.com/flutter/flutter/tree/master/examples/hello_services