딥링크 정리 - URL Scheme, Universal Link·App Link, 디퍼드 딥링크
딥링크는 특정 콘텐츠(페이지)에 직접 도달할 수 있는 모든 링크를 말한다.
형태는 스킴(scheme)과 호스트(host)로 구성된 URL(Uniform Resource Locator)이다. 모바일에서는 앱을 실행하는 링크를 가리킨다.
URL Scheme 방식
섹션 제목: “URL Scheme 방식”운영하던 모바일 게임은 Android와 iOS 모두 myapp:// 형태의 스킴으로 딥링크를 등록해 두었다. 대시보드에서도 collection:// 같은 URL Scheme을 배너 클릭 이벤트에 연결하고, 클라이언트가 이 URL을 파싱해 원하는 콘텐츠(예: 컬렉션 메인 팝업)로 이동시킨다.
URL Scheme 방식 딥링크에는 단점이 있다.
- 스킴이 유니크하지 않다.
https://같은 스킴을 호출하면 여러 후보 앱(Chrome, Whale, Firefox 등)이 함께 뜬다. - 스킴이 실패했을 때의 fallback URL을 정의할 수 없다. URL Scheme이 동작하지 않으면 아무 일도 일어나지 않는다.
- 스킴만으로는 앱 설치 여부를 알 수 없다.
Universal Link와 App Link
섹션 제목: “Universal Link와 App Link”이 단점을 보완하려고 나온 것이 iOS의 Universal Link, Android의 App Link다.
유니크한 도메인을 활용해 서버 호출 시 메타데이터에서 딥링크 정보를 받아 오므로 중복을 피할 수 있다. 앱이 있으면 앱을 실행하고, 없으면 fallback URL로 다운로드를 유도하거나 대체 URL로 보낼 수 있다. 두 방식 모두 2015년 하반기에 나왔다.
- iOS 설정: Xcode의 Info - URL Types 항목에서 입력한다.
- Android 설정:
AndroidManifest.xml에서 원하는 Activity의<intent-filter>안에 추가한다.
Universal Link와 App Link에도 단점이 있다.
- 사용자 트리거(클릭 등)로만 동작한다.
- JavaScript 등으로 클릭을 유발하면 앱이 설치되어 있어도 fallback으로 떨어져 대체 URL로 이동한다.
- 신규 사용자가 어떤 링크를 거쳐 설치했는지 추적할 수 없다.
디퍼드 딥링크
섹션 제목: “디퍼드 딥링크”디퍼드 딥링크(deferred deep link)는 이 단점을 극복하려고 나왔다. 이름 그대로 딥링크 처리를 지연시켜, 앱 설치 과정을 거친 뒤에 딥링크를 실행한다. 그래서 다음 특징이 있다.
- 신규 가입자(NRU)를 집계할 수 있다.
- 사용자가 원하는 콘텐츠를 설치와 동시에 보여 줄 수 있다.
- 앱 내 콘텐츠를 목적으로 설치한 사용자의 동선을 줄일 수 있다(예: 푸시 알림 → 바로 컬렉션 팝업 노출).
디퍼드 딥링크는 어트리뷰션 솔루션(Branch, Firebase Dynamic Links, AppsFlyer OneLink) 중 하나를 골라 쓴다. 이 프로젝트는 AppsFlyer를 썼다.
- 하나의 URL로 각 OS에 맞게 앱 내 특정 페이지로 자동 이동시켜 준다.
- 어떤 광고로 설치했는지, 어떤 흐름으로 유입되었는지 분석할 수 있다.