/ devlog
개발 로그
막혔던 부분, 삽질, 다시 안 헤매려고 남기는 기록. 키워드로 검색하거나 카테고리·태그로 좁혀서 찾으세요.
-
Flutter 구독에 무료체험을 붙였더니 "체험 눌렀는데 즉시 결제"가 터졌다 — Android offer 선택 함정
Android는 구독 productId 하나에 offer(base plan·무료체험)마다 별도의 ProductDetails를 돌려주고, 어느 인스턴스를 PurchaseParam에 넘기느냐가 어떤 offer로 결제될지 결정한다. in_app_purchase에서 id만 맞는 첫 항목을 집으면 체험 버튼이 base plan을 결제하거나 표시 가격이 ₩0으로 뜬다. 링고루프에서 잡은 offer 선택·표시 가격 버그와 수정 코드.
-
앱 15개가 전부 업데이트 대상이 됐다? — Google Play가 하루아침에 올린 두 기준(결제 8+, target 36)
앱 하나 버그가 아니라 Google Play 기준선이 2026-08-31 자로 올라가면서 갖고 있는 앱 15개가 한꺼번에 업데이트 대상이 됐다. 인앱결제 라이브러리 8.0.0+, target API 36(Android 16) — 결제 7.1.1→9.1.0에서 실제로 깨진 API, compileSdk/AGP 버전 체인, 16KB 정렬, Scaffold 바깥 전체화면의 edge-to-edge 인셋까지 규칙찾기·티츄온라인·링고루프 실제 커밋으로 정리.
-
iOS WKWebView에서 특정 도메인만 Custom User-Agent 예외 처리하기 — 카카오 로그인 이슈
WKWebView에 Custom User-Agent를 붙였더니 accounts.kakao.com이 모바일 환경을 인식 못 해 카카오 로그인이 깨졌다. decidePolicyFor에서 UA를 바꾸면 왜 늦는지, 요청을 취소하고 재발행해 어떻게 해결했는지 정리.
-
개발 로그를 시작합니다
막혔던 부분과 다시 안 헤매려고 남기는 기록들을 이 블로그에 정리합니다. 글 쓰는 법과 검색 사용법.
-
Android WebView에서 카카오 로그인 "앱으로 열기" 버튼이 안 보일 때 — User-Agent와 스킴 점검
Chrome에선 보이는 카카오톡 "앱으로 열기" 버튼이 Android WebView에선 안 보인다. 패키지 가시성(queries)·콜백 스킴·WebView User-Agent(wv 흔적)를 점검하고, 안 되면 네이티브 카카오 SDK로 우회하는 순서 정리.
-
정적 블로그를 구글·네이버 검색에 노출시키기 — 색인 준비 전 과정
Astro 정적 블로그를 구글·네이버 검색 결과에 띄우기 위해 한 작업 전부. 정적 HTML 렌더, 글별 메타·OG·JSON-LD, sitemap·robots.txt, Google Search Console·네이버 서치어드바이저 등록과 소유확인, 다국어 hreflang까지.
-
Docker 빌드가 매번 npm install 부터 다시 도는 문제
COPY 순서만 바꿔서 의존성 레이어를 캐싱하면 빌드가 몇 배 빨라진다. 레이어 캐시의 원리와 흔한 실수.