본문 바로가기

안드로이드/팁

(49)
[AOS] UGC 정책 위반 해결하기 작년 말(21.11월)부터 저를 포함한 많은 개발자들이 'UGC 정책 위반'으로 인한 리젝으로 업데이트시 고통을 겪고 있습니다. 대부분의 사람들이 '기존에는 괜찮았는데 갑자기 왜 리젝이지?' 라며 의문을 품었습니다. UGC 정책에 있어 구글에서 강력하게 요구하는건 2가지 였습니다. 사용자가 직접 작성할 수 있는 컨텐츠에는 신고 기능이 있을 것 신고한 사용자나 그 게시물이 즉시 차단조치 되어 보이지 않게 할 것 그 외 요구 사항은 이용약관등에 해당하는 가벼운 내용이니 공식 문서를 참고해주세요. ( 아니 심지어 애플도 권고 사항인데... ) 여기서 주목해야 할 사항은 '사용자가 직접 작성할 수 있는 컨텐츠'의 범주 입니다. 가볍게 생각하면 인스타나 페이스북등 본인의 피드를 갖는 앱이 떠오를수 있는데 구매한 ..
[AOS] 카메라로 촬영한 이미지 경로 가져오기 ( targetSdk 30 대응 ) 많은 수의 앱에서 갤러리에서 사진을 업로드하고 카메라로 사진을 찍어서 올리는 행위를 합니다. 인스타그램이나 페이스북처럼 sns을 통해서 자신의 일상을 사진의 형태로 공유하기 때문인데요. 그러다보니 저도 앱들을 개발하면서 이미지 관련 포스팅을 여러개 남겼습니다. 웹뷰에서 이미지 업로드 , 카메라 갤러리에서 이미지 가져오기 (코틀린), 카메라 갤러리에서 이미지 가져오기 (자바) Webview 이미지 업로드 구현하기 ( 카메라, 갤러리 ) 웹뷰가 아닌 네이티브만 작업하시는 분들은 제 블로그에 다른 포스팅을 참고해주세요 ! ( 그리고 해당 포스팅은 minsdk 21, Kotlin 기준으로 작업됐습니다. ) [안드로이드/코틀린] 카메라와 갤러리에 superwony.tistory.com 그런데 또 같은 주제로 포스..
[AOS] adb pair로 빌드 간편하게 하기 adb pair 기능으로 빌드를 USB 연결을 하지 않아도 가능합니다. 있다는건 알고 있었지만 나중에 해야지 하면서 익숙함에... 실제로 usb 연결이 잘 안되서 ( 전력문제인지 종종 끊겨서 재연결 하거나 그래야함 ) 불편했는데, 연동 방법은 5분도 안걸리니 다들 적용하셔서 편하게 개발 하세요 ! adb는 앱 설치 및 디버깅과 관련된 작업을 도와주는 라이브러리로 브릿지 말고도 편리하게 사용할 수 있으니 사용 안해보신 분은 꼭 사용해보세요 ! [포스팅] [안드로이드/Android] ADB 사용하기 이번 포스팅은 ADB(Android Debug Bridge)입니다. ADB는 애뮬레이터나 연결된 안드로이드 기기에 통신을 통해 앱 설치, 캐시삭제등을 명령해 생산성을 높히는 관리도구 입니다. 테스트 환경 Win..
[Android] Edittext 천단위 콤마(,) 설정 - 소수점 포함 Edittext에 숫자를 입력할때 TextWatcher를 이용해 천단위 콤마를 찍을수 있습니다. 관련 예제는 많지만 소수점을 사용할 경우에대한 내용은 없어서 작성했습니다. | 예제 소스 선 예제소스 후 설명 class PriceEditText(context: Context, attrs: AttributeSet?) : AppCompatEditText(context, attrs) { private var inputText = "" init { addTextChangedListener(object : TextWatcher { override fun afterTextChanged(s: Editable?) { } override fun beforeTextChanged(s: CharSequence?, start:..
[And] 백그라운드 위치 권한 사용하기 ( Android9,10 대응 ) ※백그라운드 위치정보는 TargetSdk가 아닌 앱이 깔린 디바이스의 소프트웨어 버전에 따라 동작이 다릅니다. 앱이 백그라운드에 있을때도 디바이스의 위치 정보를 사용하기 위해선 별도 권한을 추가해야 하며 이 포스팅은 Android9이상 부터 추가된 'ACCESS_BACKGROUND_LOCATION' 권한을 중점으로 작성됐습니다. 공식 문서를 참고하여 작성했습니다. Android9 이하 별도 권한 없이 위치 권한만 있으면 사용은 가능합니다. 하지만 오레오 버전부터 백그라운드 서비스를 일부 제한하면서 ( 시간당 호출수 제한 ) 백그라운드에서 위치 정보를 얻어 앱에 활용하는건 어려워졌습니다. 백그라운드 서비스가 오래 지속되지 않기 때문에 단발성 기능이 아닌 이상 사용 불가라고 보는게 맞을것 같습니다. Andr..
[And]출시 예약으로 배포 시점 조정하기! apk파일을 업로드하면 구글에서 승인을 해야 사용자들이 스토어를 통해 다운로드 받을 수 있습니다. 근데 승인 시점을 정확하게 알수 없고 앱마다 소요되는 시간도 다르고 첫출시냐 업데이트냐에 따라 다릅니다. ( 공식 문서는 확인하지 못했지만 여러 경험담들을 종합해봤을 경우에 해당 ) 만약 앱 업데이트 권고 푸시를 발송한다면 출시시점을 정확하게 알아야 합니다. 그럴때 구글 콘솔에서 제공하는 '게시개요' 기능을 이용하면 원하는 시점에 앱을 배포할 수 있습니다. >> 게시개요 개발자 콘솔에서 앱을 선택하여 대시보드로 진입하면 좌측 메뉴에 '개시개요' 를 찾을 수 있습니다. >> 설정 'on' 친숙하지 않은 단어들이 사용돼 조금 혼란스럽지만 '관리형 게시 상태' 에 관리를 클릭하셔서 기본 off로 되어 있는걸 on..
[Android] Recyclerview 속 Edittext 데이터 유실 해결하기 게시글 작성 기능 구현하면서 사진 업로드 기능을 개발했습니다. 다중 사진을 업로드할때 사진별 코멘트 작성할 수 있는 화면과 같이 한 화면의 동일한 포멧에 Edittext가 여러개 필요한 경우 CustomView를 활용해 코드로 Edittext를 하나씩 추가하거나 Recyclerview를 활용하는 방법이 있습니다. 정답은 없지만 세부 요구 사항과 익숙함 사이에서 방법을 많이 선택하는데 저는 주로 Recyclerview를 활용해 구현했습니다. Recylcerview 특성상 뷰를 재활용 하다보니 Edittext에 작성된 텍스트가 유실되는 이슈가 있어 포스팅을 남깁니다. >> TextWatcher 활용 inner class MemoTextWatcher(var position: Int) : TextWatcher ..
[안드로이드] 카카오 애드핏 연동시 주의해 앱 정지를 막자 - 기타 광고 포함 구글에선 19년 5월 29일에 가족 정책과 그에 맞는 요구사항을 업데이트 했고 개발자들이 준수해야할 필수 사항이 됐습니다. 그 취지는 가족과 어린이 유저들이 플레이 스토어에서 앱과 게임을 다운받을때 최상의 환경을 제공받게 하기 위함으로 어린이 유저들이 성인앱이나 성인 광고와 같이 유해 컨텐츠에 노출되지 않도록 하는 목적이 가장 큰것으로 보입니다. 그래서 앱을 출시하고 광고를 연동할땐 주의해야 이 부분을 주의하지 않으면 정지될 수 있음을 인지하시고 다시 한번 본인들의 앱을 확인해주시고 잘못된 정보는 업데이트 해주세요! ( ※ 해당 포스팅은 개선된 구글 콘솔을 기반으로 작성했습니다. ) >> 앱 및 게임의 타겟층 개발자 콘솔에 앱을 선택하고 정책 > 앱 콘텐츠 > 타겟층 및 콘텐츠 를 다시 한번 확인해주세요..