전체 글9 AboutLibraries를 사용하여 오픈소스 라이선스 표시하기 오픈소스 라이선스 고지 의무안드로이드 앱을 개발할 때 다양한 오픈소스 라이브러리를 당연하게 활용하여 개발합니다. 오픈소스 사용에는 라이선스 고지라는 중요한 의무가 따르지만, 평소에 개발할 때는 크게 생각하지 않고 사용했던 것 같습니다. 하지만 오픈소스 라이선스 고지 의무를 소홀이 하게 된다면 법적 분쟁에 휘말리어나 앱이 스토어에서 내려가는 등의 일이 발생할 수도 있다고 합니다. 고지 의무의 핵심 내용앱을 사용자에게 배포할 때는 다음 정보를 사용자가 쉽게 확인할 수 있도록 제공해야 합니다.오픈소스 명칭 및 버전: 사용된 오픈소스의 정확한 이름과 버전 정보저작권자 정보: 원 개발자 또는 저작권 보유자에 대한 정보라이선스 명칭: 적용된 라이선스의 이름 (예: Apache License 2.0)라이선스 사본: .. 2025. 6. 28. Android AdMob Native Ads Compose와 함께 적용하기 AdMob에는 다양한 광고 단위가 있습니다. 배너와 전면 광고, 리워드 광고도 사용해 보았지만 이번에는 네이티브 고급 광고를 사용하여 앱의 디자인과 어울리도록 광고를 추가해 본 과정에 대해서 정리하였습니다. Native Ads 란?배너 광고와 네이티브 고급 광고를 제외하고 나머지 광고들은 UI에서 광고를 실행하는 게 아닌 광고 객체에서 직접 실행 할 수 있는 형태입니다. 그렇기 때문에 직접적으로 UI에서 설정할 필요 없이 광고를 Load 하는 로직과 보여주는 로직, 혹은 리워드를 처리하는 콜백을 설정하는 등의 작업이 필요합니다. 하지만 배너 광고와 네이트브 광고는 직접 UI에 형태와 위치를 지정해야 합니다. 배너 광고의 경우 어디에 배너가 위치해야 할지, 배너의 크기는 어떤 크기로 할지 정해야 한다면, .. 2025. 6. 26. FFmpegKit has been officially retired Failed to resolve: com.arthenica:ffmpeg-kit-full:6.0-2 프로젝트 빌드 중 com.arthenica:ffmpeg-kit-full:6.0-2의 의존성을 찾을 수 없다는 오류 메시지를 접하게 되었습니다. 분명 얼마 전까지만 해도 잘 되었던 프로젝트에서 갑자기 왜 이런 문제가 발생하는지 알아보았습니다. https://tanersener.medium.com/saying-goodbye-to-ffmpegkit-33ae939767e1 Saying Goodbye to FFmpegKitAs of January 6, 2025, FFmpegKit is officially retired.tanersener.medium.com Arthenica의 블로그 게시물 'Saying Goodby.. 2025. 5. 28. Attempting to launch an unregistered ActivityResultLauncher with contract Ear Alarm 서비스를 1.5.3 버전 업데이트를 한 이후, Firebase Crashlytics에서 InAppUpdate와 관련된 오류를 확인할 수 있었습니다. Fatal Exception: java.lang.IllegalStateExceptionAttempting to launch an unregistered ActivityResultLauncher with contract androidx.activity.result.contract.ActivityResultContracts$StartIntentSenderForResult@b26687f and input androidx.activity.result.IntentSenderRequest@46b604c. You must ensure the Activi.. 2025. 5. 24. Restoring the Navigation back stack failed Ear Alarm 서비스를 1.5.2 버전 업데이트를 한 이후, Firebase Crashlytics와 Play Console에서 NavHost와 관련된 오류를 확인할 수 있었습니다. 출시 이후에 처음으로 발견된 오류로 비정상 종료를 발생시키는 치명적인 오류로 확인하고 대응해야 했습니다. Firebase Crashlytics에서 확인할 수 있듯이 세션을 시작하고 5초 이내에 발생했다는 것도 확인할 수 있었습니다. Fatal Exception: java.lang.IllegalStateExceptionRestoring the Navigation back stack failed: destination 200282259 cannot be found from the current destination Compo.. 2025. 5. 22. Google Play In-App updates 연결하기 Google Play In-App updates사용자는 기기에서 앱을 최신 상태로 유지하여 새로운 기능을 사용해 보고 성능 향상과 버그 수정을 통한 이점도 얻을 수 있습니다. 사용자 중에는 기기가 무제한 데이터에 연결되어 있을 때 백그라운드 업데이트를 진행하도록 설정하는 경우도 있지만 업데이트 설치 알림이 필요한 사용자도 있을 수 있습니다. 인앱 업데이트는 활성 사용자에게 앱을 업데이트하라고 메시지를 표시하는 Google Play Core 라이브러리 기능입니다. 서비스 중인 Ear Alarm 앱에 In-App Review 기능을 추가하면서 동시에 In-App updates 기능을 함께 추가하여 사용자에게 빠르게 업데이트를 알리고 적용할 수 있도록 In-App updates 기능을 적용하는 과정에 대해 정.. 2025. 5. 21. 이전 1 2 다음