보통의 주소는 https://naver.com 이나 http://google.com 처럼 http나 https로 시작한다. 이 인터넷 주소들은 모두 특정 서비스의 웹페이지로 이동하는 역할을 해준다.
하지만 youtube 나 특정 프로그램들을 사용하다보면 youtube:// 나 bugs:// 등의 요상한 주소를 볼 수도 있다. 이 주소들은 대체 뭘까? 웹(www) 어플리케이션이 http:// 나 https:// 프로토콜을 가지고 있는 것처럼, 어플리케이션도 각자의 프로토콜을 가질 수 있다. 위의 youtube:// 나 bugs://는 해당 어플리케이션을 호출하는 프로토콜이다. 이를 딥링크라고 부른다.
특히 모바일 쪽에서 youtube 링크를 크롬에서 켰는데, 자동으로 youtube 앱이 켜지면서 실행된다던가, 크롬에서 카카오톡 로그인을 하는데, 카카오톡이 켜지면서 인증이 진행된다던가 하는 일이 이 방식을 통해서 일어나게 된다. 윈도우 쪽에서는 크롬에서 어떤 작업을 할 때 갑자기 "어플리케이션을 연결하시겠습니까? " 라는 창이 뜨면서 확인을 누르면 윈도우에 설치된 어플리케이션이 실행되는 일도 있다.
딥링크란 '특정 페이지로 도달 할 수 있도록 하는 링크'를 의미하며,
모바일 딥링크는 '앱(Application) 내 특정 페이지에 도달할 수 있도록 하는 링크'를 의미
Direct Deep Link
Deferred Deep Link
Dynamic Link or One Link
딥링크는 일반적으로 아래와 같이
스키마(scheme)
와호스트(host) 및 경로(path)
의 두 부분으로 나뉘어져 있습니다.
{scheme}://{host_path}
# ex
기본 형식 : naversearchapp://inappbrowser?url=http%3A%2F%2Fm.naver.com&target=new&version=6
중계 페이지 : http://naverapp.naver.com/inappbrowser/?url=http%3A%2F%2Fm.naver.com&target=new&version=6
용어
딥링크의 종류
URL schemes
univeral link
딥링크의 가장 초기 형태이다. url 스키마를 앱에 정의하는 방식으로 사용한다.
exapp://
단점
Univerasl Link 란?
URL schemes가 가진 문제점을 해결하기 위해 2015년 하반기에 iOS와 Android 플랫폼은 각각 새로운 딥링크를 개발하여 발표했다.
개념적으로는 비슷한 형태의 딥링크이다.
iOS는 Universal Link
Android는 App Link
작동방식
특징
웹서버에서 Universal link(ios) 처리하는 흐름
단점
# 예시
<a id="applink" href="intent://qmenu=voicerecg&version=1#Intent;scheme=naversearchapp;action=android.intent.action.VIEW;category=android.intent.category.BROWSABLE;package=com.nhn.android.search;end">음성인식실행</a>
딥링크는 인텐트필터의 일종으로 사용자들이 직접적으로 안드로이드 앱내의 액티비티에 접근하는것을 허용합니다. 다른 앱에서 또는 웹브라우저에서의 링크를 클릭했을때 해당 링크의 scheme을 보고 앱을 실행하게 되며, 해당 링크를 처리하는 2개이상의 앱이 있다면 사용자에게 다이얼로그를 띄어 앱을 실행할 수 있도록 유도 합니다.
앱링크는 인증된 웹사이트 URL을 기반으로 하는 딥링크입니다. 링크 클릭시 앱이 설치되어있다면 즉시 열어서 보여주고 없다면 웹으로 이동합니다. 다이얼로그는 나타나지 않습니다.