플러터:Firebase

학교의 모든 지식. SMwiki
둘러보기로 이동 검색으로 이동

틀:플러터 Dart:개요 플러터에 대한 지식 분류

  1. 플러터:개요
    1. 플러터:VSCode
  2. 플러터:실행
  3. 개념 잡기
    1. 플러터:화면 하나 만들기
    2. 플러터:변하는 화면(StatefulWidget)
    3. 플러터:화면 전환(화면 쌓기, 하단 네비게이션 바)
    4. 플러터:화면 전환(Drawer)
    5. 플러터:키보드 입력
    6. 플러터:슬라이더
    7. 플러터:그래프 그리기(fl chart)
    8. 플러터:데이터 저장(간단한 데이터)
    9. 플러터:인증(Firebase 인증)
    10. 플러터:인증(OAuth2)
  4. 권한 사용
    1. 플러터:마이크 입력
  5. 위젯
    1. 플러터:아이콘
    2. 플러터:레이아웃 계열 위젯
    3. 플러터:네비게이션 계열 위젯
    4. 플러터:버튼
    5. 플러터:상태관리
  6. 플러터:DB연결
    1. 플러터:Firebase
    2. 플러터:MySQL
  7. 디자인
    1. 플러터:테마
    2. 플러터:앱바
    3. 플러터:버튼
  8. 플러터:배포
  9. 플러터:참고자료
  10. 플러터:위젯
    1. 플러터:공간배치용 위젯
  11. 플러터:라이브러리
    1. 플러터:logger

개요[편집 | 원본 편집]

FireBase에서 데이터베이스와 스토리지 서비스를 시작한다.(스토리지는 요금제 내는 서비스로 바꾸어야 진행 가능)

중간에 서비스를 바꾸게 되면.. 얼마나 복잡할지.......

룰 설정[편집 | 원본 편집]

Strage를 처음 만들면 아무도 사용할 수 없는 상태이기에 룰 변경이 필요하다.

항목 설정
스토리지 룰 설정
rules_version = '2';

// Craft rules based on data in your Firestore database
// allow write: if firestore.get(
//    /databases/(default)/documents/users/$(request.auth.uid)).data.isAdmin;
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write:
      if request.auth != null;  // 로그인을 한 유저가 읽고 쓰기가 가능함을 지정.
    }
  }
}
데이터베이스 룰 설정
rules_version = '2';

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write:
      if request.auth != null;
    }
  }
}

플러터와 연결[편집 | 원본 편집]

항목 설정 비고
Git은 있겠지.
Node.js
환경변수 추가 터미널에서 $env:Path += ";$env:LOCALAPPDATA\Pub\Cache\bin" 로 간단히 추가할 수 있다.
  • 사용자 환경변수에서 추가.
  • %LOCALAPPDATA%\Pub\Cache\bin
  • 위로 이동하여 %로 시작하는 변수들이 있는 곳으로 옮겨준다.
  • 모두 '확인' 버튼을 눌러 닫기.
환경변수를 적용하게끔 IDE를 재시작.
연결 IDE의 터미널에서
  • Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  • firebase login
브라우저가 열리면 로그인.
파이어베이스 설정
  1. 콘솔에서 Flutter를 추가한다.
  2. 안내해주는 코드를 그대로 IDE 터미널에 복붙해서 실행. 이것저것 설치.
  3. firebase init 으로 실행. 서비스를 고르게 되어있는데, firestore, storage를 스페이스로 선택 후 엔터.
  4. 기존 프로젝트를 사용한다고 진행.(위에서 이미 만듦. 위에서 룰 따위도 만들어두었으니 그냥 enter로 진행.)
관련 패키지 설치
  • start ms-settings:developers (개발자모드 활성화)
  • flutter pub add firebase_auth firebase_storage cloud_firestore
  • flutter pub get
사용(플러터에서 연결) import 'package:firebase_core/firebase_core.dart';

void main() async {   WidgetsFlutterBinding.ensureInitialized();

  await Firebase.initializeApp(

    options: DefaultFirebaseOptions.currentPlatform,

  );

}