원링크 (One Link), 딥 링크(Deep Link), 디퍼드 딥 링크 (Deferred Deep Link) - 웹뷰와의 통신
초반에 잘못 이해해서 꽤나 개념을 이해하는데 쉽지 않았다.
회사, 사람마다 같은 개념을 다른형식으로 말하기도 해서 헷갈리기도 했고, 마케팅하시는 분들의 블로그에서 잘못된 정보들이 있어 이해하는데 시간이 걸렸다.
다시 정리해보자.
원링크 (One Link)
하나의 링크를 통해 여러 플랫폼 또는 목적지로 사용자들을 유도하는 기술이나 개념.
단일 URL로 여러 목적지를 처리하는 마케팅 기술 플랫폼.
(AppsFlyer의 통합 딥링킹 플랫폼으로 하나의 단일 링크만으로도 딥링킹 제공)
즉, 사용자가 원링크를 클릭하면, 링크는 사용자의 디바이스나 운영체제(OS)등의 정보를 분석하여 가장 적합한 목적지로 라우팅한다.
웹은 웹 사이트, iOS는 앱스토어, Android는 구글 스토어..
https://{고유한값}.onelink.me와 같은 형태의 링크다. (Branded Domains 기능이 있어서 appLink.{고유한값}.com 형태로 변경해서 사용가능하다고 하다.)
딥 링크(Deep Link)
딥링크의 주요 3가지 방식은
- URI 스킴 방식 (URI Scheme)
- 앱 링크 (App Link)
- 유니버셜 링크 (Universal Link)
URI 스킴 방식
여기서 초기에 딥링크는 URI 스킴 방식만 존재했는데, URI 스킴방식은 아래와 같이 사용한다.
{scheme}://{path}?{queryString=123}
myapp://product?productId=123
이 방식은 한계를 가지고 있었는데, 앱이 설치되어 있어야만 실행가능하며, scheme은 유일하지않은 값이기때문에 중복될 수 있었다.
따라서 myapp 스킴을 여러 앱에서 사용할 수 있고 이렇게 되었을때는 충돌나며, 악의적으로 이용될수도 있다고 한다. (아무 연관이 없는 회사에서 kakao:// 이렇게 만들어버린다던가..)
그래서 이 URI 스킴 방식의 한계를 극복하고자, 등장하게된게 앱링크(App Link)와 유니버셜링크 (Universal Link)라고 한다 (두개는 같은 개념으로 해석하면 되고, 제공하는 곳이 다르고 앱링크는 Android, 유니버셜링크는 iOS)
-> 이 부분이 내가 헷갈린 부분 중 하나이기도 하다, 회사에서 주로 유니버셜링크로 퉁 쳐서 말하는 경우들이 발생하는 것 같았고, 앱링크 !== 유니버셜링크 로 아예 다른 개념인것으로 이해해버렸다.
앱링크 = 유니버셜링크 => 요즘 추세로는 그냥 딥링크로 통용되는듯 하다.
앱링크 (App Link) 와 유니버셜 링크 (Universal Link)
App Link는 Android
Universal Link는 iOS
웹 사이트의 URL 형태로 만들어진다. (https://www.{고유한주소}.com/product)
고유한 웹 사이트 주소로 만들어지기때문에 항상 유일하게 되어 URI 스킴방식의 한계였던 어뷰징이 불가능하다.
둘다 도메인이 소유자라는 것을 인증해주는 절차가 필요하다고 하는데, 웹 사이트의 특정 파일에 등록해서 인증처리하면 되는 듯 하다.
앱이 설치되어있는 경우 해당 딥링크에 맞는 화면이 실행되고, 앱이 없으면 웹 URL경로이기때문에 웹에서 처리해주면된다 (앱마켓으로 이동, 혹은 웹에서 대응)
문제점은 주소 입력창에 직접 복사/붙여넣기시 동작하지 않는것과 크롬, 사파리 등..을 제외하고 각 플랫폼에서 본인들이 개발한 브라우저로 할 경우 동작하지 않는 경우들이 있다고 한다. (동작이 다른 경우도 있다고 함)
디퍼드 딥링크 (Deferred Deep Link)
앱이 설치되지 않은 상태에서도 링크 데이터를 유지하여 앱 설치 후에 데이터를 복원해 사용자를 특정 화면으로 안내하는 기능 제공
지연된 딥링크로, 딥링크를 눌렀을때 앱이 설치되어있으면 앱이 열리면서 해당 컨텐츠 실행, 앱 미설치시 앱마켓 이동 후 설치 이후 해당 컨텐츠 실행
정리
원링크 플랫폼을 통해 원링크를 생성하고, 사용자가 원링크를 클릭하는 경우에 원링크 플랫폼이 사용자 디바이스의 플랫폼을 판단하고, 앱이 있는 경우 딥링크(앱링크=유니버셜링크)를 통해 앱의 특정 화면으로 이동시킨다.
이때 앱이 없는 경우 앱마켓으로 이동시키고, 이때 디퍼드 딥링크 설정이 되어있다면 디퍼드 딥링크 기능을 통해 앱 설치 후 원하는 화면으로 이동시킨다.
-> 이 경우는 원링크 제공 업체의 기술로써 여러 정보를 토대로 유저를 식별하여, 원링크 클릭한 사용자가 디퍼드 딥링크를 사용할 경우 이 사용자의 디퍼드 딥링크 정보를 DB에 저장하게 되고, 앱 설치 이후에 정보를 제공받아 해당하는 화면으로 이동시킨다.
나는 하나하나 다 다른 개념이고 같은 단계라고 생각했는데, 조합이라는 의미가 이런 의미라는 것을 알게되었다.
유익한 시간이었다.
'개념' 카테고리의 다른 글
Bfcache (Back-Forward Cache) (0) | 2024.12.01 |
---|---|
04. 호이스팅(Hoisting)에 대해 간단히 설명해주세요 (0) | 2022.09.11 |
03. 실행 컨텍스트(Execution Context)에 대해 설명해주세요. (0) | 2022.09.11 |
02. 홈페이지가 사용자에게 웹 사이트를 보여주는 과정을 간략히 설명해주세요. (브라우저 렌더링 포함) (0) | 2022.09.07 |
01. 브라우저 구조에 대해 간략히 설명해주세요. (0) | 2022.09.07 |
URI? URL? 같은거 아니었어? 엥 URN은 또 뭐야? (0) | 2021.08.30 |
사용자 인증? 토큰? JWT(Json Web Token)란 뭘까? (0) | 2021.08.25 |
[크롬 확장 프로그램 제작] 셋팅 방법 (0) | 2021.06.17 |