앱 링크 정보

Android 앱 링크는 Android 6 이상에서 제공되는 특별한 딥 링크 기능으로, 인증된 웹사이트 URL을 클릭하면 명확성 대화상자에서 사용자가 앱을 선택할 필요 없이 Android 앱에서 해당 콘텐츠가 바로 열립니다. 이를 위해 Android는 웹사이트에 호스팅된 디지털 애셋 링크 문을 사용하여 웹사이트와 앱 간에 안전하고 확인된 연결을 설정합니다. 연결을 확인한 후 Android는 웹사이트의 딥 링크를 앱으로 직접 라우팅하여 처리할 수 있습니다.

Android 15부터 동적 앱 링크가 도입되어 앱 링크가 더욱 강력해졌습니다. 새로운 동적 기능을 사용하면 앱의 새 버전을 출시하지 않고도 더 세밀하게 제어하면서 앱의 딥 링크 동작을 즉시 조정할 수 있습니다.

앱 링크를 사용해야 하는 이유:

  • 원활한 사용자 환경: 검색 결과, 웹사이트, 메시지, 기타 앱에서 사용자를 앱의 특정 콘텐츠로 바로 연결합니다. 앱 링크는 웹사이트와 앱에 있는 동일한 콘텐츠에 단일 URL을 사용하므로 앱을 설치하지 않은 사용자는 앱이 아니라 웹사이트로 연결됩니다. 404 오류가 아닙니다.
  • 보안 강화: 앱 링크는 도메인 소유권 확인이 필요하므로 다른 앱이 링크를 가로채지 못합니다.
  • 동적 구성 (Android 15 이상): 앱의 딥 링크 동작을 즉시 업데이트하여 URL, 시즌 캠페인, 사용자별 링크와 같은 항목을 더 유연하게 업데이트할 수 있습니다.
  • 참여도: 검색 결과, 광고, 웹페이지, 메시지 등의 링크를 통해 사용자의 참여를 유도할 수 있습니다.

앱 링크 지원 방법

  1. 앱의 특정 콘텐츠로 연결되는 딥 링크 만들기: 앱 매니페스트에서 웹사이트 URI의 인텐트 필터를 만들고 인텐트에서 얻은 데이터를 사용하여 사용자를 앱의 올바른 콘텐츠로 안내하도록 앱을 구성합니다. 자세히 알아보세요.
  2. 딥 링크의 인증 추가하기: 앱 링크 인증을 요청하도록 앱을 구성합니다. 그런 다음 소유권을 확인하도록 디지털 애셋 링크 JSON 파일을 웹사이트에 게시합니다.

또는 Android 스튜디오의 Android App Links Assistant를 사용하여 Android 앱 링크를 만들고 확인하는 데 필요한 단계를 안내받을 수 있습니다. 자세한 내용은 App Links 개발자 도구를 참고하세요.

  • 동적 App Links – Android 15 (API 수준 35) 이상, Google 서비스가 설치된 기기
  • App Links – Android 6 (API 수준 23) 이상, Google 서비스가 설치된 기기
  • 일반 (사용자 관리) 딥 링크: 모든 기기에서 모든 Android 버전

앱 링크의 작동 방식

앱 링크는 자체 웹사이트로 연결되는 링크의 처리를 완전히 제어할 수 있는 특별한 딥 링크 방식입니다. 다른 딥 링크 유형에서 사용하는 동일한 인텐트 기반 시스템을 기반으로 하지만 웹사이트의 디지털 애셋 링크 파일을 사용하여 링크에 대한 확인 단계를 추가합니다.

앱 링크는 앱 데이터와 웹사이트 또는 도메인에서 호스팅하는 특수 assetlinks.json 파일을 사용하여 앱과 웹사이트 간에 안전하고 신뢰할 수 있는 연결을 만듭니다. assetlinks.json 파일은 앱 연결을 확인하는 디지털 애셋 링크 문을 선언합니다.

개념적 흐름은 다음과 같습니다.

  1. 앱의 매니페스트android:autoVerify="true'를 사용하여 인텐트 필터에서 URL을 선언하고 웹사이트 호스트를 가리킵니다.
  2. 앱이 설치되면 Android 시스템은 웹 서버의 알려진 위치에서 assetlinks.json 파일을 가져옵니다.
  3. 시스템은 assetlinks.json 파일이 유효하고 sha256_cert_fingerprints이 앱의 서명 인증서와 일치하는지 확인합니다.
  4. 사용자가 일치하는 링크를 클릭하면 시스템은 세부 설정 대화상자를 표시하지 않고 사용자를 앱으로 직접 라우팅합니다.

