💡 딥링크
특정 주소를 클릭하면 앱 내 해당 화면으로 이동할 수 있는 링크를 딥링크라고 한다. 마치 특정 웹링크를 통해 웹페이지로 이동할 수 있는 것과 같은 기능이다. 이러한 딥링크는 사용자로 하여금 광고 링크를 눌렀을 때 바로 특정 화면으로 이동할 수 있게 하여 중간에 탈주를 막는 효과도 제공한다
- URI Scheme
- 앱링크
- 유니버셜 링크
딥링크는 이와 같이 3가지 방식으로 구분된다.
URI Scheme
앱에 Scheme 값을 등록하여 앱을 구분하는 방식이다. 스킴이란 앱마다 등록할 수 있는 값으로, 우리가 특정 스킴을 넣어 값을 호출하면 그에 해당하는 앱이 열리도록 하는 기능을 수행한다.
이때 path 값은 앱 내 특정 페이지를 가리킨다. Scheme://path 라는 값을 호출하면 Schme을 통해 특정된 앱 내 path가 가리키는 페이지로 이동하게 된다.
아래와 같이 안드로이드에서는 딥링크를 사용하기 위해 AndroidMainfest.xml 파일 내 액티비티에 스킴값을 틍록한다.
<activity
android:name="com.example.android.TestActivity">
<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="scheme"
android:host="path"
</intent-filter>
</activity>
이렇게 스킴을 등록할 경우 sheme://path 라는 값은 해당 액티비티를 가리키게 된다.
데이터 읽기
액티비티 초기 실행 단계인 onCreate() 혹은 onNewIntent() 에서 수신된 Intent 데이터를 가져올 수 있다.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main)
val action: String? = intent?.action
val data: Uri? = intent?.data
}
사용자가 딥링크를 통해 앱을 실행했을 경우 intent를 통해 넘어온 data 값에 특정 페이지를 가리키는 값이 넘어온다. 위 코드를 사용해 딥링크 데이터를 수신하여 원하는 페이지로 이동할 수 있다.
'Android' 카테고리의 다른 글
[Android] 포그라운드 서비스 사용 (Foreground Service) (1) | 2024.09.24 |
---|---|
[Android] Branch.io SDK 연동 / 딥링크 사용법 / 커스텀 이벤트 트래킹하기 (0) | 2024.01.16 |
[Android] Widget 에서 ListView 사용하여 데이터 노출하기 (2) | 2023.10.12 |
[Android] Naver Map Api로 네이버 지도 사용하기 (0) | 2022.04.07 |