프로그래밍 놀이터/안드로이드, Java

[android] browser 에서 link 클릭했을 때 app selection 없이 내 앱으로 연결하기 (app link)

돼지왕 왕돼지 2019. 2. 1. 11:00
반응형





-

Browser 에서 link 클릭했을 때 App 으로 연결하는 기능(App 이 실행되는 기능)을 “App Links” 라고 부른다.



-

App Links 를 사용하기 위해서는 아래와 같은 설정이 필요하다.


1. intent-filter tag 에 속성으로 android:autoVerify=“true” 를 넣어준다.

    Intent filter 로 android.intent.action.VIEW 를 action 으로, android.intent.category.BROWSABLE 를 category 로 설정해준다.

    scheme으로 http, https 둘 다 설정해준다. 그리고 host 등의 specific 한 주소를 넣어준다. 

2. assetlinks.json 파일을 해당 웹 페이지가 존재하는 web domain 의 /.well-known/assetlinks.json 에 위치시킨다. ( 아무 주소나 내가 ownership 을 가지면 안 되니까.. 인증개념으로 필요 )

3. 테스트한다.



-

assetlinks.json 파일의 양식은 아래 링크를 참조하면 된다.

https://developer.android.com/training/app-links/verify-site-associations.html


핵심은 앱 검증을 위해 해당 앱의 package_name 과 sha256_cert_fingerprints 등이 들어간다는 것이다.



-

App Link verification 은 app 단위로 진행된다. (intent-filter 단위가 아니다.)



-

App LInk verification 은 30x redirect 를 지원하지 않는다.



-

link 에는 두 종류가 있다. 하나는 deep link, 하나는 android app link 이다.


deep link 는 user 를 앱의 특정 content 로 이동시키는 것이다.

intent filter 에 구체적으로 명시해서 원하는 activity 로 바로 이동시키는 것이다. ( 우리가 일반적으로 알고 있는 intent-filter data tag 방식 )

그러나 해당 url 을 다른 앱도 처리하도록 등록했을 수 있다. 이 경우 바로 이동을 할 수 없다.


android app link 는 android 6.0 (API Level 23, MOS) 이상에서 사용할 수 있다.

이 녀석은 특정 url 에 대해서 완전한 targeting (ownership 을 가질 수 있음) 을 할 수 있다.



-

Android app link 는 다음의 장점이 있다.


1. 안정적이고 타겟을 정확히 지정할 수 있다.

2. UX 를 방해하지 않는다. ( 앱 인스톨이 안 되어 있다면 browser 에서 페이지가 계속 진행된다. )

3. Android instant apps 의 support 를 받을 수 있다. 즉 app install 하지 않고 기능을 사용할 수 있다. 

4. Google search 로 부터 실행이 가능하다. Google 관련된 browser 의 검색 결과로 해당 contents 가 노출되었을 때 바로 해당 내용을 볼 수 있다. (Google Search app, Android Search screen, Google Assistant)



-

https://plus.google.com/+AndroidDevelopers/posts/BPyTSdWgLVV

https://developer.android.com/training/app-links/index.html?linkId=18745188#app-links-vs-deep-links



반응형