티스토리 뷰

이상하다!

분명 개발할 때 앱에 딥링크를 설정하였고, 잘 열리는 것을 확인하였는데

웹 브라우저에 딥링크 URL을 입력하여 앱을 실행하려니까 실행이 안된다!

뭔가 잘못한 것이 있는 것인가... 이미 배포는 되었는데... 등골이 오싹해진다

급한대로 adb를 사용하여 딥링크를 테스트해보자...

./adb shell am start -d myApp://main

딥링크가 잘 동작한다!

음..! 브라우저에서는 왜 동작하지않는 것일까...!

 

결론부터 얘기하자면, 웹 브라우저에 딥링크를 바로 입력하여 앱을 실행 시킬 수 없으며, HTML 태그를 사용하여 실행시켜야한다.

 

Web Browser에서 DeepLink로 앱 실행하기

 

1. 링크 설정

앱에 설정한 딥 링크는 아래와 같은 포맷으로 되어있을 것이다.

<scheme>://<host>

ex) myApp://main

웹에서 사용하려면 다른 포맷의 URL을 사용한다

intent://<HOST>#Intent;scheme=<SCHEME>;end

ex) intent://main#Intent;scheme=myApp;end

앱에 설정한 scheme, host를 위 URL에 채워넣고 잠시 복사해두자

 

2. 링크를  실행할 웹페이지 준비

위에서 복사한 URL을 바로 웹 브라우저에 입력하여 실핼할 수 있으면 좋겠지만, 바로 실행되지않는다. (Google 검색으로 이동할 것이다...)

위 링크를 HTML a(<a>) 태그를 사용하여 실행해야한다.

HTML 파일을 직접 생성하여도 되지만, 모바일에서 실행시키려면 좀 복잡하다(파일을 복사하고 탐색기 앱으로 HTML 파일 찾고, 실행해고,,,)

좀 더 편한 방법이 있다.

a. https://htmledit.squarefree.com/ 접속

b. 상단 입력창에 태그 및 실행 경로 추가

<a href="intent://<HOST>#Intent;scheme=<SCHEME>;end">click</a>

c. 하단 랜더링 된 페이지에서 링크 클릭

d. 앱 실행 확인

 

앱에서 앱으로, Intent Action에 딥링크를 사용하여 실행시키는 것은 많이 해보았으나 웹 브라우저에서 딥링크를 실행하는 것은 많이 테스트 해본 환경은 아니라 딥링크가 동작하지않았을 때 매우 당혹스러웠던 경험이었다.

URL 바로 입력하는 방법이 예전엔 됐던 것 같은데.... 내 기억이 잘못 된 것인가.... 잘 모르겠다.

참고로 Slack에서도 딥링크가 바로 열리지않는다. 이것 또한 예전엔 됐던 것 같은데...(이건 테스트 해봤던 경험도 분명히 있다!) 잘 모르겠다.. 

 

끝!

댓글