마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

웹뷰로 통해 페이지 접속인지 구별이 가능한가요?

0 추천
사용되는 웹언어는 php 입니다

$_SERVER['HTTP_USER_AGENT']; 내용을 확인해보면

돌핀브라우저로 접속시

Mozilla/5.0 (Linux; U; Android 4.4.2; ko-kr; LG-F320S Build/KOT49I.F320S22h) AppleWebKit/537.16 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.16 Chrome/33.0.0.0

 

웹뷰적용한 앱으로 접속시

Mozilla/5.0 (Linux; Android 4.4.2; LG-F320S Build/KOT49I.F320S22h) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36

 

이라고 뜹니다 기존 사이트의 모바일페이지를 인터넷접속프로그램(기본 또는 별도)으로 접속한것인지

직접적용한 웹뷰에 모바일페이지 띄운 앱으로 접속한 것인지 알아야 합니다

그냥 웹뷰에 모바일페이지만 적용했더니 결제 시스템에 정상적으로 되지 않아

웹언어인 php로 접속환경을 구분해서 폰의 웹접속이면 그대로 결제를 그냥두고

제가 만든 앱으로 통한접속이라면 앱에 스키마를 적용해서 결제후 앱으로 되돌아 오게 하려고 합니다
리카엘 (660 포인트) 님이 2016년 11월 17일 질문

1개의 답변

0 추천

만드신 앱에다가 헤더를 추가해서 넘기시면 되지 않나요?

웹뷰 loadUrl() 함수의 두번째 인자를 HashMap<String, String> 타입으로 주실 수 있는데, 

거기에 특정값을 넣어 서버에서 헤더값을 확인해서 해당 값이 있으면 앱으로 접속,

없으면 웹으로 접속으로 구분하는게 편할듯 합니다.

 

저는 아래처럼 구분자를 줍니다.

 

headers.put("app_package_name", this.getPackageName() + "");
headers.put("platform_version", Build.VERSION.SDK_INT + "");
headers.put("app_version", APP_VERSION_CODE + "");
headers.put("connect_type","android");
headers.put("model_name", Build.MODEL + "");

mWebView.loadUrl("www.xxxxx.com", headers);

 

바램 (19,650 포인트) 님이 2016년 11월 17일 답변
오호라 감사합니다 적용해보겠습니다
...