- 홈페이지 내 특정 화면에 한번에 도달 할 수 있는 링크
- 웹과 마찬가지로 앱에선 링크에 해당하는 컨텐츠를 보여줄 수 있는 화면으로의 이동 가능한 링크 입니다.
- 푸쉬 알림을 눌렀더니 상품의 상세 정보 화면으로 바로 도착
- 카카오톡 알림 톡으로 받은 링크 클릭 시 앱의 특정 화면으로 이동
- 웹에서 모바일로 보기 클릭 시 이동(앱 설치가 되어있지 않으면 스토어로 이동)
- A 앱에서 B 앱 을 열려고 할 때
웹은 URL 이 공개적이기 때문에 사용자가 쉽게 이동할 수 있지만,
앱은 URL 로의 이동도 아닐 뿐더러 해당 화면의 논리적 위치를 사용자에게 알리지 않기 때문에,
이를 딥링크로 동작하게 하여 사용자가 원하는 기능에 더 쉽고 빠르게 도달할 수 있도록 할 수 있다.
ex. 상품 광고를 눌러서 들어왔는데 홈 화면 부터 그 상품을 찾아가야만 한다면, 사용자는 앱을 쓰지 않을 것이다.
- 다른 개념이 나오기전 초기에 사용된 딥링크의 구현 방식이다.
- 웹에서 사용되는 URL 패턴과 동일하게 구현하는 경우가 많습니다.
- 형태 : {scheme}://{path}
- scheme -> 어떤 앱 인지 나타낸다.
- path -> 앱 내 어떤 화면을 보여줄 것인지 나타낸다.
- ex) hanaApp://myProfile : 하나앱을 열어서 내 프로필 페이지를 나타낸다.
- 별다른 제약 없이 개발자가 지정해서 사용할 수 있는 특징이 있습니다.
- 개발자 지정 외에도 앱에서 사용할 수 있는 알려진 스킴들이 존재 합니다.
- sms:// -> 문자
- mailto:// -> 메일
- market:// -> 앱 마켓
- tel:// -> 전화
- etc....
단점
- 중복 스킴이 될 수도 있다.
- 동일한 스킴을 가진 앱이 2개가 있다면 안드로이드 기준 어떤 앱으로 열 것인지 선택할 수 있는 창을 노출 합니다.
- 악의적으로 다른 앱과 동일한 스킴을 만들어서, 그 앱 대신 다른 앱이 열리도록 만들 수 있습니다.
- URI scheme 의 한계를 극복하기 위해 나온 개념이 앱 링크(Android) / 유니버셜 링크(iOS) 입니다.
- 이 링크는 항상 url 의 형태로 만들어 집니다.
- 도메인으로 만들어지기 때문에, 유일하고 동일합니다.
- 이 도메인이 이 앱의 소유자 임을 앱에서 인증해야 동작 할 수 있습니다.
- 인증 방식은 앱의 고유 id 정보가 포함된 파일을 업로드, 파일 확인을 통해 인증 처리하는 방식으로 이뤄집니다.
단점
- 브라우저 주소창에 직접 입력시 동작하지 않음...
- 각 플랫폼의 특성을 타서, 실행이 되기도 하고 안되기도 하는 경우가 발생함
- 자체 브라우저를 가진 앱 내에서(네이버, 카카오, 페이스북 등) 실행 시 동작하지 않는 경우도 있음
- 앱 설치가 완료된 상태라면, 딥링크에 맞는 화면이 실행
- 앱 설치가 되어있지 않다면 웹 url 로 인식하고 웹페이지를 열려고 함(웹페이지 서비스를 하고 있을 경우, 웹에서 맞는 컨텐츠 노출)
- 딥링크 url 로 열었을 경우 웹에서 앱 마켓으로 이동하는 처리를 해두기도 함
- 기존 딥링크의 단점을 보완한 딥링크 이다.
- 기존 딥링크는 앱 설치가 되어 있지 않을 때 사용자가 바로 컨텐츠를 볼 수 없고, 이 시점에 적절한 조치가 없다면 사용자의 이탈이 불가피 한데, 이러한 점을 보완하여 사용자의 이탈이 최소화 하도록 할 수 있는 딥링크 이다.
- 앱 설치 완료 -> 앱이 열리면서 사용자가 보고자 하는 컨텐츠 실행
- 앱 설치 미완료 -> 딥링크 동작을 지연시키고 앱 설치 후 실행되었을 때 해당 컨텐츠를 실행 하여 사용자가 보고자 했던 화면을 바로 노출
장점
- 앱을 처음 설치한 사용자에게도, 이전에 유입된 광고항목 혹은 컨텐츠로 앱 화면을 바로 노출 해줄 수 있다.
- 앱 홍보를 위한 수단으로 활용이 필요한 개념이다.
-
이를 다 구현하는 것은 우리의 서비스에 관련된 비즈니스 로직에 포함되지 않기 때문에, 많은 회사에서 SDK 를 이용한 처리를 하기도 한다.
-
또한 해당 솔루션 이용시 업체에서 제공하는 사이트를 이용하여 개발자가 아닌 직무 담당자들이 쉽게 딥링크 관련된 동작을 설정할 수 있다.
-
라이브러리 종류
- Firebase
- AppsFlyer
- Branch
- Adjust
- etc...