web에서 app을 호출하기 위해, app을 개발할때 scheme 기능을 넣어둔다.
그럼 web에서 href로 스키마를 호출해서 app을 실행할 수 있다.
android의 경우,
간단하지만, ios의 경우 좀 복잡하다.
인터넷에 많이 돌아다니는 setTimeout을 이용해서, 타이머를 걸었지만,
앱 실행하자마자, 바로 web으로 돌아와,
가만히 놔두면.. 앱스토어로 이동되는 버그가 발견되었다.
뭐, 이렇게까지 테스트하진 않겠지만,
찜찜해서 구글을 뒤져서 좋은 코드를 발견했다. 크하핫
var timeout;
function preventPopup() {
clearTimeout(timeout);
timeout = null;
window.removeEventListener('pagehide', preventPopup);
}
function startApp() {
document.location = 스키마;
timeout = setTimeout(function(){
if(confirm('You do not seem to have the App installed, do you want to go download it now?')){
document.location = 마켓URL;
}
}, 1000);
window.addEventListener('pagehide', preventPopup);
}
버튼 눌렀을 때 startApp()을 호출해주면 끝.
스키마에 app의 스키마를, 마켓 URL은 앱스토어 url을 넣어준다.
참고로 앱스토어 app url은
https://itunes.apple.com/app/id00000000?mt=8 <- 이런식이다. id뒤에 0000000만 본인 앱의 아이디로 바꿔주면,
앱스토어로 넘어가게 된다.
pagehide일경우, setTimeOut을 클리어 해주기 때문에,
웹페이지로 돌아왔을 때, 마켓으로 이동되는 버그가 사라졌다.
도움받은 URL :
참고로, android는 스키마호출할때 저런 예외처리 해줄 필요 없이,
intent://qmenu=voicerecg&version=1#Intent;scheme=스키마;action=android.intent.action.VIEW;category=android.intent.category.BROWSABLE;package=패키지명;end
이렇게 해주면 된다.
'내컴퓨터 > 컴퓨터사용하기' 카테고리의 다른 글
CSS RGB 색 만들기 (0) | 2014.11.11 |
---|---|
ibatis resultClass hashmap 키값 소문자로 변경하기 (0) | 2014.11.10 |
HTML5 file upload progressbar (0) | 2014.10.29 |
CSS explorer9에서 background 안먹힐때 (0) | 2014.10.21 |
JAVA Build Path Problems (0) | 2014.09.24 |