[안드로이드] URI Scheme, App Link, Deferred Deep Link란?

변준영·2023년 2월 2일
0

1. URI Scheme란?[1]

  • URI을 통해서 특정 프로그램을 실행하고자 할 때 사용되는 기술
  • 'http://', 'https://', 'ftp://'과 같은 형식도 URI Scheme에 해당
  • 딥링크 중 가장 보편적으로 사용
scheme://host

1) Android에서의 URI Scheme를 사용 흐름 [2][3]

  1. 웹페이지에서 하이퍼링크 클릭 시 URI scheme이 system에 전달
  2. system에서 전달된 URI scheme을 보고 실행 가능한 앱이 있는지 확인
  3. 해당 URI scheme을 받을 수 있는 앱이 있다면 앱을 실행시키며 이 URI을 함께 전달
  4. 앱이 실행되면서 URI에 포함된 내용을 참조해서 특정 기능을 수행함

2) URI Scheme의 한계점

- 중복된 URI Scheme가 존재할 수 있음
-> Google Play 스토어 :: market:// 이라는 scheme를 가짐
-> 다른 스토어들(원스토어, 갤럭시 스토어 등)도 대부분 market:// 이라는 scheme를 가짐
=> 이럴 경우 의도했던 앱으로 바로 이동이 되지 않고, chooser를 통해 이동할 앱을 선택해야 함.
- 이를 개선하기 위한 것으로 App Link , Universal Link(iOS) 등이 있다.

2. App Link란?[4]

  • 사용자가 앱을 선택할 필요 없이, 웹사이트 URL을 클릭하면 Android 앱에서 콘텐츠가 바로 열리도록 하는 특별한 유형의 딥 링크

1) 앱에 Android 앱 링크 추가

- HTTP URL을 사용해 앱 콘텐츠를 여는 인텐트 필터를 정의
- 앱과 웹사이트 URL을 모두 소유하고 있는지 확인
- 시스템에서 개발자의 URL 소유권이 확인되면 URL 인텐트를 앱에 자동으로 라우팅

3. Deferred Deep Link란?[5]

  • 딥링크에 추가적으로 활용할 수 있는 기술로, 문자 그대로 ‘지연된 딥링크’를 의미
  • 앱이 설치되지 않은 유저에게는 딥링킹을 할 수 없기 때문에, 해당 유저가 링크를 클릭한 후 앱을 설치하고 앱을 실행하기까지 기다렸다가 딥링크를 실행해 주는 기술
  • 이를 위해서는 유저가 링크를 클릭했을 때의 정보와 앱을 설치하고 오픈한 유저의 정보는 물론, 딥링크를 보관하고 내려줄 서버가 필요하여 직접 구현하는 것이 쉽지 않음

참고

[1] https://py0zz1.tistory.com/m/137
[2] https://velog.io/@jeep_chief_14/URL-Scheme-0xm9upiv
[3] https://velog.io/@nagosooo/URL-Scheme
[4] https://developer.android.com/training/app-links/verify-android-applinks?hl=ko
[5]https://www.airbridge.io/blog-ko/deeplink-101-deferred-deep-linking

0개의 댓글