상세 컨텐츠

본문 제목

[Unity] 유니티 웹뷰 WebView | Unity-Webview 관련

게임엔진관련/유니티 엔진

by AlrepondTech 2019. 9. 10. 11:31

본문

반응형

 

 

 

=================================

=================================

=================================

 

 

 

 

 

 

 

 

Unity-Webview 사이트 링크:   https://github.com/gree/unity-webview

 

*유니티에서의 셋팅해보기

 

                                  2019-09-05날짜의 파일이다

unity-webview-master.zip
0.39MB

Unity-Webview 사이트 링크 들어가면 "Clone or download" 버튼에 누루고 zip파일로 받으면 된다.
압축을 풀면 "unity-webview-master\unity-webview-master\dist" 부분에 "unity-webview.zip" 파일이 보일것이다
이것이 에셋파일이다 유니티에서 위에보면 메뉴에 "Assets->Import Package->Custom Package..."으로 들어가서 
위의 dist 폴더로 들어가면 패키지파일 "unity-webview.unitypackage" 보이는데 이걸을 선택하면 알아서 에셋에 깔린다.
또 이것 방법말고 에셋파일에 다른폴더에 구성하고 싶으면 "\dist\unity-webview.zip" 이것의 파일을 압축풀면 
"dist\unity-webview\Assets\Plugins\"의 경로가 생기고 폴더와 파일들이 생성된다. 안에 "WebView" 폴더를 만들어
 거기에다가 모두 넣어두고 다시 "WebView" 폴더를 자신의 유니티프로젝트 "Assets\Plugins\" 경로에 넣으면 된다.

 

 

=================================

=================================

=================================

 

 

 

%Unity-Webview에서 안드로이드플러그인에 추가 안드로이드코드를 삽입해서

빌드할수가 있다.

 

Unity-Webview 안드로이드 플러그인 빌드해보기(Unity-Webview사이트에서 영문설명)

How to build WebViewPlugin.jar

The following steps are for Mac but you can follow similar ones for Windows.

  1. Install Android Studio.
  2. Open Android Studio and select "Configure/SDK Manager", select the followings with "Show Package Details", and click OK.
  • SDK Platforms
    • Android 6.0 (Marshmallow)
      • Android SDK Platform 23
  • SDK Tools
    • Android SDK Build Tools
      • 28.0.2
  1. Open Terminal.app and perform the followings. You should find unity-webview/build/Packager/Assets/Plugins/Android/WebViewPlugin.jar if successful.

$ export ANDROID_HOME=~/Library/Android/sdk $ export PATH=$PATH:~/Library/Android/sdk/platform-tools/bin:~/Library/Android/sdk/tools:~/Library/Android/sdk/tools/bin $ cd unity-webview/plugins/Android $ ./install.sh

 

//---------------------------------------------------------------------------------------------------

//---------------------------------------------------------------------------------------------------

윈도우10 기준

 

환경변수는 "내컴퓨터->속성->고급시스템설정->고급->환경변수"로 들어가면 된다.

 

*jar파일 자바빌드 셋팅

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

플러그인할 jar을 만들려면 자바SE(JDK) 가 필요하다 위의 자바SE 다운로드 링크에서 다운로드하여

설치하자, 환경변수 등록도 잊지말자(버전은 jdk1.8.0_221)

예) 시스템변수->Path->새로만들기: (C:\Program Files\Java\jdk1.8.0_221\bin)

환경변수경로는 자신의설치경로에 따라 다르므로 자신의 설치경로로 해주면 된다.

 

*안드로이드 SDK, Tools 설치하기

안드로이드스튜디오 사이트: https://developer.android.com/studio/install?hl=ko

1. 안드로이드스튜디오 사이트에가서 설치파일을 받고 자신의 컴에 설치한다.

2. 안드로이드스튜디오를 실행 그리고 안드로이드SDK매니저를 실행한다("Configure/SDK Manager")

거기에서  "Show Package Details" 을 눌러주고 아래와 같이 SDK와 Tools을 설치한다.

@Android 6.0 (Marshmallow) - Android SDK Platform 23

@Android SDK Build Tools - 28.0.2

 