앱 링크는 HTTP URL 및 웹사이트 연결을 사용하므로 앱을 설치하지 않은 사용자는 개발자의 사이트에 있는 콘텐츠로 바로 연결됩니다. 이러한 방식으로 앱 링크는 웹 속성의 딥 링크를 탭하는 사용자에게 신뢰할 수 있는 원활한 환경을 제공합니다.

Android 15부터 동적 앱 링크가 도입되어 앱 링크가 더욱 강력해졌습니다. 동적 앱 링크를 사용하면 앱의 새 버전을 게시하지 않고도 서버 측의 assetlinks.json 파일에서 딥 링크 규칙을 업데이트할 수 있습니다. 동적 앱 링크는 디지털 애셋 링크 필드를 지원하여 딥 링크 규칙을 세부적으로 조정할 수 있습니다. Google 서비스가 설치된 Android 기기는 파일을 주기적으로 새로고침하고 새로운 딥 링크 규칙을 동적으로 적용합니다. 앱 업데이트가 필요하지 않습니다.

이전에는 이 파일이 주로 기본 확인에 사용되었습니다. 이제 경로, 쿼리 매개변수, 프래그먼트, 제외를 지정할 수 있는 강력한 구성 도구가 되어 동적이고 강력한 딥 링크 솔루션을 제공합니다.

  • 제외 지원: 앱 링크 구성과 일치하는 URL의 특정 경로 또는 섹션이라도 앱을 열지 않아야 하는 경우를 지정할 수 있습니다.
  • 쿼리 매개변수 지원: 새로운 쿼리 매개변수 기능을 사용하면 URL에 있는 경우 앱이 열리지 않도록 하는 특정 매개변수를 정의할 수 있습니다. 이를 통해 동적 제외, A/B 테스트, 특정 사용자 세그먼트에 대한 앱 링크 점진적 사용 설정 등 다양한 가능성이 열립니다.
  • 동적 업데이트: 서버에 호스팅된 assetlinks.json 파일 내에서 앱이 직접 처리하는 URL 경로를 지정하여 앱을 업데이트하지 않고도 앱 링크 구성을 업데이트할 수 있습니다.

동적 앱 링크를 사용하면 URL 경로, 프래그먼트, 쿼리 매개변수 일치를 비롯하여 앱을 열려는 URL을 세부적으로 제어할 수 있습니다. 일치 항목을 제외하여 앱을 열지 못하도록 할 수도 있습니다. 자세한 내용은 동적 규칙 구성을 참고하세요.

다음은 동적 앱 링크의 개념적 흐름입니다.

  1. 앱의 매니페스트android:autoVerify="true'를 사용하여 인텐트 필터에서 URL을 선언하고 웹사이트 호스트를 가리킵니다.
  2. 앱이 설치되면 Android 시스템은 웹 서버의 알려진 위치에서 assetlinks.json 파일을 가져옵니다.
  3. 시스템에서 파일이 유효하고 sha256_cert_fingerprints이 앱의 서명 인증서와 일치하는지 확인합니다.
  4. 시스템은 디지털 애셋 링크 문에서 dynamic_app_deep_link_components 필드 내에 정의한 딥 링크 규칙을 파싱하고 매니페스트 선언 규칙과 병합합니다.
    1. 사용자가 일치하는 링크를 클릭하면 시스템은 확인 대화상자를 표시하지 않고 사용자를 앱으로 바로 안내합니다.
  5. 시스템은 최신 규칙을 가져오기 위해 주기적으로 assetlinks.json 파일을 다시 가져오므로 앱 업데이트 없이 링크를 업데이트할 수 있습니다. 주기적 재가져오기는 Android 15 (API 수준 35) 이상을 실행하고 Google 서비스가 설치된 기기에서 지원됩니다.

사용 사례 예시

  • 시즌별 마케팅 캠페인: 소매 앱은 assetlinks.json 파일에 '/promo/summer-sale' 규칙을 추가하여 사용자를 특정 할인 화면으로 안내할 수 있습니다. 할인이 종료되면 사용자가 앱을 업데이트하지 않아도 규칙을 삭제할 수 있습니다.
  • 파트너용 가상 URL: 인플루언서와 파트너십을 맺은 경우 '/partner/influencer-name'과 같은 맞춤 URL을 만들고 규칙을 추가할 수 있습니다. 그런 다음 파트너십이 변경될 때 이 URL을 동적으로 추적, 업데이트 또는 삭제할 수 있습니다.
  • URL 경로 A/B 테스트: 개발자가 특정 URL 경로에 새 기능을 게시하고 assetlinks.json 파일에 규칙을 추가할 수 있습니다. 이를 통해 사용자는 일부 사용자를 대상으로 기능을 테스트한 후 전체 앱을 배포하지 않고 라우팅을 수정할 수 있습니다.
  • 단기 이벤트: 티켓팅 또는 이벤트 앱은 특정 이벤트의 URL 규칙을 추가할 수 있습니다. 이벤트가 종료되면 서버에서 이러한 규칙을 삭제할 수 있습니다.

