목록개발/flutter (131)
파파비의 블로그
그냥 학교 과제용 프로젝트가 아닌, 프로덕션 레벨의 프로덕트를 만들기 위해서는 테스트 코드가 필수다. 그리고 Flutter에는 unit test부터 widget test, 통합테스트 등 다양하게 있는데, 오늘은 그 중에 가장 하위 단계에 있는 unit test에 대해 정리해보고자 한다. 1. 테스트 파일 : test는 test 폴더에 작성하게 된다. lib에 원하는 코드를 작성하고, 그 script에 대한 test는 _test를 붙여서 네이밍해준다. 예) lib에 time_checker.dart가 존재한다면, test 폴더 안에는 time_checker_test.dart 로 표시해야 그 파일에 대한 test 파일 로 인식된다. 2. 좋은 Unit Test 작성 방법 : Unit Test는 3가지로 나누어..
Firebase에서는 Auth 기능이 존재합니다. 회원가입 등의 절차를 대신 해주는 기능인데요 Firebase를 이용하면 코드 단 몇줄로, 서버도 따로 구축할 필요없이 !! firebase에서 다 알아서 해줍니다. 이메일 가입이나 익명 가입 등등 다양한 기능들은 다른 곳에서도 소개가 많이 되어 있으니, 제가 오늘 다뤄볼 내용은 바로 이메일 인증에 관한 내용입니다. 보통 많은 서비스들이 이메일로 가입하면, 제대로 된 이메일인지 확인하기 위해 인증이메일을 보내서 이메일에 있는 링크누르면 인증되는 절차를 거치잖아요? 그 기능입니다. 구현하는건 무지 간단합니다 일단 Firebase 기능들을 다 제대로 설치했다고 가정합니다. 일단 코드부터 보죠 절차는, 먼저 가입을 진행하고, (await으로 완전히 가입될때까지 ..
1) 스트림이란? - 큰 Data를 잘게 나누어서 한번에 다 다운받지 않고도 data를 받아서 사용이 가능하다. - 유튜브 영상이나 동영상 강의 같은 것들을 생각하면 된다. 2) 플러터에도 Stream이 사용되는데, 약간 결이 다른 것 같다. (다운로드 같은건 아니니까..) - 먼저 스트림은 data가 날라오면 구독자들에게 알리는 역할을 한다. 알리면서 당연히 해당 data도 전달한다. - SteamController 라는 객체를 만들면, Stream이 형성되고, 이 Stream을 통제할 수 있는 Controller도 같이 나온다. - (SteamController 객체를 stream이라고 부르겠다) stream.listen하고 인수로 함수를 넣으면, steam을 통해 어떤 data가 전달되었을 때, 바..
플러터는 ios나 안드로이드에서 구동되는데, 이때 이렇게 host와 대화하는 할 때 사용하는 통로를 Platform Channel 이라고 한다. 여기에는 2개가 있다. 1. Method Channel 2. Event Channel 이둘은 os의 정보를 플러터에게 제공한다는 점에서는 같지만, Event Channel은 stream의 성격을 가지고 있고, Method Channel은 단발적이라고 보면 된다. 여기서는 Method Channel에 대해 심도있게 다뤄보려고 하는데, 먼저 Output부터 보고 얘기하자. - 이 플러터 앱은 os의 빌드버젼을 확인할 수 있다. - 따로 어떤 플러그인을 쓴 것이 아니다. os버전은 기기 마다 다르기 때문에 직접 os에 가서 확인해야 한다. 어떻게 한 것일까? Meth..
1) 패키지 다운 https://pub.dev/packages/firebase_admob firebase_admob | Flutter Package Flutter plugin for Firebase AdMob, supporting banner, interstitial (full-screen), and rewarded video ads pub.dev 패키지 넣고 2) 안드로이드 메니페스트에 app id 넣기 테스트용 값은 (참고로 어플리케이션 태그 안에 넣어야 한다. 엑티비티 태그 안에 넣어버리면 팅긴다.) 3) 코드 넣기 1. 광고 객체 설정하기 배너랑 전면광고에 대한 객체를 설정하였다. 저 메소드들은 initstate에서 실행이 된다. 특히 리스너를 잘 보면, 광고가 닫힐 때, 메모리에서 지우고 새로운..
퍼블리싱 하는 순서를 나타낸다. 1) 일단 코드짜고, 테스트하고 최적화까지 완료 2) 앱 이름 설정 & 식별자 설정 3) 써드파티 API 설정 확인 4) 아이콘 & 스플래쉬 이미지 설정 5) 올리기 1)은 생략하고 2)부터 보자 2) 앱 이름 설정 & 식별자 설정 일단 앱의 이름이나 식별자 등을 설정하기 위해선 요기, AndroidManifest.xml에 가서 Metadata를 좀 손봐야 한다. 그 중에서 어플리케이션 tag에, 1) label 부분은 사용자에게 보여지는 앱 이름이다. 앱을 깔고나서 바탕화면쪽에서 반영되는 이름이다. - 그래서 예쁘게 지어야 한다! 2) 그 위에 name은 그냥 내부적인 앱 식별자이므로 딱히 고칠필요는 없다. (참고로 얘는 패키지이름하고는 다른 개념이다!!) - 패키지 이..
https://flutter.dev/docs/development/platform-integration/platform-channels Writing custom platform-specific code Learn how to write custom platform-specific code in your app. flutter.dev 강의 https://www.udemy.com/course/learn-flutter-dart-to-build-ios-android-apps/learn/lecture/15200030#questions ...MethodChannel 객체는 앱이 돌아가고 있는 OS (ios나 안드로이드 등)과 플러터가 연결되는 통로가 된다. 필요할 때 자세히 보도록 하자.
안드로이드나, ios 모두 푸시알람 기능을 하기 위해선 push Notification Server에 따로 등록을 해두어야 한다. 그래야 보안이나 오남용 이슈를 방지할 수 있다. 앱을 push Notification Server에 등록하고, 푸시 알람을 보내기 위해선 해당 서버로 요청을 보내면 되고 그러면 해당 서버가 각 앱이 깔린 디바이스들에게 알람을 보내는 형태이다. 이렇게 등록과정이 필요하기 때문에 해당 기능을 앱에 적용하기 위해선 단순히 패키지만을 넣으면 되는 것이 아니라 몇가지 더 할일이 필요하다. 일단 패키지부터 https://pub.dev/packages/firebase_messaging#-installing-tab- firebase_messaging | Flutter Package Flut..