SDK와 Tools설치후 환경변수->시스템변수를 설정한다.

(아래 경로변수값은 예시이고 SDK,Tools를 설치한 경로를 지정하면된다)

 

변수이름: "ANDROID_HOME" 

변수값: C:\Users\202psj\AppData\Local\Android\Sdk

 

변수이름: "Path"  

변수값: C:\Users\202psj\AppData\Local\Android\Sdk\platform-tools

 

변수이름: "Path"  

변수값: C:\Users\202psj\AppData\Local\Android\Sdk\tools

 

변수이름: "Path"  

변수값: C:\Users\202psj\AppData\Local\Android\Sdk\tools\bin

 

*빌드할파일준비

Unity-Webview 사이트 링크: https://github.com/gree/unity-webview

에서 최신 unity-webview를 받는다.

압축파일 폴더를 풀면 "압축파일명\plugins\Android\" 에 빌드할 폴더와 파일들이 있다.

이파일폴더들이 들어있는 "Android\" 폴더를 자신이 작업할 특정 경로에 복사해 두자.

 

안드로이드플러그의 안드로이드코드 수정은 "Android\src\net\gree\unitywebview"에 들어가서

"CUnityPlayer.java", "CUnityPlayerActivity.java", "CWebViewPlugin.java" 여기 코드들을 수정해

주면된다.

 

작업경로로 옮긴 "Android\" 폴더안에 "libs" 폴더를 만들고 안에 유니티에서 "classes.jar"파일을

찾아서 넣는다. 이제 "Android\" 폴더안 Jar빌드 배치파일"install.bat"을 수정하자. 

 

install.bat

@echo off

rd /s /q bin
rd /s /q gradle_build\libs
rd /s /q gradle_build\src

mkdir bin
mkdir gradle_build\libs
mkdir gradle_build\src
mkdir gradle_build\src\main
mkdir gradle_build\src\main\java

copy /b ".\libs\classes.jar" gradle_build\libs >nul  
xcopy /s /e src gradle_build\src\main\java >nul
copy /b AndroidManifest.xml gradle_build\src\main >nul

call gradlew.bat assembleRelease

jar cf bin\WebViewPlugin.jar -C gradle_build\build\intermediates\classes\release net

코드부분 수정은 "copy /b ".\libs\classes.jar" gradle_build\libs >nul" 부분이다 ".\libs\classes.jar" 이부분을 아까

"classes.jar" 파일을 넣어준 경로되 맞게 저장하면된다.

위의 모든 과정을 맞추고 "install.bat"를 실행하면 자신이 수정한 코드로 WebViewPlugin.jar 파일이 만들어진다.

 

수정된 코드로 빌드한 프로젝트파일(Android\bin\"경로에 빌드한 WebViewPlugin.jar 파일첨부)

Android.zip
0.34MB

안드로이드로 추가한 코드는

WebSettings webSettings = webView.getSettings();
 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
 {
       webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
 }

https url 로드시 ssl이 안된 컨텐츠(파일, 이미지등등)도 로드할수있게 하는 옵션이다.

 

 

 

 

반응형

 

728x90

 

 

 

=================================

=================================

=================================

 

 

 

Unity-Webview 자바스크립트로 연동하여 html에서 유니티로 메세지 보내기

 

test.html  (유니티에서 "Unity-Webview" 으로 로드하고 html에서 유니티로 메세지를 보낼때)

<script Language="JavaScript">
function sendMsgUnity() 
{

     if(typeof Unity !== "undefined")
     {

           Unity.call('This is test message');
     }
}
</script>


<a href="javascript:msgunity();">Unity msg send test </a>

 

이런식으로 활용할수 있다.

 

<Script Language = "JavaScript" >

 function GoUrl(val)
 {
    var url = val;
    if (typeof Unity !== "undefined") //유니티 모비일웹뷰이면 유니티로 웹뷰로
    {
        Unity.call(url);
    }
    else //유니티 모바일웹뷰가 아니면 바로 불러준다.
    {
        location.href = url;
    }
 }
</script>

 

 

 

=================================

=================================

=================================

 

 

 

 

반응형


관련글 더보기

댓글 영역