본문 바로가기

Android

(3)
모바일 브라우저에서 안드로이드 앱 실행시 주의할 점 스마트폰 브라우저에서 웹페이지로 접속시 안드로이드 앱으로 이동시키려고 한다. 앱 개발 커스텀 scheme을 사용하여 리다이렉트 시켰다. 안드로이드 앱 실행이 동작하지 않는다. 알고보니 안드로이드는 보안상 사용자의 제스쳐 없이 앱을 실행하는 것을 금지하고 있다. setTimeout 함수를 사용하여 1~3초 정도 시간을 두고 실행시키면 된다. $(function(){ // document ready if (!앱에서접속) { var scheme = 'customScheme://redirect?url=' + location.pathname; if (ios) { locadtion.href = scheme; } if (android){ // 2초 후 이동 setTimeout(() => { locati..
모바일 브라우저에서 앱 실행하기 대작전(Android, iOS) 이 문서의 최종 수정일: 2020.12.24 Merry Christmas 웹개발자의 칼퇴근을 늦추는 원흉 중에 같은 코드 OS/Browser 별 다른 동작이 있다. 예전에는 최악의 브라우저 Internet Explorer 때문에 발생하는 경우가 많았다. IE가 거의 사장된 지금은 예전보다 다변화된 디바이스 환경 때문에 가끔 발생한다. 앱 랜딩 페이지가 하나 있는데, OS와 브라우저 별로 다르게 동작해서 골치였다. 어떤 OS와 브라우저 조합에서는 마음대로 앱을 실행시킬 수 없다. 그래서 앱 실행하기 버튼을 추가해야 했다. OS + Browser 조합별 테스트 결과 Android + Chrome: 페이지 로딩 시 코드로 앱을 실행시킬 수 없으며, 반드시 사용자의 액션(클릭 등)이 있어야 한다. Android..
모바일 크롬 브라우저에서 안드로이드 인텐트(Intent) 링크하기 브라우저에서 특정 페이지에 접속하면 앱을 실행시켜 달라고 하는데, iOS는 잘 되는데 안드로이드가 말썽을 부렸다. 그래서 관련 문서를 몇 개 찾아보았다. 우선 아래 링크는 안드로이드 앱에서 설정해줘야 할 내용이다. 안드로이드 앱 - 인텐트 및 인텐트 필터 설정 다음은 브라우저에서 보여질 화면에서 링크할 URI이다. host, scheme, package 등은 앞서 설정한 내용을 참고한다. Android Intents with Chrome 주의 화면 접속 시 앱을 실행하는 기능이 안되서 확인해보니 두 번째 참고 링크 마지막에 다음과 같은 문구가 있었다. And Chrome doesn’t launch an external app for a given Intent URI in the following case..