분류 전체보기62 Flutter FCM push 적용기 Flutter 에서 FCM Push 연동을 하면서 원하는 동작이 잘 이루어 지지 않았습니다. 앱의 완성도를 위해서는 앱의 어느 상황에 있던지 상관없이, 푸시 메시지를 누르면 원하는 화면을 열어주는 작업이 필요합니다.예를들어, 채팅 메시지 푸시 메시지가 오고 그걸 클릭했을 때, 앱이 구동되는 것 뿐만 아니라 채팅 화면을 열어주는 로직이 있다면 사용자 이탈을 줄일 수 있을 것입니다. 일련의 과정에서 부딫힌 문제점과 그 해결책을 공유해보고자 합니다. 그렇다면, FCM 연동하면서 고생한 부분은 무엇일까? 1. 앱 Killed 상태일 때, 푸시 메시지 클릭 시 데이터를 받아오기 2. 앱 Background 상태일 때, 푸시 메시지 클릭 시 데이터를 받아오기 (위에서 데이터라 함은, FCM push payloa.. 2025. 1. 14. SMS 인증번호 자동으로 입력해주기 앱 서비스 이용하다 보면 인증번호 입력하는 부분이 자동으로 입력 처리되는 서비스들을 많이 경험해보셨을겁니다. 그 기능은 sms autofill 이라고 많이 불립니다. sms autofill 구현 과정을 자세히 적어보았습니다. 먼저, 관련한 키워드 들을 먼저 살펴볼게요! - Apple Keyboard QuickType: apple 소프트웨어 키보드로, SMS로 전달받은 인증번호를 자동으로 캐치해주고 상단에 붙여넣기를 할 수 있도록 OS 단에서 자동으로 기능을 제공해준다. - AppSignature: Android 앱 서명값으로 Android 에서 특정 앱을 위한 문자인지 확인하기 위한 수단으로 활용된다. iOS Solution일단, ios 에서는 문자의 내용을 읽어올 수 있는 기능을 구현할 수 없습니다... 2025. 1. 6. Flutter Webview 연동하기 Flutter Webview를 사용하려고 합니다. 정상적인 웹앱 연동을 위해서는 크게 3가지의 기능이 필요합니다. 1. 로그인 유지 2. App -> Web 호출 3. App 앱에서 이미 로그인을 했는데, 웹뷰에서 또 로그인을 시키면 불편합니다. 따라서 보통은 앱에서 가지고 있는 인증토큰 (access_token)을 웹뷰의 header로 보내고 서버에서 사용자 로그인 처리를 해주는 방법으로 많이 합니다. (🤔 보통이라 함은.. 제가 많이 경험해본 것이니 꼭 보편적이라고는 단언할 수 없습니다.)App과 Web의 통신도 상당이 중요합니다. 앱에서 웹 페이지에 동적으로 특정 요청을 해야 하는 경우가 있을 수 있고, 웹에서 특정 동작 시점에 앱에게 정보를 전달해줘야 하는 경우가 있습니다. (예를들어, 설문조사.. 2024. 9. 24. Flutter Mvvm Clean Architecture Guide Mvvm Clean Architecture에서 원론적으로는 3가지 레이어로 나뉘게 됩니다. 1. Presentation2. Domain3. Data 위에서 Google Clean Architecture 에서는 Domain 생략을 허용합니다.나는 그 입장에 동의하고, 2가지 레이어인 Presentation 과 Data 레이어로 구성된 흐름도를 Flutter 앱 아키텍처 가이드로 활용하고 있습니다. 1. Presentation 레이어 안에는 View와 ViewModel 이 있습니다. 2. Data 레이어에는 Repository와 Service가 있습니다. (Service는 flutter retrofit 라이브러리에서 api interface 선언부라고 할 수 있다. 안드로이드 개발의 Retrofit Serv.. 2024. 9. 13. flutter go_router vs auto_route Flutter 에서 화면 전환 관련해서 go_router 라이브러리를 많이 사용하고 있다. 그래서 go_router를 사용하였는데, 생각보다 매개변수를 화면에 전달하는 과정이 불편하고 문제가 많이 보였다. 내가 개선하고 싶은 부분🤔 화면에 매개변수 전달 시, 자동으로 관련 파라미터 전달 인터페이스를 생성해주는 라이브러리는 없을까? ‼ auto_route 라는 라이브러리 발견!AS-IS (go_router)context.push(ExerciseCheckScreen.routePath, extra: { ExerciseCheckScreen.extraKeyScreenType: ExerciseScreenType.DISCOMFORT, ExerciseCheckScreen.extraKeyDailyPlanId: pl.. 2024. 9. 11. flutter thread 분석 예시 코드 시나리오: 아래의 4개 버튼 클릭 시, progress bar 보여주고 2초후에 text 변경과 함께 progress bar 가 사라진다. child: Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ Builder(builder: (_) { if (loadedData == null) { return const SizedBox(); } if (loadedData!.isEmpty) { return const CircularProgressIndicator(); } return Text(loadedData!); }), const SizedBo.. 2024. 6. 5. 이전 1 2 3 4 ··· 11 다음