Recompose 방법 바뀜 @Jetpack Compose

Jetpack Compose 라이브러리 업데이트에 따라 동작이 달라진 점이 있어서 이전에 출시한 앱이 제대로 작동하지 않는 문제가 있었다. 리스트 프로퍼티와 단순 프로퍼티를 예로 들어서 알아본다. 바뀐 recomposition 방법 이미 출시한 앱을 어느 날 컴파일해보았다. 앱 출시 이후에 여러 라이브러리가 업데이트되었으니까 앱 구성이 새 라이브러리와 잘 맞는지 확인이 필요하다. 이번에 targetSdk = 35 를 적용하는 김에 이전 … Read more

구글 애즈 첫 앱 캠페인 실적

두 달 가까이 구글 애즈 첫 앱 캠페인을 하였다. 일일 예산을 낮추면 전환당 비용이 낮아지는 효과가 있지만, 전환수도 낮아지므로 성격이 급한 사람은 답답할 수도 있다. 캠페인 중간에 구글 애즈에서 캠페인을 하나 더 만들어서 해보라는 권고가 있었는데 지나고 보니 그것도 한 방법인 것 같다. 이번에는 60일 이내에 60만 원을 지출해야 하는 제한이 있었다. 다음부터는 좀 더 … Read more

Android 15 edge-to-edge, Scaffold(), and topBar issue

맨 꼭대기 Scaffold() 에 topBar 가 있으면 edge-to-edge 설정 시 문제가 생겼고, Inset 을 Scaffold() 안에 적용하면 좋은 점이 있었다. Dark 테마에서 Status bar 내의 글자, 아이콘 색깔 문제를 해결했고, Navigation bar 를 투명하게 만들었다. edge-to-edge 가 강제 적용되는 Android 15 여차저차한 이유로 targetSdk = 35 로 설정하게 되었다. 그런데 이 Android 15 에서는 edge-to-edge … Read more

Android Studio Device Manager not showing

잘 보이던 Device Manager 가 갑자기 보이지 않아서 당황했지만 어렵지 않게 해결하였다. 증상 오늘 Android Studio 를 띄어보니 어제까지 잘 보이던 Device Manager 가 우변 패널에서 보이지 않는다. Tools > Device Manager 를 클릭해도 아무 반응이 없다. 해결 고심 끝에 File > Invalidate Caches 를 클릭했다. 체크박스를 모두 선택하고 ‘Invalidate and Restart’ 클릭: 그후 Device … Read more

데이터 보안 양식 잘못됨@Google Play 정책

몇 달 전 출시한 앱에서, ‘데이터 보안 섹션: 기기 또는 기타 ID 데이터 유형‘ Google Play 정책 위반이 보고되었다. 내가 직접 사용자 데이터를 수집하지는 않지만 AdMob, Firebase(Analytics, Crashlytics)와 공유되는 데이터가 있어서 생긴 문제이다. Play Console 앱 콘텐츠 선언을 수정하여 해결하였다. 조치 필요: 앱이 Google Play 정책을 준수하지 않음 구글에서 이메일이 왔다: 날짜: 2024. 12. 20. … Read more

당황스러운 첫 구글 애즈 앱 캠페인 만들기

구글 애즈에서 처음으로 앱 캠페인을 만들 때 대시보드를 볼 수 없어서 당황했다. 비즈니스 정보를 입력하지 않아서 검토를 받을 수 없었다. 고객 센터 도움으로 해결했다. 띄어쓰기 정책 위반, 동영상 애셋 정책 위반을 통지받아서 해결했다. 광고 애셋별 광고 실적을 전환수 순으로 나열한다. 크레딧 신청하기 출시한 앱을 홍보하기 위해서 구글 애즈 광고를 이용하기로 했다. 일단 사이트를 방문하였다. https://ads.google.com/ … Read more

Kotlin 2.0 으로 마이그레이션(KSP, proto dataStore)

Jetpack Compose, Kotlin DSL, version catalog 를 사용하는 안드로이드 프로젝트에서 Kotlin 2.0 으로 업그레이드하는 과정과 그 후에 KSP, proto dataStore 와 관련하여 겪었던 문제를 기술한다. 새 앱 모듈 추가 후에 오류 발생 org.gradle.api.plugins.UnknownPluginException: Plugin [id: ‘org.jetbrains.kotlin.plugin.compose’, version: ‘1.9.10’, apply: false] was not found in any of the following sourcesPlugin Repositories (could not resolve plugin artifact … Read more

ChatGPT Plus 유료 결제 feat. 사업자 등록 번호(BRN)

ChatGPT 유료 결제를 하면서 사업자 등록 번호(BRN)를 입력하여 부가세(부가가치세)를 미리 환급받고, 구독 취소하기 메뉴가 어디 있는지도 알아보았다. ChatGPT 무료 버전 –> ChatGPT Plus 업그레이드함 며칠 전 ChatGPT 무료 버전에게 질문하였다: 너는 ChatGPT 무슨 모델이지?:저는 **GPT-4-turbo 모델**을 기반으로 작동하는 ChatGPT입니다. GPT-4-turbo는 OpenAI의 최신 모델 중 하나로, GPT-4와 유사한 성능을 가지면서 더 빠르고 비용 효율적으로 설계되었습니다. ChatGPT Plus 또는 … Read more

애드센스 납세자 거주지 세금 정보 업데이트(개인, 법인)

국세청 홈택스에서 거주자증명서를 발급 받아서 구글 애드센스(또는 구글 결제 센터: Google Payments) 에 제출하여 업데이트하는 과정을 기록한다. 납세자 거주 국가에 대해 제공한 세금 정보가 곧 만료될 예정입니다. 새 양식을 제출해 주세요. 자고 일어나니까 구글에서 이메일이 날아왔다. Google Payments: 귀하의 납세자 거주지 세금 정보가 2024년 12월 31일에 만료됩니다받은편지함Google Payments <pa**************@go****.com>2024. 11. 3. 오전 1:02 (1일 전)나에게Google2024년 … Read more

사전 출시 보고서: Native crash of com.google.android.gms

안드로이드 앱 사전 출시 보고서에 빨간 오류 메시지가 나타났다. 구글 안드로이드 담당자의 답변을 살펴본다. Android 11(SDK 30) 어제 사전 출시 보고서에 빨간색 메시지가 하나 나왔길래 수정하여 새 버전을 업로드하였다. 오늘은 또 무슨 보고서가 나왔나 싶어서 들여다보니 어제의 그 오류는 없고 다른 오류가 생겼다. Native crash of com.google.android.gms*** *** *** *** *** *** *** *** *** … Read more