woong's
Unity WebView 사용하기 본문
Unity WebView 사용하기 안녕하세요. Unity 에서 WebView 를 사용하면서 고생을 해서 저와 같은분이 없기를 바라며 이렇게 포스트를 쓰고 있습니다 . 필자는 영어를 잘못해서 영어 커뮤니티 돌아다니면서 보느라 고생을 많이 했네요 . 한글로 되어 있는 포스트가 없어 포스트를 써보려 합니다 ^^ 검색을 통해서 Unity WebView 가있는지를 찾아보니 IOS, Android , MacOS 를 지원해주는 WebView 를 어떤분이 플러그인을 개발해서 GitHub에 배포를 해놓으신것을 많은 분들이 추천을 해주셔서 사용해 보았습니다 .
위 링크를 통해서 접근 할 수 있습니다 .
이와 같은 화면을 볼 수 있습니다 . 아럐 간단한 설명과 코드가 있습니다 . 오른쪽 하단의 다운로드를 통해서 다운로드를 진행합니다 .
파일을 열면 이와같은 폴더 구조를 가지고 있습니다 . sample 코드도 있지만 저는 저 샘플 코드를 이용해서 해보니 흰색화면밖에 보이지 않아서 새로운 프로젝트를 만들어서 간단하게 WebView 화면을 구성해 보겠습니다 . 폴더구조에서 저희가 필요한것은 dist 안에 들어있는 플러그인 입니다 .
이제 유니티 프로젝트를 하나 생성합니다 .
생성후에 Scene 을 저장하고 위 플러그인을 선택해서 Import를 진행 합니다 .
그러면 이와 같이 플러그인 파일들이 들어와 있는것을 확인 할수 있습니다 . 저희가 사용할 주요 파일은 WebViewObject 입니다 . 파일이 Import 된것을 확인후에 Hierachy 탭에 GameObject 를 생성 합니다 .
그 후에 GameObject 에 적용 시킬 Script 파일을 만들겠습니다 .
주요 코드입니다 . Udate() 구문에는 모바일 디바이스를 백 버튼을 통해서 WebView 를 닫기 위한 코드입니다 . StartWebView() 메서드가 주요 코드입니다 . 코드가 워낙 간결해서 별다른 설명 없이도 충분히 이해 할 수 있을 것 같습니다. 이렇게 스크립트를 작성후에 GameObject 에 적용시키면 되겠습니다 .
이제 실행을 해보겠습니다 .
화면에는 아무것도 나타나지않고 에러만 나타납니다 . 필자는 이에러를 잡고자 몇시간을 보냈네요 . 커뮤니티 돌아다녀도 해결 방법이 없었습니다 . 혹여나 하는 마음에 디바이스에 실행을 시켜보았습니다 .
File > Build & Run 을 선택해서 디바이스에서 실행해 보겠습니다 .
오 Editor 에서 실행한 화면과는 다르게 나타 나네요 . 뭔가 WebView 형태가 나타 난것 같습니다 . 인터넷이 연결이 안되었다고 나타납니다 . 그래서 필자는 안드로이드 개발을 하다보니 뭔가 느낌이 나서 유니티 프로젝트를 안드로이드 프로젝트로 Export를 해보았습니다 .
File > Build Settings 를 선택합니다 .
Android Switch Platform 을 통해서 Android 디바이스로 바꾸어 주고 위 빨간 상자의 체크박스를 선택하고 Export 를 진행합니다 . 그러면 아래와 같이 안드로이드 프로젝트가 생성 됩니다 .
안드로이드 이클립스를 통해서 실행 시켜 보겠습니다 .
Import 를 진행했습니다 . 저는 이중에 Manifest 파일을 확인하고 싶었습니다 .
퍼미션이 없습니다 . 안드로이드 디바이스에서 인터넷 통신을 하기위해서는 안드로이드 인터넷 퍼미션이 있어야 합니다 . 퍼미션이 존재하지 않아서 아까와 같은 인터넷 연결을 못한다는 화면이 나타난것 같습니다 .
Add > User Permission 을 선택합니다 .
퍼미션을 추가 합니다 .
그후에 실행 하면 WebView 화면이 잘 나타나는 것을 확인 할 수 있습니다 .
하지만 터치가 안되는 현상이 일어 납니다 .
Manifest 파일을 보면 위 코드의 Value 가 false 로 되어 있습니다 . 이부분을 true 로 변경후에 실행하면 터지가 잘되는 것을 확인 할 수 있습니다.
|
'Develop > Unity' 카테고리의 다른 글
Unity Dynamic Font 사용하기 (0) | 2016.02.13 |
---|---|
Unity Android Plugin 사용하기 (1) | 2016.02.13 |
Unity Game 일시정지 하기 (0) | 2016.02.13 |
Unity Mobile(Android & IOS) 해상도 맞추기 (0) | 2016.02.13 |
Unity GUIText Android & IOS 위치 맞추기 (0) | 2016.02.13 |