개발노트

[개발지식] 딥링크(DeepLink) 개념 알아보기

별토끼. 2021. 8. 14. 22:45
반응형

Intro

http나 https로 시작하는 인터넷 주소는 모두 특정 웹 페이지로 이동한다. 그럼 웹에서 모바일 앱으로 이동할 때는 똑같이 링크를 통해서 동작할까?

종종 모바일 웹 페이지를 보고 있다가 앱에서 보기 버튼을 누르면 앱으로 이동하는 것을 접할 수 있다. 이건 대체 어떻게 동작하는 것일까?

앱에서의 URL, 딥링크

앱으로 보기 버튼을 누르면 웹과 동일한 컨텐츠를 갖고 있는 앱 내 페이지로 랜딩하는 것을 자주 접했을 것이다. 이처럼 유저를 앱 내 페이지로 바로 랜딩시킬 때 사용하는 URL을 딥링크라고 한다.

딥링크의 종류

URI Scheme (초기형태)
Universal LInk (IOS)
App Link (Android)

URI Scheme (스킴 딥링크)

딥링크의 가장 초기 형태이다. 앱에 Scheme값을 등록하는 형태로 앱을 구분한다. 스킴은 앱마다 등록할 수 있는 값으로, 특정 스킴 값을 호출하면 특정 앱이 오픈된다.

Scheme://Path

  • 안드로이드는 Androidmanifest.xml이라는 파일에 스킴값을 등록한다.
  • IOS는 앱 정보 화면에서 URL Scheme 항목에 스킴값을 입력할 수 있다.

한계

앱 스킴값이 서로 중복되는 경우 문제가 된다. 아직까지 앱 개발자들이 스킴값이 자신의 앱의 고유 값인지 확인할 방법이 없다. 그 예로, 구글플레이와 삼성 앱스토어, 원스토어는 market://란 값을 사용하고 있다.

유니버셜 링크와 앱링크

현재 웹에서 사용하는 주소는 모두 고유의 값을 갖고있다. 이 블로그가 heekim0719.tistory.com라는 도메인 주소를 치면 한번에 찾아올 수 있도록 말이다.

애플, 구글 개발자들은 이 도메인 주소를 딥링크의 실행값으로 사용할 수 있도록 했다. 예를 들면, 브라우저 주소창에 도메인 주소를 입력하면 앱으로 오픈이 되도록 말이다.

유니버셜 링크 (IOS)

https://developer.apple.com/ios/universal-links/

앱 링크 (Android)

https://developer.android.com/studio/write/app-link-indexing

한계

모든 앱에서 유니버셜 링크와 앱링크 오픈을 지원하는 것이 아니다. 그렇기에 아직 완전하지는 않다. 앱링크는 구글에서 만든 앱에서만 작동하고, 구글 이외 앱에서는 정상적으로 동작하지 않는다. 유니버셜 링크 역시 마찬가지이다. 그래서 여전히 URI Scheme을 병행하여 사용한다.

참고
딥링크란 무엇인가
딥링크 구분과 이해

반응형