딥링크 용어 정리

@JunYong · November 01, 2023 · 3 min read

사람들과 딥링크 관련하여 이야기 중, 서로 다르게 생각하거나 알고 있는 부분이 있어서 정리했습니다.

링크(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:

@JunYong
Hello :) I'm Jun.D FrontEnd Developer