ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 공유일기 앱 만들기 - 3
    Flutter 2025. 5. 6. 20:56


    UI도 변경해야 하고 작은 에러들도 고쳐야 하지만 생각했던 기능 대부분을 구현했어요.
    플러터 시작한 지 꽤 흘렀는데 아직도 잘 모르고 하는 것 같네요. 볼 수록 어려워요.



    변경사항

    구글 플레이 콘솔 개발자 계정 생성
    기존에 쓰던 이메일로 쓰면 번거로워질 것 같아서 새로운 메일을 만들고 개발자 계정을 생성했어요.
    여러 검증 과정이 있었는데 무난하게 통과,,거금 25달러를 지불함...
    25불 지불하고 이후에 검증 과정 통과를 못해도 환불 안 해준다는 무서운 팝업

    패키지명 변경
    기존에 임시로 쓰던 패키지명을 변경했어요. 이미 어느 정도 만들어둔 상태에서 패키지명을 변경하려니 설정할 게 많아서 꽤 귀찮은 일이었어요.

    app bundle 빌드
    구글 플레이 콘솔에 app bundle 이 필요해서 빌드했어요. 필요한 릴리즈용 keystore 도 발급받고 삽질 좀 한 후에 빌드 성공.

    proguard-rules 설정
    릴리즈용 빌드시에 에러가 발생했어요. Firebase, Kakao SDK에서 내부적으로 특정 클래스나 메서드 이름을 사용하는데, 난독화 과정에서 이름이 변경돼서 작동하지 않았던 것 같아요.
    proguard-rules에서 Firebase, Kakao 관련은 난독화하지 않도록 설정했어요.

    아이콘
    기본 material icon 이 조금 심심해서 `hugeicons` 를 추가했는데 특별히 더 이쁘진 않았어요... 나중에 그냥 기본 icon을 쓰던가 이미지를 사용하는 식으로 바꿔야겠어요.

    CRUD 구현
    대부분의 필요한 CRUD 관련 기능은 구현했어요.

    권한 설정
    사진이나 알림에서 권한 요청이 필요해서 `permission_handler` 패키지를 추가했어요.

    firebase analytics
    기본 설정 까다로운 건 없길래 `firebase_analytics` 를 추가했어요. 커스텀 설정은 할 게 많아 보이던데 나중에 더 필요해지면 하는 걸로,,

    카카오 로그인
    구글로그인에 이어서 카카오 로그인도 추가했어요. 구글 로그인이랑 거의 비슷했어요.

    이미지 캐싱
    애뮬레이터에서 봤을 때 게시글 이미지 로딩이 조금 느려서 무언가가 필요하다고 생각했어요. 찾아보고 `cached_network_image` 패키지를 추가했어요.
    https://docs.flutter.dev/get-started/fundamentals/local-caching#caching-images
    https://pub.dev/packages/cached_network_image

    공유하기
    앱 내에서 팀의 정보를 공유하는 기능이 필요해서 `share_plus` 패키지를 추가했어요.

    firebase messaging
    팀 내에서 팀원들끼리 알림을 보내는 기능이 필요해서 `firebase_messaging`, `flutter_local_notifications`, `cloud_functions` 패키지를 추가했어요.
    오랜만에 Cloud Functions를 만나니 조금 반가웠어요. 테스트 메시지를 보내니까 재밌어요.




    잡동사니

    Responsive Images

    • 논리적 픽셀 (dp)
    • 기기 해상도 및 픽셀 밀도(DPI) 고려
      • 갤 S24의 해상도 2340 * 1080 (FHD+), 픽셀밀도 약 425~450 ppi
      • 실제로 앱에서 이미지를 표시할 때는 논리적 픽셀(dp) 기준으로
      • flutter의 width, height는 논리적 픽셀
    • 이미지 사이즈
      • 실제 요청할 이미지 사이즈(px) 은 논리픽셀(width * height)의 2배로 요청
      • 고해상도(HDPI, XHDPI) 기기에서 선명하게 보이도록 하기 위함.
      • 논리픽셀 사이즈
        • 썸네일 80x80
        • 리스트/피드 120x120
        • 프로필아바타 48x48
        • 게시글본문 360x240
        • 전체화면 1080x1920
    • `images/{id}/small.jpg`...

     

    생각들

    • 앱 출시하려면 매번 비공개 테스트가 필요하다는데 이거 너무 번거로운 것 같다.
    • 비공개 테스트를 내가 직접 할 수가 없어서 뒤져보다가 봤는데 크몽에 맡기는 게 좋아 보인다.
    • 비공개 테스트만 14일 + 프로덕션 설문 및 신청, 검토요청 등등 과정을 거치려면 3주는 필요할 것 같다. 생각보다 너무 오래 걸린다. 다음에 배포할 일 있으면 비공개 테스트를 완전 초기부터 걸어두고 시작해야겠다.
    • 개인정보처리방침이나 이것저것 아직 플레이스토어 설정이 남았는데 꽤나 많다.
    • 빠른 것 같기도 하고 느린 것 같기도 한 애매한 상황.
    • 메모 정도로만 대충 적어놓고 넘어가는 글들이 많아서 나중에 보기가 어렵다. 나중에 찾아볼 수 있게 조금 더 글을 정리해 두어야겠다.
    • 노하우가 있는 정보성 글을 작성하는 게 아니면 도움이 되는 것 같지 않다. 요즘 AI가 너무 잘해줘서 나도 구글 검색을 잘 안 하고 있다.

     



    다음 주에는 비공개 테스트 신청하고 프로덕션 출시를 위한 준비를 해야겠어요,.
    테스트기간 동안 UI와 버그 수정해야지,,
    시간이 너무 빠르네요. 다음에 만나요.

     

     

    'Flutter' 카테고리의 다른 글

    공유일기 앱 만들기 - 2  (0) 2025.04.29
    공유일기 앱 만들기 - 1  (1) 2025.04.22
    공유일기 앱 만들기 - 0  (0) 2025.04.15
킹수빈닷컴