前提・実現したいこと
FlutterでFirebaseを連携したいのですが、
import 'package:firebase_auth/firebase_auth.dart';
import 'package:google_sign_in/google_sign_in.dart';
dartファイル内の上記2ファイルがエラーになってしまいます。
以下のサイトを参考に実装しました。
参考サイト
ご教授お願い致します。
発生している問題・エラーメッセージ
Target of URI doesn't exist: package:firebase_auth/firebase_auth.dart Target of URI doesn't exist: package:google_sign_in/google_sign_in.dart
該当のソースコード
android/build.gradleに追記
dependencies { classpath 'com.google.gms:google-services:3.2.1' classpath 'com.android.tools.build:gradle:3.5.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" }
android/app/build.gradleに追記
apply plugin: 'com.google.gms.google-services'
pubspec.yaml
dependencies: flutter: sdk: flutter firebase_core: ^0.2.5 # add dependency for Firebase Core firebase_auth: ^0.6.6 google_sign_in: ^3.2.4
dart
1import 'package:firebase_auth/firebase_auth.dart'; 2import 'package:flutter/material.dart'; 3import 'package:google_sign_in/google_sign_in.dart'; 4 5void main() => runApp(MyApp()); 6 7class MyApp extends StatelessWidget { 8 9 Widget build(BuildContext context) { 10 return MaterialApp( 11 title: 'Flutter × firebase Demo', 12 theme: ThemeData( 13 primarySwatch: Colors.blue, 14 ), 15 home: MyHomePage(title: 'Flutter × firebase Demor'), 16 ); 17 } 18} 19 20class MyHomePage extends StatefulWidget { 21 MyHomePage({Key key, this.title}) : super(key: key); 22 23 final String title; 24 25 26 _MyHomePageState createState() => _MyHomePageState(); 27} 28 29class _MyHomePageState extends State<MyHomePage> { 30 FirebaseUser _user; 31 32 void _setUser(FirebaseUser user) { 33 setState(() { 34 _user = user; 35 }); 36 } 37 38 final GoogleSignIn _googleSignIn = GoogleSignIn(); 39 final FirebaseAuth _auth = FirebaseAuth.instance; 40 41 Future<FirebaseUser> _handleSignIn() async { 42 GoogleSignInAccount googleUser = await _googleSignIn.signIn(); 43 GoogleSignInAuthentication googleAuth = await googleUser.authentication; 44 FirebaseUser user = await _auth.signInWithGoogle( 45 accessToken: googleAuth.accessToken, 46 idToken: googleAuth.idToken, 47 ); 48 print("signed in " + user.displayName); 49 return user; 50 } 51 52 53 Widget build(BuildContext context) { 54 return Scaffold( 55 appBar: AppBar( 56 title: Text(widget.title), 57 ), 58 body: _user == null ? googleAuthBtn() : chat()); 59 } 60 61 Widget googleAuthBtn() { 62 return Center( 63 child: Column( 64 mainAxisAlignment: MainAxisAlignment.center, 65 children: <Widget>[ 66 FlatButton( 67 padding: EdgeInsets.all(20.0), 68 color: Colors.grey, 69 onPressed: () { 70 _handleSignIn() 71 .then((FirebaseUser user) => _setUser(user)) 72 .catchError((e) => print(e)); 73 }, 74 child: Text('google認証'), 75 ), 76 ], 77 ), 78 ); 79 } 80 81 Widget chat() { 82 return Center( 83 child: Column( 84 mainAxisAlignment: MainAxisAlignment.center, 85 children: <Widget>[Text('chat')], 86 ), 87 ); 88 } 89} 90
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。