6월 3일의 ⁠#Android11: 베타 버전 출시 행사에 참여하세요.

인스턴트 지원 App Bundle 만들기

Android App Bundle의 일부로 포함하여 Google Play 인스턴트 환경을 만들 수 있습니다. 이러한 번들을 인스턴트 지원 App Bundle이라고 합니다. 이 문서에서는 인스턴트 지원 App Bundle의 개발 환경을 설정하는 방법 및 인스턴트 지원 App Bundle을 구성, 빌드, 테스트 및 게시하는 방법을 설명합니다.

지원 중단된 기능 플러그인 (com.android.feature)을 사용하는 기존 인스턴트 앱 프로젝트가 있는 경우 Android App Bundle을 지원하기 위해 인스턴트 앱을 이전하는 방법을 알아보세요.

개발 환경 설정

App Bundle 내에서 인스턴트 환경을 제공하려면 Google Play 인스턴트 개발 SDK의 액세스 권한이 필요합니다. 다음 방법 중 하나를 사용하여 SDK를 설치할 수 있습니다.

  • Android 스튜디오 3.3 이상을 설치합니다. Android 스튜디오를 연 다음 SDK ManagerSDK Tools 탭에서 Google Play 인스턴트 개발 SDK를 다운로드합니다.
  • 명령줄에서 설치합니다.

        cd path/to/android/sdk/tools/bin && \
          ./sdkmanager 'extras;google;instantapps'
        

또한 로컬로 인스턴트 환경을 테스트하려면 실제 또는 가상 기기에 액세스하세요.

인스턴트 환경을 위한 프로젝트 구성

Google Play 인스턴트와 호환되도록 하려면 인스턴트 지원 App Bundle의 몇 가지 측면을 신중하게 구성해야 합니다. 다음 섹션에서는 구성 시 고려할 사항을 설명합니다.

인스턴트 지원 앱 모듈

다음 방법 중 하나를 사용하여 App Bundle이 인스턴트 환경을 지원한다고 선언할 수 있습니다.

  • Android 스튜디오에서 새 프로젝트를 만드는 경우 Configure your project 단계에서 This project will support instant apps 체크박스를 선택합니다.
  • 기본 모듈만 포함된 기존 App Bundle이 있는 경우 다음 선언을 모듈의 manifest에 추가하여 App Bundle을 인스턴트 지원 번들로 설정할 수 있습니다.

    <manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
            <dist:module dist:instant="true" />
            ...
        </manifest>
        
  • 여러 모듈이 포함된 기존 App Bundle이 있는 경우 인스턴트 지원 동적 기능 모듈을 만들 수 있습니다. 또한 이 과정에 따라 앱의 기본 모듈이 인스턴트 지원 모듈이 되어 앱 내에서 여러 인스턴트 진입점을 지원할 수 있습니다.

지원되는 권한

인스턴트 지원 App Bundle에서는 다음 목록의 권한만 사용할 수 있습니다.

설치된 앱 액세스

인스턴트 환경을 개발하는 경우 다음 중 하나의 조건이 참이 아니면 인스턴트 환경이 기기에 설치된 앱과 상호작용할 수 없습니다.

  • 설치된 앱 내 활동 하나 이상이 android:visibleToInstantApps 요소를 true로 설정했습니다. 이 요소는 Android 8.0(API 레벨 26) 이상을 실행하는 앱에서 사용할 수 있습니다.
  • 설치된 앱에 CATEGORY_BROWSABLE이 있는 인텐트 필터가 포함되어 있습니다.
  • 인스턴트 환경에서 ACTION_SEND, ACTION_SENDTO 또는 ACTION_SEND_MULTIPLE 작업을 사용하여 인텐트를 전송합니다.

실행 환경

Google Play 인스턴트는 보안을 강화하기 위해 특별한 SELinux 샌드박스에서 인스턴트 지원 App Bundle을 실행합니다. 이 환경과 호환되도록 하려면 인스턴트 지원 App Bundle 내에서 다음과 같이 구성해야 합니다.

App Bundle 빌드

Android 스튜디오 또는 명령줄 인터페이스를 사용하여 인스턴트 지원 App Bundle을 빌드할 수 있습니다.

Android 스튜디오

