출처1 : http://periar.tistory.com/entry/Javascript-APP-%EC%8B%A4%ED%96%89-Android-IOS-%EC%9B%B9%EC%97%90%EC%84%9C-%EC%95%B1-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0
출처2 : http://blog.publisher.name/1291
[IOS상에서]
var ios_appstoreUrl = "http://itunes.apple.com/kr/app/id393499958?mt=8"; // 스토어 설치 주소
var ios_appUrl = "naversearchapp://search?qmenu=voicerecg&version=1"; // 네이버검색을 통해 앱설치 화면 연결
간단히 window.loccation.href = ios_appUrl 혹은 window.loccation.href = ios_appstoreUrl 위와 같이 하면 간단히 될것 같은데, 먹통으로 돌아가질 않았다.
window.location.href = "goodcampPlayer://?".concat(params); // 안돌아감
구글링 영문 검색을 통해 IOS 9이상부터는 보안문제가 더욱 엄격해져서 상기 간단한 소스만으로는 통하질 않았다.
그리고 기타 웹문서 글을 통해 이를 버그팁으로 처리하는 방법이 있었다.
setTimeout 함수를 이용해서 연결 페이지를 계속 돌리는 형태
window.setTimeout(function(){
window.location.href = "goodcampPlayer://?".concat(params);
},0);
[안드로이드상에서]
var android_marketUrl = "market://details?id=com.gsr.gs25";
var android_appUrl = "gsbk://calc"; var android_intent = "intent://calc/#Intent;scheme=gsbk;package=com.bizware.client;end";
실제 작업한 소스
var json_data =
{
"uid":uid,
"ocode":ocode,
"scode":scode,
"vseq":vseq,
"lm_num":lm_num
}
var json_data_string = JSON.stringify(json_data).replace(/\\n/g, "\\n")
.replace(/\\'/g, "\\'")
.replace(/\\"/g, '\\"')
.replace(/\\&/g, "\\&")
.replace(/\\r/g, "\\r")
.replace(/\\t/g, "\\t")
.replace(/\\b/g, "\\b")
.replace(/\\f/g, "\\f");
var params = [
'json_data=' + json_data_string,
'lecture_number=' + lm_num,
'video_url=' + url,
'authentication=' + '1', //회사인증 1 == true 0 == false
'authentication_url=' + 'http://m.aaa.com/myroom/AppCheck.asp',
'authentication_insert_url=' + 'http://m.aaa.com/myroom/AppInsert.asp',
'end_request_url=' + 'http://m.aaa.com/inc/yplayer/mplay_end.asp',
'lecture_title=' + lecture_title,
'lecture_unit='+ lecture_unit,
'lecture_current_play_time=' + CurrentTime,
'lecture_continuous_play_decision=' + CurrentState
].join('&');
var intentURI = [
'intent://player?'.concat(params).concat('#Intent'),
'scheme=lecture',
'package=com.player.jouncamp1',
'S.browser_fallback_url=https://play.google.com/store/apps/details?id=com.player.jouncamp1',
'end'
].join(';');
location.href = intentURI;