전체 글 썸네일형 리스트형 github를 통해 flutter webapp 자동 배포하기 현재 작업중인 flutter 프로젝트의 webapp을 자동으로 배포하기 위해 github의 web hosting을 이용했다. 1. github 메인 호스팅 repogitory 만들기 github에 userName.github.io 이름으로 repogitory를 생성한다. 2. flutter project에 github workflows 추가 자신의 flutter project의 root directory부터 .github/workflows 폴더를 생성한다. 그 후 원하는 파일이름.yml 파일을 생성해 준다. 파일생성 후, 아래 내용을 추가해 준다.(출처: https://joeyhwang.tistory.com/20) name: Build and deploy flutter web app on: push: b.. 더보기 firebase auth에 계정 등록하는 방법 FirebaseAuth의 createUserWithEmailAndPassword 활용 이때 형식에 맞지 않는 이메일이나 중복된 이메일을 넣어주면 해당 API에서 exception을 발생시킨다 password는 6글자 이상으로 해야한다. 그렇지 않으면 exception 발생 Future createAccount(String name, String userId, String userPw) async { final _authentication = FirebaseAuth.instance; String err = ''; try { final newAccount = await _authentication.createUserWithEmailAndPassword( email: userId, password: userP.. 더보기 StreamBuilder를 통해 chatting message 가져오기 1. 채팅 메세지 전송 시 추가 사항 메세지 전송 버튼을 클릭해 firestore에 저장할 때, Timestamp를 활용해 시간을 기록 await _firestore .collection('chatting').doc('messages') .collection('data').doc(widget.chattingRoomId) .collection('chat').add({ 'uid' : _authentication.currentUser!.uid, 'message' : _sendedMessage, 'time' : Timestamp.now(), }); 2. StreamBuilder 및 FutureBuilder 사용 2.0. Stream과 Future의 차이 2.1. 전체 코드 Widget _buildProfileB.. 더보기 Firestore에 데이터 저장하는 방법 1. add를 이용한 방식 add를 이용하면 doc id는 자동으로 생성이 된다. add에 넣을 값은 map 형식으로 제공해야 한다. 이때 path로 지정한 collection이나 doc이 없으면 생성해 준다. class _MessageSendBarState extends State { final _authentication = FirebaseAuth.instance; final _firestore = FirebaseFirestore.instance; final _textFieldController = TextEditingController(); var _sendedMessage = ''; Future _sendMessage() async { FocusScope.of(context).unfocus(); .. 더보기 Firestore db 권한 설정 1. Firestore에 규칙 추가 규칙 택 선택 규칙 추가 match /user/{uid} { allow read, write: if request.auth != null && request.auth.uid == uid; } match /user/{uid} { allow read: if request.auth != null; } match /chats/{document=**} { allow read, create: if request.auth != null; } request.auth는 로그인 인증정보가 있어야 한다는 뜻 document=** 의 뜻은 하위 모든 문서를 포함 더보기 Flutter Firestore 연동 1. flutter에 firestore 플러그인 추가 1-1. 플러그인 추가 firestore 관련 플러그인 추가 flutter pub add cloud_firestore flutterfire configure 2-2. flutter 프로젝트 코드 수정 후 빌드 import 'package:cloud_firestore/cloud_firestore.dart'; 1-2. 빌드 에러 핸들링 이때 빌드 시 에러 발생 에러 내용대로 android/app/build.gradle 파일에 minSdkVersion을 19로 수정 후 다시 빌드 defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studi.. 더보기 Flutter firebase 로그인 연동 1. firebase project 설정 프로젝트 선택 후 빌드 -> Authentication 선택 시작하기 버튼 클릭 후 이메일/비밀번호 클릭 후, 사용 설정한 후에 저장 선 2. flutter 파일 수정 2-1. 플러그인 추가 auth 관련 플러그인 추가 flutter pub add firebase_auth flutterfire configure 2-2. flutter 프로젝트 코드 수정 auth 파일을 import 후, 인스턴스 생성 import 'package:firebase_auth/firebase_auth.dart'; ... final _authentication = FirebaseAuth.instance; ... 2-3. user 생성하기 try { final newUser = await .. 더보기 Flutter와 Firebase 연동 아래 공식 문서와 코딩셰프 유튜브를 기반으로 내 flutter 프로젝트에 firebase 연동하는 방법을 설명 https://firebase.google.com/docs/flutter/setup?hl=ko&platform=android Flutter 앱에 Firebase 추가 의견 보내기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Flutter 앱에 Firebase 추가 plat_ios plat_android plat_web iOS+ Android 웹 기본 요건 아직 Flutter 앱이 없다면 firebase.google.com https://youtu.be/J3OqrOJpPVQ 1. firebase CLI 설치 현재 firebase는 CLI를 통해 작업을 수행하는 것.. 더보기 이전 1 다음