딥링크는 특정 콘텐츠(페이지)에 직접 도달할 수 있는 모든 링크이라 정의합니다.
형태는 스킴(scheme)과 호스트(host)로 구성된 URL(Uniform Resource Locator) 되어 있고,
최근 모바일이 보편화 되면서 앱을 시작하는 링크의 의미로 쓰이고 있습니다.
앱이름::// 로 딥링크 등록이 되어 있으며
대시보드의 collection::// 과 같은 방식의 URL Scheme을 링크하여 배너의 클릭 이벤트로 특정 컨텐츠로 연결을 시켜주어 클라가 url을 파싱하여 원하는 컨텐츠(이를 테면 컬렉션 메인 팝업)로 이동시킵니다.
위와 같은 URL Scheme 방식의 딥링크 단점이 있습니다.
1.스킴의 중복(유니크하지 않음)
https://이라는 URL Scheme을 호출할 경우 여러 후보군(ex. 크롬, 웨일, 파이어폭스 등)이 등장할 수 있고 Scheme에
2.스킴의 fail에 대한 fallback URL 정의 불가능
URL Scheme이 동작하지 않을 때 아무것도 되지 않습니다
이러한 단점으로 등장한 것이
Universal Link 방식으로 동작하는 IOS 앱스토어
App Link 방식으로 동작하는 구글 플레이스토어
유니크한 도메인의 특징을 활용해 서버 호출 시 메타 데이터에서 딥링크를 받아 오기때문에
중복을 피할 수 있고
앱이 있으면 앱을 실행,
앱이 없으면 fallback url로 다운로드를 유도하거나 특정 url로 이동시킴
두 방식 모두 2015년 하반기에 개발되었으며 (안드로이드가 뒤늦게 따라했답니다..)
iOS 설정 방법 :
xcode - info - url types 항목에서 설정
안드로이드 설정 방법 :
andoridmanifest.xml에서 원하는 activity에 로 추가하면됩니다.
이러한 유니버설 링크와 앱링크도 단점이 있습니다.
이러한 단점을 극복하기 위해 디퍼트 딥링크라는 개념이 있습니다.
이런 장점을 지닌 디퍼드 딥링크는 각각의 OS 별로 구현하는 방식이 다르다.참고
안드로이드 capabilities associated domains 활성화 후 app id prefix를 등록 한 후AppDelegate.m의 continueUserActivity 함수를 통해 처리하면 됩니다.
하지만 ios12이상의 기기에서는 불가능합니다.
따라서 많은 서비스들이 어트리뷰션 툴에서 만들어주는 솔루션 서비스 업체로 사용합니다.
주요 솔루션 서비스 업체 (브랜치, 파이어베이스-DynamicLink , 앱스플라이어-OneLink)
EOF.