Android Studio/java

43. [안드로이드/java] userAgent를 이용해서 웹 / 앱 접속 구분 하기

drizzle0925 2021. 11. 29. 15:32
728x90

Android와 iOS 모두 Native 소스에서 userAgent의 값을 넣을 수 있습니다.

그러고 나서 웹 쪽에서 JavaScript를 이용하여 웹인지 앱이지 구분하면 됩니다.

앱을 통해 접속상태 일 때 userAgent에 "inApp"이라는 문자열을 추가해서 구분해보겠습니다.

 

Android

한 줄

webView.getSettings().setUserAgentString(webView.getSettings().getUserAgentString + " inApp");

두 줄

String userAgent = webSettings.getUserAgentString();
webSettings.setUserAgentString(userAgent+" inApp");

 

iOS

webView.evaluateJavaScript("navigator.userAgent"){(result, error) in 
	let originUserAgent = result as! String
    let agent = originUserAgent + " inApp"
    self.webView.customUserAgent = agent
}

 

Web

함수 선언

function isNative(){
    retrun /inApp/i.test(window.navigator.userAgent);
}

 

if문 활용

let browserInfo = window.navigator.userAgent;
if(browserInfo.indexOf("inApp")>-1){
    alert(browserInfo);
}else{
    alert(browserInfo);
}
728x90