사람들과 딥링크 관련하여 이야기 중, 서로 다르게 생각하거나 알고 있는 부분이 있어서 정리했습니다.
링크(Link)란
인터넷에서 다른 웹사이트나 페이지로 이동할 수 있는 연결고리를 말한다. 일반적으로 링크는 텍스트 or 이미지 같은 콘텐츠에 하이퍼링크로 연결되어 있으며, 클릭하면 해당 페이지로 이동한다. 링크는 방문자의 이동경로를 팍악하여 사용자 개선에 활용된다.
딥링크(DeepLink)란?
기존 하이퍼링크를 통해 web-to-web 연결을 할 수 있었지만 Web-to-app 과 App-to-app 연결 하지 못하는 한계를 극복하기 위해 등장
링크 종류 / 목적지 | 웹 | 앱 |
---|---|---|
하이퍼링크 | ⭕ | ❌ |
딥링크 | ⭕ | ⭕ |
동작 방식 ⁕
-
사용자가 앱 설치했을 떄
- 딥링크 클릭 → 앱 실행 → 앱 페이지 연결
-
앱 미설치 사용자
-
딥링크 클릭
-
3중 하나 적용
- 작동 하지 않음
- 앱 설치 스토어 이동
- 웹 페이지 이동
-
-
용어 종류별 정리
-
URI 스킴(URI Scheme)
-
설명
- 통합 자원 식별자(URI)에서 사용되는 프로토콜
- URI 방식으로 앱을 실행한다.
-
예시
- 삼성 브라우저: 'x-callback-url/samsung-browser'
- 카카오톡: 'kakaotalk://message'
- 인스타그램: 'instagram://user'
-
단점
- 앱 미설치시 스토어로 이동되면서 앱 설치 과정에서 딥링크 정보가 유실 된다.
- 스킴이 중복 될 수 있다.
- 같은 URI 스킴을 사용하는 다른 앱이 스킴 딥링크를 프록시할 수 있다. 스킴 딥링크의 URI 스킴과 경로까지 같다면 안드로이드는 해당 딥링크로 연결할 앱을 선택하라고 팝업이 뜨며, iOS는 가장 최근에 설치된 앱을 자동으로 연결한다.
-
테스트 방법
- slack 이나 codesandbox에서 URI스킴을 호출해서 정상적으로 앱이 실행 되는지 확인한다.
-
-
앱링크
-
설명
- 앱링크는 유저를 APP으로 인도하는 링크(딥링크)
- 앱링크는 https. http 둘다 지원
- 앱 설정에 도메인을 인증 받아서 등록을 해야한다.
-
예시
-
단점
- 앱 미설치시 스토어로 이동되면서 앱 설치 과정에서 딥링크 정보가 유실 된다.
-
-
유니버셜 링크
-
설명
- 유니버셜 링크는 유저를 APP으로 인도하는 링크(딥링크)
- 유니버셜링크는 IOS 표준이라고 한다.
- 유니버셜링크는 https만 지원
- 앱에서 허용할 도메인을 추가 해야한다.
-
예시
-
단점
- 앱 미설치시 스토어로 이동되면서 앱 설치 과정에서 딥링크 정보가 유실 된다.
-
Web(js,react) 영역에서는 URI 스킴을 주로 사용하여 앱을 실행한다. 혹시 앱이 설치돼있지 않은 경우에는 js 코드에서 딥링크 실행 후 setTimeout 통해 앱이 실행되는 시간을 주고, 앱이 실행되지 않으면 스토어로 이동하도록 구현한다. 또는 visibilitychange 이벤트를 통해 앱이 실행되지 않은 경우에는 스토어로 이동하도록 구현한다.
디퍼드 딥링크(Deferred Deep Link)
동작 방식 ⁕
-
앱 설치
- 딥링크 클릭 → 앱실행 → 앱 페이지 연결
-
앱 미설치
- 딥링크 클릭 → 앱스토어에서 앱 설치 실행 → 앱 페이지 연결
AOS는 구글 플레이 스토어에서 디퍼드 딥링크를 구현할 수 있는 기능을 제한적으로 지원 한다.
IOS는 디퍼드 딥링크를 구현할 수 있는 기능을 지원하지 않아 구현을 위해서는 별도로 구축한 서버에 딥링크를 포함한 정보를 저장해야 한다.
-
설명
- User가 앱을 처음 설치하고 앱이 실행 될 때까지 지연되는 딥링크, 일반적으로 딥링크는 APP이 설치한 경우 딥링크로 이동이 되지만, 디퍼드 딥링크는 앱이 설치되지 않은 상태에서도 딥링크 정보를 유지하여 사용자가 앱을 설치한 후에 해당 정보를 처리할 수 있다.
- 사용자 경로 개선, 유입 추적(마케팅)에서 주로 사용 된다.
-
예시
- iOS와 Android 각각의 개발 가이드라인과 문서를 참고하여 코드 구현해야 한다.
-
단점
- 서드파티 솔루션(예: 에어브릿지, 에드브릭스), 이러한 솔루션을 활용하여 디퍼드 딥링크 기능을 구현할 수 있다.
- iOS 14.5+ 버전부터는 App Tracking Transparency (ATT) 프레임워크가 도입되어 유저 추적에 제약 사항이 생겨, 이로 인해 정확한 유입 추적 및 광고 타깃팅이 어려울 수 있다.
컨텍스트 딥링크(Context Deep Link)
- 컨텍스트 딥링크는 디퍼드 딥링크의 기능을 확장한 딥링크
- 유저를 서로 다른 앱 페이지로 연결할 수 있다.
- 컨텍스트 딥링크를 클릭하면 유저는 딥링크를 클릭한 위치,정보,개인화 여러 정보를 가지고 서로 다른 앱페이지로 이동한다.
동작방식
-
앱설치 유저
-
딥링크 클릭 → 앱 실행
- 앱 페이지 1 연결
- 앱 페이지 2 연결
- 앱 페이지 3 연결
-
-
앱 미설치 유저
-
딥링크 클릭 → 앱 스토어 앱 설치 ,실행
- 앱 페이지 1 연결
- 앱 페이지 2 연결
- 앱 페이지 3 연결
-
다이나믹 링크
- Firebase에서 만든 디퍼드 딥링크 이다.
- google에서 지원하는 딥링크 sdk
- google에서 관리하기 때문에 안드로이드 경우 googlePlayStore랑 상호작용이 좋다
원링크
- appsflyer에서 만든 디퍼드 딥링크이다.
정리
딥링크를 통해서 Web-to-app 이동을 할 수 있지만, 마켓팅 관점에서 사용자 추적 데이터 수집 및 데이터 적재를 위해서는 서드파트 솔루션을 사용하거나 별도의 서버를 구축하여 딥링크를 관리해야 한다.
references: