딥링크 - 웹에서 안드로이드 앱으로 이동하기

김동환·2022년 5월 8일
0

버디스탁에서는 유튜버디에게 친구신청을하면 자동으로 그 유튜버의 채널을 구독하는 기능이 있다. 해당 api sample 코드는 cli 환경에서 돌아가는 코드라 처음에 web application에 적용시키느라 고생을 많이했다. 그래서 라이브러리 코드를 직접 수정해서 웹용 오픈소스를 만들었다.

친구신청을 하면 유튜브 구독 기능을 담당하는 WebApplication에서 구글 로그인을 요청한뒤, 성공 시 구독 및 구독 완료 페이지를 보여준다. 문제는 해당 페이지는 웹으로 구축되어 있고, 사용자는 다시 버디스탁 모바일 어플리케이션으로 돌아가야한다.

우리는 웹사이트로 이동할때 링크를 이용한다. 링크는 http 혹은 https 프로토콜을 사용한다.

예를들어,

https://www.naver.com/news?param=user#content

이라는 url은

  • Protocol: https://
  • Domain: www.naver.com
  • Path: /news
  • parameter: ?param=user
  • Fragment: #content

로 세분화 할 수 있다.

그렇다면, 웹에서 앱으로 이동할때는 어떨까?
이때는 딥링크라는 기술을 사용할 수 있다. 딥링크란 해당 앱 혹은 웹내의 특정 페이지로 다이렉트로 접근하게 해주는 링크다. 사실 특별한 기술이 아니라 매일같이 사용하고 있는 기술이다.

예시로, 어떤 페이지에서 로그인 버튼을 누르면 로그인 페이지로 이동되며 그 페이지의 링크가 somePage.com/login 이라고 해보자. 사용자가 메인페이지에서 로그인 버튼을 눌러서 해당 페이지로 이동하는것이 아닌, 브라우저 창에 somePage.com/login이라고 쳐서 바로 로그인 페이지로 이동하게 해주는 그 링크가 바로 딥링크인 것이다.

하지만 웹에서 앱으로의 이동은 http, https 프로토콜이 아닌 myApp:// 같은 커스텀 프로토콜(scheme)을 사용한다.

본인은 웹개발자라 모바일앱에서의 설정은 잘 모르고, 웹에서 설정하는 방법을 공유하고자 한다.

intent://dongko.application/main#Intent;scheme=myApp;end

  • Package: dongko.application
  • Page: /main
  • customScheme: myApp;

위의 url을 a태그href 속성으로 넣어주면 된다. 이 url은 안드로이드에만 해당하며, 추후에 버디스탁 IOS버전이 나온다면 그때 더 내용을 추가하도록 하겠다.

profile
게으른 개발자

0개의 댓글