본문 바로가기

플러터44

[Flutter] admob(애드몹) - 앱 만들어서 네이티브 광고로 돈 벌기, 수익 내기(Native Ads) 애드몹(admob) 네이티브 광고(Native ads)란? Admob에는 배너광고, 전면광고, 보상형광고 그리고 오늘의 주제인 네이티브 광고(Native Ads)가 있습니다. 애드몹 공식 사이트에는 네이티브 광고를 다음과 같이 설명하고 있습니다. 앱의 디자인과 스타일에 어울리게 설정할 수 있는 맞춤 광고입니다. 광고 배치 방법 및 위치를 정할 수 있으므로 광고 레이아웃과 앱 디자인 간의 일관성 유지가 가능합니다. 네 맞습니다. 애드몹 네이티브 광고는 우리가 만든 앱에 디자인과 유사하게 만들어 자연스럽게 융화되어 광고를 할 수 있는 맞춤형 애드몹 광고 중 하나입니다. 시작하기에 앞서 이 포스팅의 대상은 애드몹 배너 광고등 다른 애드몹 광고를 만들어본 경험이 어느 정도 있는 분들을 대상으로 쓰여있어 기본적인.. 플러터관련 정보/플러터-안드로이드 개발 2023. 3. 20.
[Flutter, android] com.google.android.gms:play-services-safetynet:17.0.0 오류 관련 얼마 전에 새로운 앱을 구글 플레이 스토어에 배포하니 com.google.android.gms:play-services-safetynet:17.0.0 이런 오류 메세지가 떠서 여기 저기 구글을 검색해보며 무엇이 문제인지 알아보았습니다. 일단 해당 오류는 firebase auth 와 관련이 있는거 같아보였습니다. 해당 이슈는 native firebase가 문제 스택 오버플로우를 열심히 검색해보니 파이어베이스로 인증을 구현한 것이 문제였습니다. 일단 firebase_auth의 깃허브의 이슈에서 해당 문제를 검색해보았습니다. 답변 내용을 보니 native firebase sdk를 고쳐야 된다는 이야기가 나오네요. 바로 답변의 링크를 타고 가보았습니다. https://github.com/firebase/flu.. 플러터관련 정보/플러터-안드로이드 개발 2023. 3. 18.
[플러터와 파이어베이스]배포시 파이어베이스 로그인(Authentication(인증)) SHA-1을 추가해야 정상적으로 로그인이 된다. 개발 할 때는 로그인(Authentication(인증))잘 되었는데 플레이스토어에 배포하니까 로그인이 안 될때 파이어베이스의 여러 서비스 중 Authentication(로그인) 부분도 상당히 유용합니다. 이번에 처음으로 구글 로그인 기능을 추가한 앱을 만들어서 구글 플레이 스토어에 올렸는데요 2번의 거부가 발생하였지만 어찌 어찌 승인이 되어 기쁜 마음으로 다운 받아서 로그인 해보려고 하니 로그인 중 이라는 무한로딩이 발생하였습니다. 플레이 스토어에 올라간 뒤에는 SHA-1 인증서 추가 입력해야 된다. 그동안 개발 단계에서는 sha-1 인증 값을 터미널에서cd android && ./gradlew signingReport 입력하면 나오는 값으로 사용했습니다. 플레이스토어에 정식으로 출시한 앱은 플레이 스토.. 플러터관련 정보/파이어 베이스(플러터) 2023. 3. 14.
[플러터와 파이어베이스] 데이터 쿼리 정리(WHERE 문) 이번 포스팅에서는 1인 개발자에게 필수적인 파이어베이스 서비스 중 fireStore의 공식문서를 보고 공부한 내용을 이번 기회에 정리해보고자 작성해 보았습니다. 특히 데이터를 불러오는 방법이 중요하다 느껴 관계형 DB로 치면 WHERE문(arrayContrainsAny, arrayContains, whereIn)을 파이어베이스에서 어떻게 사용하는지 정리해 보겠습니다. 기본 이해 플러터로 백엔드 서버와 데이터를 주고받는 방식에 대해 일단 작성해보겠습니다. 플러터(Dart) 뿐아니라 다른 모든 언어도 다음과 같은 방식으로 서버와 데이터를 주고받고 있을 겁니다. 플러터에서 파이어베이스로 데이터 전달 데이터를 하나의 객체에 담는다. 데이터를 Json 형태로 변환한다. 서버(firebase)에 데이터를 보낸다. .. 플러터관련 정보/파이어 베이스(플러터) 2023. 2. 25.
[1인 앱 개발] 부업으로 하는 1인 앱 개발 수익은 얼마나 될까?? -주의사항, 후기 포함 우선 저는 비전공자에 IT계열 종사자도 아닌 사람입니다. 공대를 나오기는 했지만 컴퓨터 쪽과는 거리가 있는 전공을 하였고, 플러터라는 것으로 안드로이드 개발을 하고 있습니다. 처음에는 책으로 공부하다가 코딩파파라는 강의를 구매해서 강의를 보고 총 6개의 앱을 제작하여 배포하였습니다.   그동안 출시한 앱들 독학으로 인터넷 강의를 들으면서 플러터로 만든 앱은 총 6개입니다. 이 중 5개의 앱에 배너광고를 달아 운영중입니다. 그리고 가장 많은 사용자가 있는 앱은 구글애즈 광고도 한 앱입니다.  광고 수익 공개 8월 한달간 광고 수익입니다. 매달 이렇게 들어오지는 않고, 이 달만 어째서인지 많이 들어온거 같습니다. 이렇게 해서 총 11달러의 애드몹 수익을 얻었습니다. 다만 중간중간 구글애즈를 통해 유입된 사람.. 후기/내가 직접 경험한 후기 2022. 9. 12.
geoflutterfire ^3.0.3 which depends on flutter_lints ^1.0.0 오류 해결 geoflutterfire pub get 시 오류 로그 Because carrot_reboot depends on geoflutterfire ^3.0.3 which depends on flutter_lints ^1.0.0, flutter_lints ^1.0.0 is required. So, because carrot_reboot depends on flutter_lints ^2.0.0, version solving failed. pub get failed (1; So, because carrot_reboot depends on flutter_lints ^2.0.0, version solving failed.) 해결방법 geoflutterfire: ^3.0.2로 다운그레이드 하면 해결 플러터관련 정보/플러터-안드로이드 개발 2022. 8. 23.
[플러터3.0, 파이어베이스] 파이어 베이스 폰 인증 하기 firebase에는 여러가지 기능들이 있는데 이번에는 전화번호인증(Phone Authentication) 하는 법에 대해 알아보도록 하겠습니다. 참고사이트 https://console.firebase.google.com/ https://firebase.google.com/docs/flutter/setup https://firebase.google.com/docs/auth/flutter/phone-auth?hl=ko 필요한 패키지 firebase_core: ^1.20.1 firebase_auth: ^3.6.3 기초 작업 패키지를 설치한다 파이어베이스에 프로젝트를 만든다. 프로젝트와 파이어베이스를 연결한다. 여기 까지의 과정은 아래 링크에 나와 있으니 참조하시기 바랍니다. 2022.07.03 - 플러터와 파.. 플러터관련 정보/파이어 베이스(플러터) 2022. 8. 15.
[flutter] 코딩파파 당근마켓 클론 코딩 강좌 공부 - Beamer에서 Go_Router로 전환 Beamer Stackoverflow 에러 발생 코딩파파 당근마켓 클론코딩을 공부하다 보면 대부분의 사람들이 막히는 부분이 있습니다. 바로 beamer를 사용하는 부분일것입니다. 1.2버전까지는 코딩파파님의 강의대로 하면 되지만 이후 버전에서는 아마 오류가 나면서 이 문제로 코딩파파 슬랙에 비슷한 문제로 고민하고 계신분들이 많습니다. 그러던 중 코딩파파님께서 go_router라는 패키지를 소개 해주셨고 바로 당근마켓 클론 코딩을 beamer에서 go_router로 성공적으로 전환하였습니다. 이전에 간단한 코드로 go_router를 소개한 글이 있으니 참조하시기 바랍니다. 2023.3.23일 기준 go_router 최신 버전을 반영한 포스팅입니다. 2023.03.23 - [Flutter] - go_rout.. 플러터관련 정보/플러터-안드로이드 개발 2022. 8. 14.
[flutter, shared_preferences] No implementation found for method getAll on channel plugins.flutter.io/shared_preferences_android 에러 해결법 shared_preferences 에러 해결법 Unhandled Exception: MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/shared_preferences_android) 이런 에러가 발생하면 앱을 핫리로드를 사용해서 일수도 있습니다. 앱을 완전히 정지한 뒤 다시 빌드하면 에러가 발생하지 않습니다. 플러터관련 정보/플러터-안드로이드 개발 2022. 8. 5.
플러터와 파이어베이스 4탄 - 파이어스토어에 데이터 수정하기(UPDATE), 데이터 삭제하기(Delete) Flutter & FireBase(FireStore) 데이터 수정하기, 삭제하기 편 대망에 파이어스토어 CRUD편의 마지막입니다. 저장하기, 읽어오기, 수정하기, 삭제하기가 데이터베이스를 처음 접했을때 지겹게 듣고 실습했던 내용인데 이렇게 다시한면 파이어스토어에 CRUD를 복습해보는 경험을 했습니다. 아마도몸이 익을때 까지 한 백번은 실습을 해야할텐데 그때마다 처음 시작하는 마음으로 자료를 찾아보는것이 어렵기 때문에 이렇게 시리즈로 한번 만들어 보았습니다. 우선 가장 쉬운 삭제하기 DocumentReference에 delete() 메소드를 사용하면 간단하게 삭제 기능을 구현할수 있습니다. //DELETE Future deleteMemo(DocumentReference reference) async { a.. 플러터관련 정보/파이어 베이스(플러터) 2022. 6. 19.
플러터와 파이어베이스 3탄 - 파이어 베이스 데이터 가져오기(READ)-DocumentReference란?? CollectionReference 플러터로 파이어 베이스 데이터 가져오기(READ) 1탄과 2탄에 이어 이번에는 파이어베이스(파이어스토어)에 저장된 데이터를 불러오는 방법에 대해 알아보겠습니다. 우선 기본 용어와 흐름 부터 정리해보도록 하겠습니다. 파이어베이스로 데이터 읽어오기에 필요한 용어, 지식 정리 DocumentReference란?? 다큐먼트의 위치를 나타내며, 이것을 이용해서 저장하기, 읽어오기, 삭제, 수정의 기능을 할수 있습니다. CollectionReference 란?? - CollectionReference.doc(path)를 이용해 특정 다큐먼트를 가지고 오고 이 메소드의 결과는 DocumentReference 형태로 반환됩니다. - CollectionReference.add(data)를 이용해 data를 저장할수 있습.. 플러터관련 정보/파이어 베이스(플러터) 2022. 6. 17.
플러터와 파이어베이스 2탄- 파이어스토어에 자료 저장하기(create)-(2) 이전편에서 편리하게 데이터를 가공하기위한 자료형을 만들었습니다. 이번에는 파이어베이스 공식 문서를 보고 데이터를 파이어스토어에 저장하는 코드를 작성해보도록 하겠습니다. 이 포스팅은 코딩파파님의 강의를 듣고 다시 한번 복습하는 의미에서 작성된 포스팅입니다. 이전편: https://jh-industry.tistory.com/65 파이어베이스 공식문서: https://firebase.google.com/docs/firestore CRUD 구현을 위한 클래스 만들기- Create 부분만 이전에 set을 이용해서 데이터를 저장하는 코딩파파님의 방식에서 공식 문서에 간단하게 설명하고 있는 add 방식으로 해보겠습니다. 파이어베이스에 저장하는 클래스 구현 앞으로 이 FireService클래스 안에 CRUD를 모두 구.. 플러터관련 정보/파이어 베이스(플러터) 2022. 6. 16.
플러터와 파이어베이스 2탄- 파이어스토어에 자료 저장하기(create)-(1) 플러터와 파이어베이스 2탄 파이어 스토어에 저장하기 편입니다. CRUD 중 Create에 해당하는 내용인데요. 파이어베이스 초기 설정을 하지 않으신 분은 아래 링크로 가셔서 파이어 베이스와 플러터 프로젝트를 연결해 주시기 바랍니다. https://jh-industry.tistory.com/61 플러터와 파이어베이스 1탄- 플러터 3.0 업데이트 후 파이어베이스(firebase) 설정법(2) 이전 포스팅 플러터와 파이어베이스 1탄 - 플러터 3.0 업데이트 후 파이어베이스(firebase) 설정법(1) Flutter 3.0은 파이어베이스가 정식 지원 플러터 3.0 업데이트 후 저에게 가장 크게 와닿는 변화는 f jh-industry.tistory.com 제가 전에 만든 파이어 스토어 관련 포스팅입니다. 여.. 플러터관련 정보/파이어 베이스(플러터) 2022. 6. 14.
[flutter, 안드로이드 스튜디오] setState가 자동으로 안뜸 - 임시해결법(라이브 템플릿) 갑자기 안드로이드 스튜디오에서 setState가 자동으로 안뜬다?? 플러터 업데이트, 다트, 플러터 플러그인, 안드로이드 스튜디오 이중에 어떤게 문제 인지 알수 없지만 갑자기 잘 나오던 setState 자동완성이 되지 않는 문제가 발생하였습니다. 그래서 스택 오버플로우 검색 해보았습니다. https://stackoverflow.com/questions/72536630/flutter-setstate-isnt-triggered-in-android-studio Flutter setState isn't triggered in Android studio I'm absolutely new to programming and Flutter as well, so sorry for my silly question but .. 플러터관련 정보/플러터-안드로이드 개발 2022. 6. 12.
플러터와 파이어베이스 1탄- 플러터 3.0 업데이트 후 파이어베이스(firebase) 연동(2) 이전 포스팅 플러터와 파이어베이스 1탄 - 플러터 3.0 업데이트 후 파이어베이스(firebase) 설정법(1) Flutter 3.0은 파이어베이스가 정식 지원 플러터 3.0 업데이트 후 저에게 가장 크게 와닿는 변화는 firebase가 정식 지원을 한다는 점입니다. 이제 flutterfire사이트가 아닌 파이어베이스 공식문서에 플 jh-industry.tistory.com 시작하며... 이전에 명령어를 통해 플러터 프로젝트를 파이어베이스와 연결하는 작업을 하였습니다. 이제는 플러터 프로젝트 내에서 패키지를 설치하여 사용만 하면 됩니다. 1. 필요한 패키지 설치 flutter에서 firebase를 사용하기 위해서는 아래 파이어베이스 코어 패키지가 필요합니다. 플러터 프로젝트에 파이어베이스코어를 설치합니다.. 플러터관련 정보/파이어 베이스(플러터) 2022. 6. 7.
[flutter,firestore] 파이어 스토어 필터링 후 정렬하기 - 복합색인, 태그검색 기능 구현 파이어베이스는 NoSQL 엑셀에 익숙한 저는 처음 파이어 베이스의 파이어 스토어를 사용했을 때 이건 머지?? 라는 생각을 했습니다. 파이어 베이스는 NoSQL방식으로 비전문가, 취미 개발자 입장인 저에게는 Json 또는 딕셔너리와 그냥 똑같다고 느껴졌습니다. 많이 없는 예제 자료들 SQL 자료는 이미 구글에 검색하면 수없이 나오지만 파이어베이스에 대한 자료는 거의 한글로 된 문서는 없고, 영어로 된 문서가 대부분입니다. 이점은 저한테 취미개발자에게는 취약한 부분일 수 밖에 없고, 또 겨우 겨우 알았다고 해서 머리 속에 오래 남지 않습니다. 그래서 저의 시행착오를 이 티스토리에 혹시나 미래의 저 혹은 저와 같은 문제를 가지고 계신 분들을 위해 기록을 남기고자 합니다. MySQL로는 할수 있을거 같은데 파이.. 플러터관련 정보/파이어 베이스(플러터) 2022. 6. 6.
[Flutter, firebase]파이어 스토어에서 데이터 저장하고 불러오기 flutter 파이어베이스 데이터 가져오기 순서 파이어베이스에 프로젝트를 생성한다. dart package 설치 cloud_firestore firebase_core 프로젝트와 파이어베이스를 연결한다. flutterfire configure 명령어를 실행(저는 CLI를 이용하였습니다. ) 파이어 베이스 초기화 파이어 스토어 데이터 베이스 만들고 규칙 설정한다. 파이어 스토어에 CRUD 기능을 구현할 클래스를 만든다. 데이터를 객체로 만든다. 불러올때는 fromJson 사용 저장할때 tojson 함수 사용 CRUD를 처리할 클래스를 만든다. 파이어베이스(파이어스토어) 기본 개념들 Collection Table이랑 비슷한 개념이다. Document Row, Record와 같이 하나의 데이터 최소 단위 Doc.. 플러터관련 정보/파이어 베이스(플러터) 2022. 4. 13.
[flutter, firebase] 핵심만 콕콕!! 플러터와 파이어베이스 세팅하기 with Firebase CLI 사용 Firebase CLI를 사용하면 쉽게 플러터 앱과 파이어 베이스를 연결 할 수 있습니다. 기존 여러 강의에서는 수동으로 설정하는 방법은 많이 소개하는데 Firebase CLI를 이용하여 연결하는 방법을 별로 없더군요. 사실 공식 문서를 보면 쉽게 할수 있지만 복습하는 의미에서 한번 써보도록 하겠습니다. 참조한 사이트를 Firebase CLI 사이트: https://firebase.google.com/docs/cli Firebase CLI 참조 | Firebase Documentation Firebase.Installations firebase.google.com 플러터와 파이어베이스에 관한 사이트 : https://firebase.flutter.dev/docs/overview/ FlutterFire O.. 플러터관련 정보/파이어 베이스(플러터) 2022. 3. 21.
[Flutter]drift로 todo list 만들기 예제 - 2탄(with drift, SQLite) Flutter로 todo list 만들기 1탄에 이어 2탄도 이어 가겠습니다. 1탄을 못보신 분은 아래 링크로 가시면 됩니다. https://jh-industry.tistory.com/52 [Flutter] todo list 만들기 예제 - 1탄(with drift, SQLite) 시작하면서... 이전에 Moor를 이용한 SQLite CR 포스팅을 한적이 있습니다. 이후 Update와 Delete 부분에 대한 포스팅을 한다고 했는데 아직까지 못했네요 지금은 Moor가 drift로 이름이 바뀐거 같더군요 jh-industry.tistory.com 완성된 화면 어플 구현 영상 main.dart 아래 전체 코드에는 드리프트(drift) 사용법과는 관계 없는 코드도 있습니다만 우선 전체적인 부분적인 코드를 발췌.. 플러터관련 정보/플러터-안드로이드 개발 2022. 3. 5.
[Flutter] drift로 todo list 만들기 예제 - 1탄(with drift, SQLite) 시작하면서... 이전에 Moor를 이용한 SQLite 사용법 포스팅을 한적이 있습니다. 이후 Update와 Delete 부분에 대한 포스팅을 한다고 했는데 아직까지 못했네요 지금은 Moor가 drift로 이름이 바뀐거 같더군요 이번에는 드리프트를 이용해서 간단한 할일리스트(to do list)를 만드는 예제를 만들어 보겠습니다. 이전 포스팅 Flutter, Moor(SQLite ORM)을 사용한 CRUD 정리 - 1편 Create, Read - Flutter moor example, Dart ORM, Flutter database tool 외부 서버 등의 저장공간을 사용하지 않고 손쉽게(?) 휴대폰 내부 저장공간에 사용 할 수 있는 로컬 DB은 SQLite를 ORM 형식으로 사용할수 있게 해주는 Moor.. 플러터관련 정보/플러터-안드로이드 개발 2022. 3. 4.