Web 에서 앱 설치 여부를 확인 하자
- 시나리오는 페이지가 안보이면 document.webkitHidden 과 document.hidden 으로 확인이 가능하다.
- https://developer.mozilla.org/ko/docs/Web/API/Page_Visibility_API
- 2개인 이유는 정식 스크립트 등록으로 인해서라고 풍문으로 들었습니다.
- 하지만 문제점은 매우 많습니다. 구현 내용을 보면 알 수 있습니다. 왜 문제가 많은지
1. 내용
- 인터벌 함수를 이용해서 hidden 을 계속 확인한다.
- 타임아웃 함수를 이용해서 특정시간이 되면 앱이 설치 안되어있다고 판단한다.
2. 문제
- 단순참고용 정도로 사용하면 좋을거 같습니다.
- 많이 테스트 안해보았습니다.
-
document.webkitHidden document.hidden 를 이용해서 설치 여부를 확인 하는 방법 입니다. - 크롬에서 지원하는 intent 방식을 사용하면 항상 마켓이 실행되서 체크하기 어려우니 꼭 커스텀 스킴으로 테스트 해야 합니다.
3. 코드
var appSchem = 'mayapp://launch?Data=abcdefg';
isMyApp();
location.href = appSchem;
function isMyApp(){
function clearTimers(){
clearInterval(heartbeat);
clearTimeout(timer);
}
function intervalHeartbeat(){
if(document.webkitHidden || document.hidden){
clearTimers();
console.log('앱이 설치 되어 있습니다.');
}
}
heartbeat = setInterval(intervalHeartbeat, 200);
var deLay = 1000;
timer = setTimeout(function() {
console.log('앱이 없습니다.');
}, deLay);
}
}