본문 바로가기
Android/기본

[Android] Deep Link 딥링크

by LoseyKim 2024. 3. 18.

Deep links, Web links, Android App Links

딥링크의 작동 원리

딥링크는 URL 형태로 제공되며, 이 URL을 클릭하면 앱의 특정 부분으로 직접 이동할 수 있습니다. 웹에서 특정 페이지의 링크를 클릭해 바로 그 페이지로 이동하는 것과 유사한 원리입니다. 하지만 딥링크는 앱 내부의 특정 화면으로 직접 이동한다는 점에서 차이가 있습니다.

딥링크의 종류

  • 딥링크 : 앱이 이미 설치되어 있어야만 작동하는 링크입니다. 앱이 없으면, 링크를 눌러도 아무 일도 일어나지 않습니다.
  • 웹 URL 딥링크 : 앱이 설치되어 있지 않으면 웹사이트로 이동하는 링크입니다. 이 방식으로, 앱이 없어도 내용을 볼 수 있습니다.
  • 앱 링크 : 가장 진화된 형태의 딥링크로, 앱이 있으면 바로 앱으로, 없으면 웹사이트로 이동합니다.

딥링크의 장점

  • 사용자 경험 개선: 사용자는 검색이나 여러 단계의 탐색 없이도 원하는 콘텐츠에 바로 접근할 수 있습니다.
  • 효율적인 마케팅: 마케팅 캠페인에서 딥링크를 활용하면, 사용자를 앱의 특정 프로모션 페이지나 제품에 직접 연결할 수 있습니다.
  • 콘텐츠 공유 용이: 사용자가 앱 내 콘텐츠를 쉽게 공유할 수 있게 해줍니다.

딥링크 구현하기

<activity
    android:name="com.example.android.GizmosActivity"
    android:label="@string/title_gizmos" >
    <intent-filter android:label="@string/filter_view_http_gizmos">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <!-- "http://www.example.com/gizmos"로 시작하는 URI를 인식합니다. -->
        <data android:scheme="http"
              android:host="www.example.com"
              android:pathPrefix="/gizmos" />
        <!-- pathPrefix 앞에 "/"가 필요합니다 -->
    </intent-filter>
    <intent-filter android:label="@string/filter_view_example_gizmos">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <!-- "example://gizmos"로 시작하는 URI를 인식합니다.. -->
        <data android:scheme="example"
              android:host="gizmos" />
    </intent-filter>
</activity>

안드로이드 앱의 'AndroidManifest.xml' 파일에 딥링크를 위한 인텐트 필터를 추가하여, 앱이 특정 URL을 인식하게 할 수 있습니다. 이 URL 패턴이 호출될 때, 앱의 특정 Activity를 시작하도록 설정합니다.

  1. 인텐트 필터 설정: 앱의 'AndroidManifest.xml' 파일 내에, 열고자 하는 Activity에 대해 '<intent-filter>'를 추가합니다. 이 필터 내에 '<action>', '<category>', 그리고 '<data>' 요소를 정의하여, 앱이 처리할 URL 형식을 지정합니다.
  2. 데이터 처리: 사용자가 딥링크를 통해 앱에 들어왔을 때, 해당 Activity는 인텐트에서 데이터를 추출하고 이를 기반으로 적절한 작업을 수행해야 합니다. 예를 들어, 사용자가 특정 제품 페이지를 열기를 원할 경우, 해당 제품의 ID를 인텐트에서 추출하여 해당 제품 정보를 표시합니다.

참고문서

https://developer.android.com/training/app-links?hl=ko

Android 앱 링크 처리하기 | Android 개발자 | Android Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. Android 앱 링크 처리하기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 그림 1. 딥 링크, 웹 링크, Androi

developer.android.com

https://developer.android.com/training/app-links/deep-linking?hl=ko

앱 콘텐츠 딥 링크 만들기 | Android 개발자 | Android Developers

사용자가 링크를 통해 앱으로 이동할 수 있게 하려면 앱 매니페스트에서 관련 활동에 인텐트 필터를 추가해야 합니다. 이러한 인텐트 필터를 사용하면 모든 활동의 콘텐츠로 연결되는 딥 링크

developer.android.com