본문 바로가기

Computer/Android&iOS170

안드로이드 웹뷰 로그인이 자꾸 풀린다면? 앱을 운영하다 보면 iOS에서는 멀쩡한데 안드로이드에서만 유독 "앱 업데이트만 하면 로그인이 풀린다"거나 "앱을 껐다 켜니 다시 로그인해야 한다"는 사용자 제보를 받을 때가 있습니다. 이 문제의 핵심 원인인 CookieManager의 동기화 메커니즘과 해결 방법을 정리했습니다. 1. 상용 환경에서 로그인이 풀리는 현상정상적인 상용 업데이트는 동일한 서명 키를 사용하므로 앱 내부 데이터가 유지되어야 합니다.하지만 다음과 같은 상황에서 쿠키가 유실되는 케이스가 발생합니다.앱 업데이트 직후: 구글 플레이를 통해 앱이 업데이트되면 시스템은 기존 프로세스를 강제 종료합니다. 이때 메모리에만 머물던 세션 정보가 디스크로 기록되지 못하고 사라질 수 있습니다.백그라운드에서의 프로세스 종료: 사용자가 앱을 사용하다가 다.. 2026. 1. 14.
[Android] 인앱 정기결제 아이템 의미 1. 결제 기간 (Billing period)설정값 예시: 매월가장 기본적인 설정입니다. 사용자가 얼마나 자주 돈을 낼 것인가를 정합니다.의미: 사용자가 구독을 유지하는 한 결제가 반복되는 주기입니다. (주간, 월간, 연간 등)참고: 보통 '월간'과 '연간' 상품을 가장 많이 구성하며, 연간 상품의 경우 할인율을 적용해 유도하는 것이 일반적입니다. 2. 유예 기간 (Grace period) !!!중요!!!설정값 예시: 7일결제가 실패했을 때 바로 "너 구독 끝!" 하고 내쫓는 것이 아닙니다. 구글이 개발자에게 권장하는 설정이기도 합니다.의미: 사용자의 카드 한도 초과나 잔액 부족 등으로 **결제가 실패했을 때, 구독 자격을 유지해 주는 '봐주는 기간'**입니다.상태: 이 기간 동안 사용자는 여전히 유료.. 2025. 12. 2.
Android WebViewAssetLoader: 안전하고 효율적인 로컬 리소스 로딩 들어가며Android 앱에서 WebView를 사용할 때, 로컬 HTML, CSS, JavaScript 파일을 로드해야 하는 경우가 많습니다. 과거에는 file:// 스킴을 사용했지만, 보안 문제와 CORS 제약으로 인해 많은 제한이 있었습니다. Android에서는 이러한 문제를 해결하기 위해 WebViewAssetLoader를 제공합니다. WebViewAssetLoader란?WebViewAssetLoader는 Android Jetpack의 webkit 라이브러리에 포함된 클래스로, 로컬 리소스(assets, resources)를 가상의 HTTP(S) URL을 통해 안전하게 제공할 수 있게 해줍니다.주요 특징:file:// 대신 https:// 스킴 사용CORS 정책 준수Same-Origin Policy .. 2025. 10. 22.
KMP (CMP) 프로젝트 init 플러그인 설치Android Studio 에서 Kotlin MultiPlatform 플러그인을 설치합니다. 프로젝트 생성새 프로젝트를 생성해서 Kotlin Multiplatform App 을 선택해서 앱을 작성합니다. settings.grdle.ktsrootProject.name = "Quiz"enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")pluginManagement { repositories { google { mavenContent { includeGroupAndSubgroups("androidx") includeGroupAndSubgroups("com.androi.. 2025. 10. 17.
Android Gradle 빌드 에러 해결: Duplicate class org.jetbrains.annotations 문제 상황 Android 프로젝트를 빌드할 때 다음과 같은 에러가 발생했습니다: Caused by: java.lang.RuntimeException: Duplicate class org.jetbrains.annotations.Nls found in modules - annotations-23.0.0.jar -> annotations-23.0.0 (org.jetbrains:annotations:23.0.0) - kotlin-gradle-plugin-2.1.0-gradle85.jar -> kotlin-gradle-plugin-2.1.0-gradle85 (org.jetbrains.kotlin:kotlin-gradle-plugin:2.1.0) Duplicate class org.jetbrai.. 2025. 10. 13.
Android studio 단축키 모음집 기능단축키설명모든 곳 검색Shift 두 번파일, 클래스, 액션, 설정 등 IDE 내 모든 것을 찾는 검색창클래스 검색Cmd+O클래스 이름만 입력해 즉시 해당 파일로 이동액션 검색Cmd+Shift+A메뉴나 설정에서 찾기 힘든 IDE 기능/액션을 검색하고 바로 실행선언으로 이동Cmd+B함수나 변수 위에 커서를 두고 누르면 정의된 원본 코드로 바로 점프최근 파일Cmd+E최근에 열었던 파일 목록을 보여줌. 파일 간 빠른 전환 기능단축키설명코드 포맷팅Cmd+Alt+L현재 파일의 들여쓰기와 공백을 프로젝트 스타일에 맞춰 단번에 정리빠른 수정Alt+Enter에러, 경고, 개선 제안이 있는 곳에서 누르면 IDE가 적절한 해결책을 제시코드 생성Cmd+N생성자, Getter, Setter, override 메서드 등을 .. 2025. 10. 10.