Android 인스턴트 앱은 설치하지 않고 실행되는 소규모 버전의 앱입니다. 사용자가 APK를 설치하는 대신 URL을 클릭하기만 하면 앱이 실행됩니다. 따라서 모든 인스턴트 앱은 Android 앱 링크를 사용하여 선언된 URL을 통해 액세스할 수 있어야 합니다. 이 페이지에서는 Android 인스턴트 앱에 Android App Links를 사용하는 방법을 설명합니다.
앱 링크 개요
먼저, 다음은 앱 링크에 관해 이미 알고 있어야 하는 사항의 요약입니다.
- 사용자가 URL 링크를 사용하여 앱의 특정 화면으로 곧바로 이동할 수 있는 앱 활동의 인텐트 필터를 만든다면, 이것을 '딥 링크'라고 합니다. 하지만 다른 앱도 유사한 URL 인텐트 필터를 선언할 수 있으므로 시스템에서 사용자에게 어떤 앱을 열지 묻는 메시지가 표시될 수 있습니다. 이러한 딥 링크를 만들려면 앱 콘텐츠의 딥 링크 만들기를 참고하세요.
- 앱의 HTTP 딥 링크에 해당하는
assetlinks.json
파일을 웹사이트에 게시하면 앱이 이러한 URL의 실제 소유자임을 확인합니다. 따라서 딥 링크를 Android App Links로 변환하여 사용자가 이러한 URL을 클릭하면 앱이 즉시 열리도록 합니다. 앱 링크를 만들려면 Android 앱 링크 확인을 참고하세요.
따라서 Android 앱 링크는 웹사이트의 소유가 확인되어 사용자가 어느 앱을 열지 선택할 필요가 없는 HTTP 딥 링크입니다. 더 자세한 설명은 딥 링크와 앱 링크의 차이점을 참고하세요.
하지만 두 경우 모두, 사용자가 이미 앱을 설치한 상태여야 합니다. 사용자가 웹사이트의 링크 중 하나를 클릭하는 경우 앱이 설치되어 있지 않으면(그리고 다른 앱이 이 URL 인텐트를 처리하지 않으면) URL이 웹브라우저에서 열립니다. 인스턴트 앱을 만들면 이 부분이 해결됩니다. 즉, 사용자는 앱을 설치하지 않아도 URL을 클릭하기만 하면 앱을 열 수 있습니다.
최종 사용자가 Google에서 앱을 검색하면 Google 검색에서 '인스턴트' 배지가 있는 URL을 표시합니다.
인스턴트 앱용 앱 링크의 다른 점
이미 앱 콘텐츠 딥 링크 만들기 및 Android App Links 확인 가이드를 따랐다면 인스턴트 앱에서 앱 링크가 작동하도록 하는 데 필요한 대부분의 작업을 이미 완료한 것입니다. 인스턴트 앱에 앱 링크를 사용할 때는 몇 가지 추가 규칙을 따라야 합니다.
인스턴트 앱의 앱 링크로 사용되는 모든 인텐트 필터는 HTTP와 HTTPS를 모두 지원해야 합니다. 예를 들면 다음과 같습니다.
<intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="http" android:host="www.example.com" /> <data android:scheme="https" /> </intent-filter>
각
<intent-filter>
요소에서 각<data>
속성의 모든 조합이 유효하다고 간주하므로 두 번째<data>
요소에host
를 포함할 필요는 없습니다 (따라서, 이 인텐트 필터는https://www.example.com
이라고 결정함).웹사이트 도메인별로 인스턴트 앱을 하나씩만 선언할 수 있습니다. (웹사이트를 여러 앱과 연결할 수 있는, 설치 가능한 앱의 앱 링크를 만드는 경우와 다릅니다.)
앱 링크 작성 시 기타 고려사항
- 인스턴트 앱의 모든 HTTP URL 인텐트 필터는 설치 가능한 앱에 포함되어야 합니다. 이는 사용자가 전체 앱을 설치하고 나면 URL을 탭할 때 항상 인스턴트 앱이 아닌 설치된 앱이 열리므로 중요합니다.
- 인스턴트 앱과 설치 가능한 앱 모두 하나 이상의 인텐트 필터에
autoVerify="true"
를 설정해야 합니다. (자동 인증 사용 설정 방법 참고) - HTTPS 프로토콜을 사용하여 앱 링크에서 지원하는 하위 도메인 및 각 도메인마다 하나의
assetlinks.json
를 게시해야 합니다. (여러 호스트에서 앱 링크를 지원하는 방법 참고) assetlinks.json
파일은 유효한 JSON으로 리디렉션 없이 제공되어야 하며 봇에 액세스 가능해야 합니다 (robots.txt
에서/.well-known/assetlinks.json
크롤링을 허용해야 함).- 인텐트 필터의 호스트 속성에 와일드 카드를 사용하지 않는 것이 좋습니다. 여러 하위 도메인에서 앱 링크를 지원하는 방법을 참고하세요.
- 맞춤 호스트/스키마 URL은 별도의 인텐트 필터를 사용해 선언해야 합니다.
- 앱 링크 URL이 주요 검색어의 인기 검색결과에 나타나야 합니다.