앱 링크 구현과의 호환성

Android 15의 동적 앱 링크 확장 프로그램은 이전 버전의 Android를 실행하는 기기에서 기존 앱 링크 구현과 완전히 호환되도록 설계되었습니다. 앱 버전이 낮으면 동적 구성이나 구성 기능을 사용할 수 없으며 매니페스트에 선언된 규칙으로 대체됩니다. 이전 Android 버전의 사용자를 위해 앱 링크가 앱을 올바르게 열거나 웹으로 정상적으로 대체될 수 있습니다. 대부분의 경우 나머지 사용자층의 환경에 영향을 주지 않고 동적 규칙을 안전하게 배포할 수 있습니다.

동적 앱 링크 필터 규칙 설정 시 고려사항

Android 15 이상에서 동적 앱 링크와 함께 사용할 인텐트 필터를 설정하는 경우 서버 측 assetlinks.json 파일에 정의된 경로 수준 라우팅 규칙은 매니페스트 파일 인텐트 필터 규칙에 정적으로 설정한 범위를 확장할 수 없습니다.

따라서 매니페스트 인텐트 필터에서 가능한 가장 광범위한 범위를 설정한 다음 서버 측 assetlinks.json 규칙을 사용하여 추가로 세부 조정하는 것이 좋습니다. 이 이상적인 구성을 사용하면 매니페스트에 설정된 광범위한 범위에 맞는 새 앱 링크를 동적으로 추가할 수 있습니다.

앱 링크 구현 계획

앱 링크를 지원하려면 앱에서 구현해야 할 뿐만 아니라 서버 측에서 assetlinks.json 파일을 설정해야 합니다. 일반적인 준비 및 구현 작업은 여기에 나열되어 있으며 자세한 내용은 다른 리소스로 연결되는 링크를 참고하세요.

  • 딥 링크 계획하기 - 필요한 딥 링크, 사용할 URL 패턴, 업데이트 방법과 시기, 각 URL이 앱에서 해결되기를 원하는 활동 또는 작업에 대한 평가부터 시작하세요.
  • 동적 앱 링크 지원 - 최신 Android 기기 사용자에게 최상의 환경을 제공하세요. Android 15 이상을 사용하는 사용자를 위해 동적 앱 링크를 활용하세요.
  • 동적 필터 규칙 계획: 동적 앱 링크를 사용하는 경우 서버 측 규칙이 앱 매니페스트에 정적으로 정의된 규칙과 어떻게 작동할지 계획합니다. assetlinks.json 파일의 필터 규칙은 앱 매니페스트 필터의 범위를 확장할 수 없습니다. 매니페스트 필터가 가능한 가장 광범위한 범위를 선언하도록 계획해야 하며, 필요에 따라 서버 측 규칙이 이러한 규칙을 세부적으로 조정할 수 있습니다. 자세한 내용은 동적 규칙 구성을 참고하세요.
  • 링크의 인텐트 필터 만들기 및 테스트: 인텐트 필터에서 딥 링크를 선언하고 URL 패턴 일치 및 수신 인텐트 처리를 테스트합니다. 동적 앱 링크를 지원하려면 일부 세부 경로를 서버 측 JSON 파일로 이동해야 할 수 있습니다.
  • 수신되는 앱 링크 인텐트에서 데이터 읽기 - 수신되는 딥 링크 인텐트를 적절하게 처리하여 적절한 활동으로 해결합니다. 앱 링크 구현은 수신 인텐트에서 데이터 읽기에 설명된 일반 딥 링크와 동일합니다.
  • 웹사이트 연결 및 동적 규칙 구성 - 앱 링크를 지원하려면 웹사이트 또는 도메인에 호스팅된 서버 측 파일을 구성해야 합니다. Android 기기는 이 파일을 검색하여 앱의 앱 링크 구현을 앱과 함께 검증합니다. 자세한 내용은 여기를 참고하세요.
  • 앱 링크 인증 테스트 - Android 시스템에서 딥 링크를 자동으로 인증할 수 있는지 확인합니다. 디버깅 및 엔드 투 엔드 테스트를 사용하여 구성이 안전하고 인증된 모든 앱 링크 경로에서 올바르게 작동하는지 확인합니다.
  • Android 스튜디오, Play Console 등 앱 링크를 설정하는 데 사용할 수 있는 도구에 대해 알아봅니다. 자세한 내용은 여기를 참고하세요.