[Android Knights 2018]
Best practice on Android Instance Apps
speaker. 김종식 - 원티드팀 안드로이드 개발자
만약 내가 개발한 앱이 설치없이 동작한다면? 설치 없이 네이티브앱의 사용 경험을 제공할 수 있는 인스턴트앱의 개발과정을 환경 설정 구성부터 배포까지 준비하였습니다. 이를 작업하면서 알게 된 많은 내용과 배포를 하면서 경험했던 유의사항, 인스턴트앱을 이용하여 시도했던 다양한 경험과 기존 프로젝트에 함께 적용하는 방법 등을 공유하려고 합니다.
일반적으로 웹에서 부터 딥링크방식을 많이 제공함 -> url에서 제공하는것을 네이티브로 연결(일반적임)
but 설치가 되어있지 않다면 다시 play store로 이동해야하는 문제가 있다.
만약 설치가 없을 경우 바로 native app처럼 경험가능 하도록 도와주는 것이 바로 instant app이다.
Google : 앱 설치 이전과 앱 설치 이후에 동일한 사용자 경험을 제공하라!
instant app : 설치 없는 안드로이드 app
instant app을 정의 할 경우 실제로 playstore에서 설치하지 않더라도 바로 앱이 인스턴트로 앱이 실행되며, 추가적인 기능을 사용하려면 실제로 설치를 유도하도록 팝업이 뜬다.
준비물
- 안드로이드 스튜디오 3.0 이상
- Instants apps Development SDK
- 시뮬레이터
- user debug android device 6.0이상을 준비하는 것이 정신건강에 좋음.
관련 정보
- gradle 3.0에 비해 3.1에서는 상당한 용량 축소를 체감 가능
혹은 android.enabeD8=true 설정 추가 필요함. - instant app과 native app은 서로 다름
- instant app은 루팅해서 로깅해야함. - 매우 불편
- whitelist를 체크하는 모듈이 불안정
- shared preference, push등 일반적으로 사용가능한 sdk 사용 불가
중요한점
- 사용자에게 경험을 제공하고, 설치까지 전환되는 것
- 사용자가 어떤 url을 통해서 설치가 되었는지 로깅
출시하는 방법
- 일반 출시와 동일 but manifest에서 적절한 flag설정 필요
- alpha, test의 경우 10MB까지 app용량 설치 가능.
Run in-app browser
- 카카오톡의 in app browser내에서도 정상동작됨.
but -> Firebase dynamic Long link방식으로 작성해야함!!!
추가 관련 사항 : 원티드 기술 블로그
반응형
'개발이야기 > Android' 카테고리의 다른 글
Custom listview의 각 item에 animation 적용하기 (364) | 2018.12.13 |
---|---|
app의 강제종료로 인해 FCM cloud messaging 푸시를 받지 못하는 이유? (964) | 2018.09.12 |
[ConstraintLayout] 효과적인 ConstraintLayout 사용방법 (2130) | 2018.04.22 |
구글 게임 플레이 서비스 디버깅 방법 (0) | 2017.09.12 |
안드로이드 HandlerThread 스레드 사용법 (1) | 2017.07.16 |
android targetsdkversion & minsdkversion (0) | 2017.07.16 |