딥 링크 솔루션 - dib lingkeu sollusyeon

 모바일에서 사용자의 경험을 최적화해주는 딥링크는 무엇이고, 어떻게 작용하는 것일까요?

딥 링크 솔루션 - dib lingkeu sollusyeon
  • 딥링크(Deeplink)란?

 딥링크는 단순하게 특정 페이지에 도달 할 수 있는 링크를 의미합니다. 여러분은 이 컨텐츠를 읽기위해 구글 혹은 네이버 등의 검색엔진에서 jacobwoo.tistory.com/entry/%EB%94%A5%EB%A7%81%ED%81%ACDeeplink%EB%9E%80 라는 URL을 클릭하셨을 것이라 생각해요. jacobwoo.tistory.com으로 이동하셔서 이 컨텐츠로 이동하는 것이 아닌 즉, 특정 컨텐츠에 직접적으로 도달하는 모든 링크를 의미합니다. 이미 웹에서 항상 접해왔던 개념이지만 우리는 이를 딥링크라 부르지 않고 그냥 링크라 불러왔죠. 딥링크라는 개념이 어려운 개념은 아닙니다. 하지만 웹과는 달리 앱에서는 작동원리가 훨씬 복잡해지는데요. 그래서 오늘은 모바일 딥링크에 대해 자세히 살펴보려 합니다.

 모바일 딥링크는 일반적으로 Scheme://Path의 형태를 갖습니다. 여기서 Scheme은 특정 고유 앱을 나타내는데요. 유튜브는 youtube://, 트위터는 twitter://라는 값을 사용합니다. 그리고 Path의 경우 앱 내 특정 페이지를 나타냅니다. 이 컨텐츠가 jacobwoo.tistory.com라는 주소에 /entry/%EB%94%A5%EB%A7%81%ED%81%ACDeeplink%EB%9E%80라는 Path를 갖고있는것 처럼요.

 모바일 딥링크는 3가지의 방식으로 구분됩니다.

  1. URI Schemes - iOS
  2. 유니버셜링크(Universal Links) - iOS
  3. Android App Links - AOS

 URI Schemes은 애플의 iOS9 이전까지의 표준 딥링크 형식이었습니다. 이 URI Scheme은 커스터마이징을 지원하여 딥링크를 구현할 수 있는데요. 예를 들어 jacobw://post?no=12와 같이 특정 컨텍스트 데이터로 앱을 실행할 수 있습니다. 다만, 몇 가지의 단점이 있었는데요. 앱이 설치되지 않은 경우에는 에러 페이지로 이동하게 되며, 2개 이상의 앱이 같은 jacobw://에 응답하려 하는 경우가 발생하게 됩니다. 에러 페이지로 이동되는 것은 크게 양보하여 지나가도 된다지만, 두번째 문제의 경우에는 고유해야하는 URL이 그렇지 못하게 되므로 크게 문제가 됩니다. 중앙 등록 시스템이 존재하지 않기 때문에 애플은 공식적으로 처리절차가 없다고 밝힙니다. 그래서 이에 대한 문제를 해결하고자 애플은 2세대 표준 딥링크 형식인 유니버셜링크(Universal Links)를 출범시킵니다.

 유니버셜링크(Universal Links)iOS9부터 그 이후의 표준 딥링크 형식으로, URI Schemes와는 다르게 웹 페이지와 앱 내부의 특정 컨텐츠를 가리키는 표준 웹 링크입니다. 도메인 주소를 딥링크의 실행 값으로 사용하게 되어, jacobwoo.tistory.com을 입력하면 jacobwoo의 앱이 바로 오픈되는 것이에요. 즉, 웹페이지 주소를 사용한 딥링크이며, AOS의 Android App Links도 유니버셜링크(Universal Links)와 같은 원리로 작동합니다.

딥 링크 솔루션 - dib lingkeu sollusyeon
source: developer.apple.com
딥 링크 솔루션 - dib lingkeu sollusyeon
source: developer.android.com

 하지만 유니버셜링크(Universal Links)와 Android App Links의 단점도 존재하는데요. 이 딥링크 방식들이 모든 앱에서 작동하지는 않습니다. 페이스북이나 트위터 등에서도 지원을 하지 않고 있구요. 결국 원활한 광고 운영을 위해서는 모든 딥링크 연동이 필요합니다.

  • 딥링크(DeepLink)의 변천과정

 딥링크의 작동원리에 대해 살펴봤는데요. 시간이 지나면서 딥링크 기술도 빠르게 발전해왔습니다. 크게 3가지로 구분할 수 있습니다.

  1. 다이렉트 딥링크(Direct Deep Link)
  2. 디퍼드 딥링크(Deferred Deep Link)
  3. 원링크(One Link)

 다이렉트 딥링크는 초창기의 딥링크 형태의 모습으로, 앱이 설치된 유저의 경우 특정 페이지로 랜딩이 되는 것이 가능했지만, 앱이 설치되지 않은 유저의 경우 각 플랫폼의 앱스토어로 이동되며, 설치 후 앱을 열었을 때 딥링크는 유실되었습니다.

딥 링크 솔루션 - dib lingkeu sollusyeon
source: 내가 만든 딥링크 사내교육자료(다이렉트 딥링크)

 다이렉트 딥링크의 단점인 앱 미설치 유저에게의 링크 유실을 보완하고자 디퍼드 딥링크(Deferred Deep Link)라는 개념이 등장합니다. 이는 다이렉트 딥링크와 마찬가지로 앱 미설치자는 각 플랫폼의 앱스토어로 이동되지만, 설치 후 앱을 열었을 때 링크가 유실되지 않고 특정 컨텐츠로 이동됩니다. 보다 Sticky한 모습을 보여주면서 유저의 경험을 최적화 해줍니다.

딥 링크 솔루션 - dib lingkeu sollusyeon
source: 내가 만든 딥링크 사내교육자료(디퍼드 딥링크)

  다만, 디퍼드 딥링크에서도 한계점이 보이는데요. 딥링크를 각각의 플랫폼별에서만 작동한다는 것이었습니다. AOS의 딥링크는 AOS에서만, iOS의 딥링크는 iOS에서만 작동하므로 트래킹 링크를 발급받으려면 2번의 생성작업을 거쳐야했습니다. 또한 이로 인해 광고를 집행할 때에도 목적이 동일한 하나의 캠페인을 AOS캠페인, iOS캠페인으로 나뉘어져야만 했습니다. 이러한 문제점을 해결하기 위해 하나의 링크에서 각각의 플랫폼으로 자동 분기처리해주는 One Link의 개념이 등장합니다.

딥 링크 솔루션 - dib lingkeu sollusyeon
source: appsflyer 블로그
  •  나가며...

 딥링크는 유저의 경험을 최적화 시켜주며, 이제는 더이상 모바일 서비스를 하신다면 없어서는 안될 기능입니다. Branch metrics, Appsflyer, Adjust 등의 솔루션에서 One Link를 제공하고 있으니, 구현을 하지 않으셨다면 반드시 구현하시길 바랍니다.

딥 링크 솔루션 - dib lingkeu sollusyeon