[하이브리드앱] userAgent를 이용해서 웹 / 앱 접속 구분하기

by 조쉬 posted Sep 30, 2021
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

지난번에 userAgent를 통해 접속자의 Android / iPhone 구분을 알려드렸는데 이번에는 userAgent를 이용해 웹 접속과 앱접속을 구분하

 

는 방법을 알려드리겠습니다.

 

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

 

이 소스를 이용해서 자바스크립트에서 웹 과 앱 접속 구분하기를 해보겠습니다.

 

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

 

Android

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

 

IOS

NSString *originUserAgent = [[[UIWebView alloc] init] stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];
NSString *inAppTag = @" inApp";
NSString *appendedUserAgent = [userAgent stringByAppendingString:inAppTag];
[[NSUserDefaults standardUserDefaults] registerDefaults:@{@"UserAgent":

appendedUserAgent}];

 

Android / IOS 각각 위의 소스로 inApp이라는 문자열을 추가할 수 있으며 아래와같이 웹과 앱을 구분하는 함수를 작성할 수 있습니다.

 

// 웹/앱 구분함수 true : 앱접속 , false : 웹접속

 

 

function isNative() {

return /inApp/i.test(window.navigator.userAgent);

}

 


 


Articles

1 2 3 4 5 6 7 8 9 10