IT/영어 공부노트
[딥링크] URI 스킴 방식, 유니버셜 링크, 앱링크에 대해 알아보자 본문
딥링크: 특정 주소 혹은 값을 입력하면 앱이 실행되거나 앱 내 특정 화면으로 이동시키는 기능을 수행합니다. 이는 사용자를 의도한 컨텐츠로 이동 시킬 수 있어 효과적인 마케팅 수행방안 중 하나로 꼽힙니다.
요렇게 말하면 뭐지? 싶을텐데,,, 예로 어플 추천인 등록 가입링크를 친구한테 받아서 우리가 클릭하면, 어플 메인화면이 아니라 가입창으로 바로 이동되는 경험을 떠올리면 됩니다! 이 외에도 뭐 인스타에서 쇼핑몰 옷 광고를 봤는데 너무 예뻐서 클릭했더니 쇼핑몰 메인화면이 아니라 그 옷 상세화면으로 가는 경험! 이처럼 편리한 사용자 경험을 제공하여 어플 사용 증대를 유도할 수 있죠.
이런 딥링크에는 3가지 방식이 있습니다.
- URI 스킴 방식: 앱에 URI 스킴 값을 등록하여 딥링크 사용
- 앱링크: Android 제공 - 도메인 주소를 이용한 딥링크 사용
- 유니버셜 링크: iOS 제공 - 도메인 주소를 이용한 딥링크 사용
1. URI 스킴 방식
가장 일반적으로 사용되는 딥링크 방식으로, 앱에 Scheme값을 등록하는 형태로 앱을 구분합니다.
Scheme: 앱마다 등록할 수 있는 값으로 특정 스킴값을 호출하면 특정 앱이 오픈된다 라는 약속을 실행합니다.
- 이 스킴 값은 앱 개발 시 개발사에서 자체적으로 등록합니다. ex) twitter://
- 앱 내에서 특정 페이지는 'path' 값으로 구분합니다. ex) twitter://signup
android 에서 스킴은 Androidmanifest.xml 파일에 값을 등록합니다.
iOS에서 스킴은 앱 정보 화면 중 URL Scheme항목에 등록합니다.
URI 스킴의 문제점
과거에는 문제가 없었는데, 앱 수가 증가하면서 앱 스킴값이 중복되는 경우가 발생했습니다. 앱 개발자 입장에서, 앱에 등록된 스킴 값이 자신들만 사용하는 고유값인지 확인할 방법이 없습니다.
ex) Google plya, OneStore, Galaxy Store 모두 market:// 으로 동일한 스킴 값 사용.
스킴 값이 동일한 경우, 스킴 값으로 앱을 열려고 하면 사용자에게 어떤 앱을 열 것인지 물어보는 화면이 출력됩니다. 이는 안드로이드, iOS 모두 발생하는 문제점입니다. 이를 악용하여 다른 앱에서 사용하는 스킴과 똑같은 스킴을 정의해 자기 앱이 열리게 할 수도 있습니다.
또한 앱이 설치되어 있을 때만 실행할 수 있습니다.
-> 이에 대한 해결책으로 유니버셜링크와 앱링크가 탄생하게 되었습니다.
2. 유니버셜링크 & 앱링크
애플과 구글의 개발자들은 고유의 인터넷 주소인 도메인 주소를 딥링크 실행 값으로 사용하기로 결정합니다. 예로 http://naver.com을 스마트폰 앱 주소창에 입력하면 네이버 앱이 바로 오픈되도록 하는 것 입니다.
이를 iOS에서는 유니버셜 링크, Android에서는 앱링크라고 부릅니다.
android 에서 Androidmanifest.xml 파일에 값을 등록합니다.
iOS 의 경우 Singing & Capabilities 에서 Associated Domains 에서 등록할 수 있습니다.
유니버셜링크 & 앱링크의 문제점
모든 앱에서 유니버셜 링크와 앱링크를 지원하지 않아 완전하지 않습니다. 앱링크는 구글에서 만든 앱에서만 동작하고, 유니버셜 링크 또한 애플에서 만든 앱 외에는 정상적으로 동작하지 않습니다.
디파이너리 팀에서 주요 환경 별 유니버셜, 앱링크 실행 결과를 확인한 바를 보면 하나의 방식이 모든 환경에 완벽하게 대응하지 못하고 있습니다.
자체 브라우저를 사용하는 앱들(카카오톡, 페이스북, 인스타그램 등)에 따라 딥링크가 잘 동작하는 경우도 있고, 아닌 경우도 있습니다.
또한 이외에도 데이터유실의 문제점이 있습니다. 데이터 유실은 동작방식을 보고, 설명을 해드릴게요.
동작방식
딥링크는 아래 방식으로 동작합니다.
1. 앱이 설치되어 있다면 해당 딥링크에 맞는 화면이 실행
2. 설치되어있지 않다면, 웹 URL로 인식되어 해당 웹 링크를 열려고 시도
3. 웹 서비스를 제공하고 있다면 해당 웹 서비스 보여줌
4. 제공하고 있지 않다면, 해당 URL로 웹으로 열었을 때 앱마켓으로 이동시키도록 처리
이 때, 앱이 설치되어 있지 않다면 마켓으로 이동을 하게 되죠? 여기서 데이터 유실이 발생합니다. 랜딩페이지 및 쿼리 파라미터 정보가 포함된 URL을 앱 다운로드를 위해 앱스토어로 이동하면서 잃어버리는 것이죠.
어떤 경로로 유입된 유저가 전환율이 가장 높은지 등, 데이터 분석에서 중요한 요소를 트래킹하기 어렵습니다.
딥링크를 통해서 얻고자 하는 것은 주로 어플 사용유도입니다. 위 동작방식을 살펴 보았을 때, 어플리케이션 미설치자라면 어플리케이션을 우선 설치할 수 있도록 제공하는 것이 마케팅에 더욱 효과적일 것 입니다.
그런데, 미설치자 신규고객이 딥링크를 클릭했을 때 market으로 이동 한 후, 설치까지만 이어지고 의도한 컨텐츠까지 제시할 수 없다면 효과적인 마케팅이라곤 할 수 없을 것입니다. 또한 데이터 유실로 유저의 여러 정보를 잃었다면 더더욱 말입니다.
-> 이를 개선하기 위해 나온 것이 지연된 딥링크입니다.
3. 지연된 딥링크(Deffered DeepLink)
지연된 딥링크는 앱 미설치 유저가 딥링크를 클릭했을 때, 앱 설치 후 의도된 페이지로 이동할 수 있게 앱 설치 이전까지 지연된 상태를 유지한다는 의미입니다. 지연된 딥링크는 주로 솔루션을 통해 구현합니다.
디퍼드 딥링크의 작동 방식은 위 그림과 같습니다.
2번의 동작 방식에서 앱이 설치되어 있지 않다면 앱 설치 후 실행하였을 때 곧바로 앱 내 특정 페이지로 이동하게 하는 것 입니다. 기존보다 사용자에게 더 편리한 경험을 제공할 수 있어 사용량을 늘릴 수 있죠. 또한 기업 입장에서는 어떤 경로로 들어왔는지 등 필요한 데이터를 수집할 수 있습니다.
참조
[1] 디파이너리 - 딥링크(Deeplink) : URI스킴, 유니버셜 링크, 앱링크 구분과 이해 https://bit.ly/47JwNiy
[2] Ted Park 딥링크의 모든것(feat. App Link, Universal Link, Deferred DeepLink)
https://medium.com/prnd/딥링크의-모든것-feat-app-link-universal-link-deferred-deeplink-61d6cf63a0a5
[3] 노티플라이 - 10분컷 딥링크 마스터! : 정의, 종류 및 중요성 파악 https://blog.notifly.tech/deep-link-meaning-and-types/
[4] kimdohun0104 - 그림으로 보는 딥링크 — 사용자가 앱을 헤매지 않게 하기 https://medium.com/@kimdohun0104/그림으로-보는-딥링크-사용자가-앱을-헤매지-않게-하기-20e909fcf60f
절대 오잉 유니버셜링크가 뭐지? 하면서 찾아보면서 작성한 글이 맞습니다.
시각자료를 직접 만들어서 올려야하는데... 어움.반성.
참조 중에서 1번, 4번이 주로 도움이 되었습니닷