15

Flutter を初めて使用します。Flutter でGOOGLE/FACEBOOKを使用してサインインできる方法はありますか。

ありがとう

4

4 に答える 4

6

を置き換えるpackageがあるため、この遅い回答を追加します。これは機能するはずの機能的な例です。リポジトリで説明されているすべての構成に従っている必要があり、facebook アプリが構成されている必要があることに注意してください。flutter_facebook_loginflutter_facebook_connectmain.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 を使用します。このパッケージは実際には非常に成熟しており、簡単に使用できます。

于 2018-06-06T04:02:40.970 に答える
1

Flutter Dartに直接実装されているとは思わない

しかし、おそらくネイティブ実装を使用して、Java/Swift コードと通信します。UI を構築し、フラッターからネイティブ OAuth ワークフローをトリガーできます。

https://github.com/flutter/flutter/tree/master/examples/hello_services

于 2017-01-09T14:14:37.000 に答える