- URI을 통해서 특정 프로그램을 실행하고자 할 때 사용되는 기술
- 'http://', 'https://', 'ftp://'과 같은 형식도 URI Scheme에 해당
- 딥링크 중 가장 보편적으로 사용
scheme://host
1) Android에서의 URI Scheme를 사용 흐름 [2][3]
- 웹페이지에서 하이퍼링크 클릭 시 URI scheme이 system에 전달
- system에서 전달된 URI scheme을 보고 실행 가능한 앱이 있는지 확인
- 해당 URI scheme을 받을 수 있는 앱이 있다면 앱을 실행시키며 이 URI을 함께 전달
- 앱이 실행되면서 URI에 포함된 내용을 참조해서 특정 기능을 수행함
2) URI Scheme의 한계점
- 중복된 URI Scheme가 존재할 수 있음
-> Google Play 스토어 :: market:// 이라는 scheme를 가짐
-> 다른 스토어들(원스토어, 갤럭시 스토어 등)도 대부분 market:// 이라는 scheme를 가짐
=> 이럴 경우 의도했던 앱으로 바로 이동이 되지 않고, chooser를 통해 이동할 앱을 선택해야 함.
- 이를 개선하기 위한 것으로 App Link , Universal Link(iOS) 등이 있다.
- 사용자가 앱을 선택할 필요 없이, 웹사이트 URL을 클릭하면 Android 앱에서 콘텐츠가 바로 열리도록 하는 특별한 유형의 딥 링크
1) 앱에 Android 앱 링크 추가
- HTTP URL을 사용해 앱 콘텐츠를 여는 인텐트 필터를 정의 - 앱과 웹사이트 URL을 모두 소유하고 있는지 확인 - 시스템에서 개발자의 URL 소유권이 확인되면 URL 인텐트를 앱에 자동으로 라우팅
- 딥링크에 추가적으로 활용할 수 있는 기술로, 문자 그대로 ‘지연된 딥링크’를 의미
- 앱이 설치되지 않은 유저에게는 딥링킹을 할 수 없기 때문에, 해당 유저가 링크를 클릭한 후 앱을 설치하고 앱을 실행하기까지 기다렸다가 딥링크를 실행해 주는 기술
- 이를 위해서는 유저가 링크를 클릭했을 때의 정보와 앱을 설치하고 오픈한 유저의 정보는 물론, 딥링크를 보관하고 내려줄 서버가 필요하여 직접 구현하는 것이 쉽지 않음
[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