모바일 웹에서 앱 설치 여부 확인하기
모바일 웹에서는 인텐트 등 여러가지 방법으로 앱을 열 수 있지만
마켓에 등록되어있지 않은 앱이라던지 등등
그냥 앱실행 또는 메시지 만 보여주고 싶은경우가 있습니다
아래와 같이 Interval과 setTimeOut을 활용해서
Uri scheme 으로 내 앱을 실행 하고 실행이 없을 시에는 브라우저가 활성화 됩니다.
앱이 활성화 되고 브라우저가 비활성화 되었을 시 앱이 설치되었다고 판단하고
필요한 동작을 해주시면 됩니다
-요약
브라우저 활성화 : 앱설치 안됨 판단
브라우저 비활성 : 앱이 설치되어 실행되고 있다고 판단
소스코드
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<script>
// 앱 스키마 uri
var launchAppUrl = 'myAppScheme://'; // 앱 스키마
var timer; // 타이머
var schInterval; // 인터벌
// 인터벌, 타이머 삭제
function clearTimer(){
clearInterval(schInterval);
clearTimeout(timer);
}
// 인터벌 마다 동작할 기능
function intervalSch(){
// 매 인터벌 마다 웹뷰가 활성화 인지 체크
if(document.webkitHidden || document.hidden){// 웹뷰 비활성화
clearTimer();// 앱이 설치되어있을 경우 타이머 제거
alert("앱이 설치 되어 있습니다.");
}else{ // 웹뷰 활성화
console.log("타이머 동작");
}
}
$(document).ready(function(){
$("button").click(function(){
// 앱 실행(iOS인 경우)
location.href = launchAppUrl;
// 앱이 설치 되어있는지 체크
schInterval = setInterval(intervalSch, 500);
timer = setTimeout(function(){
alert('앱이 설치되어있지 않습니다.');
clearInterval(schInterval);
}, 2000);
});
});
</script>
<body>
<button>button</button>
</body>
'IT 개발' 카테고리의 다른 글
[Android] Intent 로 object 전달하기(Object passing by intent on Android) (0) | 2020.04.09 |
---|---|
[iOS 개발 팁] xcode에서 아이패드 프로 앱아이콘 설정하기(아이패드 아이콘 이미지 추가) (0) | 2020.04.03 |
[Android] thread 에서 toast alertdialog 사용하기 호출하기 (0) | 2020.03.30 |
[Android] 기기에서 IP 가져오기 (NetworkInterface 사용) (0) | 2020.03.26 |
[SQL] 오라클 모든 테이블정보 조회 (0) | 2020.03.25 |
댓글