Android 스튜디오에서 Build > Build Bundle(s) / APK(s) > Build Bundle(s)를 선택하여 App Bundle을 빌드할 수 있습니다. 프로젝트를 빌드하는 방법에 관한 자세한 내용은프로젝트 빌드를 참조하세요.

명령줄 인터페이스

Gradle을 사용하여 명령줄에서 App Bundle을 빌드할 수도 있습니다. 빌드를 실행한 후 다음 명령어를 실행하여 인스턴트 환경 상태 검사를 실행하세요.

    ia check app-artifact
    

앱 아티팩트는 ZIP 파일, App Bundle 또는 인스턴트 환경이 하나 이상 포함된 APK의 목록입니다.

인스턴트 환경 테스트

인스턴트 지원 App Bundle을 게시하기 전에 다음 위치 중 하나에서 인스턴트 환경을 테스트하여 기능을 확인할 수 있습니다.

Android 스튜디오

Android 스튜디오를 사용하여 로컬 시스템에서 앱의 인스턴트 환경을 테스트하려면 다음 단계를 완료하세요.

  1. 테스트 기기에 앱의 설치된 버전을 설치한 경우 제거합니다.
  2. Android 스튜디오에서 Run/Debug Configurations 대화상자의 General 탭에 표시되는 설치 옵션에서 Deploy as instant app 체크박스를 사용 설정합니다.
  3. 메뉴 바에서 Run > Run을 선택하거나 툴바에서 Run 을 클릭한 다음 앱의 인스턴트 환경을 테스트할 기기를 선택합니다. 앱의 인스턴트 환경이 선택한 테스트 기기에 로드됩니다.

명령줄 인터페이스

Android 스튜디오를 사용하여 로컬 시스템에서 앱의 인스턴트 환경을 테스트하려면 다음 단계를 완료하세요.

  1. 테스트 기기에 앱의 설치된 버전을 설치한 경우 제거합니다.
  2. 다음 명령어를 입력하여 테스트 기기에 인스턴트 앱을 사이드로드하고 실행합니다.
    ia run output-from-build-command
    

내부 테스트 트랙

Play 스토어 또는 웹사이트의 배너에서 앱의 인스턴트 환경을 테스트하려면 앱을 Play Console의 내부 테스트 트랙에 게시하세요. 그러려면 다음 단계를 완료하세요.

  1. Play Console에 App Bundle 업로드 가이드의 단계에 따라 App Bundle을 업로드합니다.
  2. 내부 테스트 트랙에 출시하기 위해 업로드된 번들을 준비합니다. 자세한 내용은 버전을 준비하고 출시하는 방법에 관한 지원 도움말을 참조하세요.
  3. 기기의 내부 테스터 계정에 로그인한 후 다음 위치 중 하나에서 인스턴트 환경을 시작합니다.

    • 앱의 Play 스토어 등록정보에 있는 사용해 보기 버튼
    • 앱의 웹사이트에 있는 배너의 링크

App Bundle을 프로덕션 트랙에 게시

인스턴트 지원 App Bundle을 게시하려면 다음 단계를 완료하세요.

  1. 아직 하지 않았으면 출시 키로 App Bundle에 서명하고 App Bundle을 Play Console에 업로드합니다.
  2. Play Console에서 출시 관리 > Android 인스턴트 앱을 연 다음 인스턴트 앱 프로덕션 트랙으로 이동합니다.
  3. 라이브러리에서 업데이트를 선택한 다음 업로드한 인스턴트 지원 App Bundle을 선택합니다.

참고 자료

인스턴트 환경 및 Android App Bundle을 만드는 방법을 자세히 알아보려면 다음 리소스를 참조하세요.:

동영상: 순식간에 App Bundle 구성하기
Android Dev Summit '18의 이 세션에서 Android App Bundle에 인스턴트 환경을 추가하는 방법을 알아보세요.
동영상: Android App Bundle로 크기가 작은 앱 게시하기
App Bundle이 앱을 더 빨리 개발하고 사용자를 위해 크기가 더 작은 APK를 만드는 데 어떻게 도움이 되는지 알아보세요.
Codelab: 첫 Android App Bundle 만들기
Android App Bundle을 만들고 기능을 추가하는 방법에 관한 단계별 안내입니다.
Android App Bundle 형식
bundletool 명령줄 프로그램을 사용하여 앱의 코드 및 리소스에서 App Bundle을 구성하는 방법을 알아보세요.