본문 바로가기

개발이야기/Android

[Instance app]설치 없이 네이티브앱의 사용경험을 제공할 수 있는 방법



[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방식으로 작성해야함!!!
추가 관련 사항 : 원티드 기술 블로그