딥링크(Deep Link)

vvhustle's coding note·2023년 2월 16일
0

딥링크는 특정 콘텐츠(페이지)에 직접 도달할 수 있는 모든 링크이라 정의합니다.

형태는 스킴(scheme)과 호스트(host)로 구성된 URL(Uniform Resource Locator) 되어 있고,

최근 모바일이 보편화 되면서 앱을 시작하는 링크의 의미로 쓰이고 있습니다.

앱이름::// 로 딥링크 등록이 되어 있으며
대시보드의 collection::// 과 같은 방식의 URL Scheme을 링크하여 배너의 클릭 이벤트로 특정 컨텐츠로 연결을 시켜주어 클라가 url을 파싱하여 원하는 컨텐츠(이를 테면 컬렉션 메인 팝업)로 이동시킵니다.

위와 같은 URL Scheme 방식의 딥링크 단점이 있습니다.

1.스킴의 중복(유니크하지 않음)
https://이라는 URL Scheme을 호출할 경우 여러 후보군(ex. 크롬, 웨일, 파이어폭스 등)이 등장할 수 있고 Scheme에
2.스킴의 fail에 대한 fallback URL 정의 불가능

URL Scheme이 동작하지 않을 때 아무것도 되지 않습니다

  1. 앱의 설치 유무 등을 알 수 없음
    Sceheme 만으로 알 숭 ㅓㅄㅅ브니다.

이러한 단점으로 등장한 것이

Universal Link 방식으로 동작하는 IOS 앱스토어

App Link 방식으로 동작하는 구글 플레이스토어

유니크한 도메인의 특징을 활용해 서버 호출 시 메타 데이터에서 딥링크를 받아 오기때문에

중복을 피할 수 있고

앱이 있으면 앱을 실행,

앱이 없으면 fallback url로 다운로드를 유도하거나 특정 url로 이동시킴

두 방식 모두 2015년 하반기에 개발되었으며 (안드로이드가 뒤늦게 따라했답니다..)

iOS 설정 방법 :

xcode - info - url types 항목에서 설정

안드로이드 설정 방법 :

andoridmanifest.xml에서 원하는 activity에 로 추가하면됩니다.

이러한 유니버설 링크와 앱링크도 단점이 있습니다.

  1. 사용자 트리거에 의해서만 동작
  2. 자바스크립트 등으로 클릭 유발할 경우에는 앱 설치가 되어 있어도 fallback이 떨어져 대체 URL으로 동작
  3. 신규 유저의 traking 불가능 (어떤 링크로 타고 타고 설치했는지)

이러한 단점을 극복하기 위해 디퍼트 딥링크라는 개념이 있습니다.

  • 새로 앱을 설치한 사용자(NRU, Newly Registered User)를 집계할 수 있다. (마케터의 광고 효율성을 측정할 수 있다.)
  • 사용자가 원하는 콘텐츠를 설치와 동시에 보여줄 수 있다.
  • 앱 내 콘텐츠를 목적으로 설치한 사용자의 동선을 줄일 수 있다.

이런 장점을 지닌 디퍼드 딥링크는 각각의 OS 별로 구현하는 방식이 다르다.참고

안드로이드 capabilities associated domains 활성화 후 app id prefix를 등록 한 후AppDelegate.m의 continueUserActivity 함수를 통해 처리하면 됩니다.

하지만 ios12이상의 기기에서는 불가능합니다.

따라서 많은 서비스들이 어트리뷰션 툴에서 만들어주는 솔루션 서비스 업체로 사용합니다.

주요 솔루션 서비스 업체 (브랜치, 파이어베이스-DynamicLink , 앱스플라이어-OneLink)

  • 파이어베이스에서는 dynamic LinkAppsflyer에서는 one Link라는 명칭으로 불린다.
  • 하나의 URL로 각각의 OS에 맞게 자동으로 앱 내 특정페이지로 이동할 수 있게 해준다.
  • 어트리뷰션 툴을 사용하면 어트리뷰션 툴에서 수집한 광고 클릭 데이터와 SDK를 통한 앱 설치 데이터가 연결되어 성과를 낸 광고를 특정할 수 있게 된다.즉, 광고의 성과를 분석할 수 있게 되는 것.

EOF.

0개의 댓글