모바일웹에서 앱 호출하기

( 스키마를 이용한 앱 호출하기, 모바일웹에서 마켓 이동하기 )

앱을 만들때 커스텀 스키마를 등록을 해주고,

모바일웹에서 그 커스텀 스키마를 호출하는 방식이다.

 

 

 

 

 

 

 

안드로이드 매니페스트 파일 

host를 main_web 으로 설정, scheme를 myappandroi 로 설정

<activity​ android:name=".MainActivity"​ android:screenOrientation="portrait">
	 <intent-filter>
		 <action android:name="android.intent.action.MAIN" />
		 <category android:name="android.intent.category.LAUNCHER" />
	 </intent-filter>
	 <intent-filter>
		 <action android:name="android.intent.action.VIEW" />
		 <category android:name="android.intent.category.DEFAULT" />
		 <category android:name="android.intent.category.BROWSABLE" />
		 <data​ android:host="main_web"​ android:scheme="myappandroi" />
	 </intent-filter>
</activity>​

 

아이폰 TARGETS - URL Types 에 추가

Identifier를 com.myappandroid.m 으로 설정, scheme를 myappandroi 로 설정

   Identifier : com.myappandroi.m
   URL Schemes : myappandroi
   Role : Editor

 

Javascript 파일에서..

안드로이드폰은 해당 앱이 있으면 앱을 실행하고, 없으면 플레이스토어로 이동이 잘되지만,

아이폰은 현재 코딩대로 하면 해당 앱이 있으면 앱을 실행하고, 해당 앱이 없으면 "오류 팝업 메시지" 가 나오고 잠시후에 앱스토어로 이동하는 방식이다.  해당 앱이 없을경우 처리가 원만하지 않아서... 그냥 무조건 앱스토어로 가도록 처리하는것도 좋을것 같다.

	var userAgent = navigator.userAgent;
	var visiteTm = ( new Date() ).getTime();
	if(userAgent.match(".*Android.*")){
		//안드로이드폰
		// https://developer.chrome.com/multidevice/android/intents
        // 앱이 있으면 앱 실행, 없으면 마켓 이동
		location.href = 'intent://main_web#Intent;scheme=myappandroi;package=com.myappandroi.m;end';	
		//location.href = 'myappandroi://main_web';  // 안드로이드 앱 실행
	}else if(userAgent.match(".*iPhone.*") || userAgent.match(".*iPad.*")){
		//아이폰
		setTimeout( function () {
			if ( ( new Date() ).getTime() - visiteTm < 3000 ) {  // 앱스토어 이동
				location.href = "https://itunes.apple.com/app/id365494029";
			}
		} ,2500 );
		setTimeout( function () {  // 앱실행
			location.href = "myappandroi://";
		} ,0 );
	}

 

참고 :  https://marobiana.tistory.com/111

 

모바일 웹 브라우저에서 앱 설치여부에 따라 앱 또는 마켓으로 이동시키기

모바일 웹 브라우저에서, 앱 설치 여부에 따라 마켓 또는 앱으로 이동 시키기. 일종의 브릿지 페이지.. 먼저 아이폰의 경우.. 간단하다! var userAgent = navigator.userAgent; var visitedAt = (new Date()).getT..

marobiana.tistory.com

https://g-y-e-o-m.tistory.com/121

 

[iOS & Android] 웹 브라우저에서 앱 실행하기

[기본은 스키마] iOS : http://g-y-e-o-m.tistory.com/33 Android : http://g-y-e-o-m.tistory.com/32 안드로이드의 경우 매니페스트 내에 선언한 스키마(Scheme), 호스트(host)란 안드로이드 속성으로 선언하여,..

g-y-e-o-m.tistory.com

 

요즘은 Firebase 동적 링크를 많이 사용하곤 한다.

이 방식을 사용하여, 해당 앱이 없으면 설치를 해당앱이 있으면 앱 실행을 할 수 있다.

아래 링크를 확인해 보자

https://firebase.google.com/docs/dynamic-links?authuser=0&%3Bhl=ko&hl=ko 

 

Firebase 동적 링크  |  Firebase Documentation

Firebase 동적 링크는 앱 설치 여부에 관계없이 여러 플랫폼에서 원하는 대로 작동하는 링크입니다.

firebase.google.com

 

+ Recent posts