[컴][안드로이드] AppLink 와 Bolts framework

what is app links / what is deep links / 앱링크란 무엇인가, / 딥링크란 / Deep link 란? / 앱링크와 딥링크의 차이



App Links

만약 당신이 어떤 특정 URL 을 방문한다고 하자. 예를 들면 아래와 같다.


보통 이 url 을 클릭해서 들어가면 단순 web page 가 보일 것이다. 그리고 그것이 어찌보면 당연하다.

그런데 요새 스마트폰이 대세가 되면서, 앱들이 생겨났다. 우리가 많이 사용하는 페이스북 같은 것을 봐도 웹으로 봐도 되고, 앱(어플)로 봐도 된다.

그렇다면 유저가 특정 url 을 방문할 때 이것을 단순히 browser 에서 web page 로 여는 것이 아니라, 우리의 앱(어플) 에서 보게 하고 싶었다. android 쪽에서 이런 용도로 만들어 놓은 것이 deep link 이다.(참고) 이런 deep link 를 좀 더 표준화(?) 시킨 것이 페북에서 만들어 놓은 App Link 이다. (이건 html 의 meta tag 를 이용한다. 자세한 것은 ref. 4 를 참고하자.)

쉽게 풀이하자면, 앱으로 가는 link 라는 뜻일 것이다.


여러 platform 에서 사용

이렇게 특정 url 을 통해서 app 을 호출해서 앱을 여는 것을 deep-link 라고 하는데, 이 deep-link 화면을 보기 위해 정해진 url 이 있을 것이다. 그런데 문제는 우리는 지금 android 도 있고, iOS 도 있다. 그래서 특정 url 을 공유할 때 android 에서는 app 이 잘 열리는데, iOS 는 아무런 동작도 하지 않는 경우가 생길 수 있다.(물론 이것은 양쪽의 scheme 을 잘 통일해서 사용하면 해결될 문제이긴 할 듯 하다.)

이런 경우에 URL 을 만들고, 그 안에 App Link 를 구성해 놓는다면, 기본적으로 web page 를 보여주고, 만약 android 이고, 앱이 있다면 안드로이드 앱을 열어줄 것이고, 아이폰이라면 아이폰 앱을 열어줄 수 있다. 즉 app 을 호출하는 url 위에 하나의 layer 를 더 추가한 느낌이다.


app parameter

그리고 또 한가지 쓸만한 점은 param 을 넘길 수 있다는 것이다. 실제로 app 을 열때 param 을 넘기는 방법은 안드로이드 같은 경우(필자는 iphone app 을 개발해 보지 못했다.)에는 android 내에서 param 을 넘길 수 있지만, web page 에서 android app 으로 parameter 를 넘기는 방법에 대한 정의는 되어 있지 않다. 이 부분을 이 AppLink 에서 스펙을 정의해 놓았다.

http://stackoverflow.com/a/2958870 : 여기에 parameter 가 url 의 '/' 로 구분해서 전달되는 것을 보여준다.

아직 여기까지 밖에 이 녀석의 용도를 파악하지 못했다. 다른 용도가 있다면 업데이트 하도록 하겠다.


from : ref. 3




AppLink of Bolts framework

이런 App links 를 통해 app 을 열 때 그 과정에서 parameter 등을 parsing 하는 일등을 필요로 한다. 이런 것 이외에도 web page 에서 app link 를 parsing 하는 데 도움을 주는 library 등을 Bolts 에서 지원한다.



Reference

  1. What are App Links? - Redth
  2. Enabling Deep Links for App Content | Android Developers
  3. App Links on iOS
  4. App Links - Cross-platform, open source, and simple mobile deep-linking

댓글 없음:

댓글 쓰기