runApp 이 있는 메인함수에 async 를 주고 넣어야 한다. 이는 Firebase 가 시작하기 전 초기화를 하여 정상적으로 작동할 수 있게 하는거라고 하는데, 만약 이 명령어를 써넣지 않으면
이러한 앱을 구동해도 이런 화면이 뜨면서 Firebase.intializeApp 명령어를 콜하라고 한다. 그래서 나는 firebase 문서를 찾아보고 위와 같이 명령어를 추가해 작동시켰는데, 아래와 같이 하얀창이 뜬 상태로 앱이 정상 작동하지 않았다. 처음에는 그냥 간단한 오류라고 생각했지만, 해결하는데는 정말 오랜시간이 걸렸다.
오류 하얀색 창
Flutter의 생태계가 좁아서 그런지 국내자료는 오류관련해서는 찾아볼 수도 없었고, Stackoverflow 를 뒤져보았다. Flutter clear 하고 rebuild 하는 방법도 있었고, 환경변수를 설정해야한다는 해결책도 있었지만, 모두 나에게는 해결책이 되지 못했다.
본론부터 말하자면 내 해결책은 이것이었다. Firebase 콘솔에서 Firebase 프로젝트에 연결된 Flutter 프로젝트들의 설정에 들어가면 위와 같은 apikey, appid, messagingSenderId, projectId 를 모두 찾을 수 있다.
오른쪽의 톱니바퀴
apikey 는 그냥 웹 api 키 붙여넣으면 되고,
앱 id는 아래로 내려보면 나온다.
messagingSenderId 는 위의 메뉴 중 클라우드 메시징을 누르면 아래에 발신자 ID가 나오는데 그것이다.
마지막 프로젝트 아이디는 그냥 프로젝트 아이디이다. (일반 메뉴에 있다.)
복붙을 모두 끝내고 이제 실행한다면 Firebase가 잘 연동된 상태로 실행될 것이다. 하루종일 Stackoverflow 를 뒤지고 이 방법을 찾아서 성공했을때 쾌감은 쩔었다. 만약 이 방법으로 했는데도 실행이 되지 않는다면, Stackoverflow 에서 찾아봐라 프로젝트를 rebuild 해야하는데 이건 쉬우니깐 대충 찾다보면 나온다. 모르겠으면 댓글 쓰시고, 다른 오류가 있다면 같이 해결을 도와줄테니깐 댓글 남기길 바란다. rebuild 명령어는 안드로이드 스튜디오에서 터미널 연 다음에 하면 된다.
이 가이드에서는 플러터에 대한 원리나 지식을 배제하고, 어떻게 플러터를 사용하는지에 대한 전반적인 감을 전달하는데에 초점을 맞추었습니다.
플러터는 구글에서 개발한 크로스 플랫폼 프레임워크로 안드로이드와 ios 환경의 앱을 모두 개발할 수 있습니다. 저는 과거, 혼자서 앱을 개발하고 싶었지만, 혼자서 두가지 환경을 개발할 수 없었기에 플러터 개발을 선택했습니다. 거두절미하고 본격적으로 플러터 개발에 앞서, 플러터를 설치하는 방법을 이번편에서는 플러터를 설치하는 방법에 대해서 알려드리겠습니다.
저희는 안드로이드 스튜디오를 통해서 플러터를 개발할 것입니다. 프로그램 이름만 들으면 안드로이드 환경의 개발만 될 것 같지만, ios 도 가능합니다.