본문 바로가기
유니티 최고/유니티 구현

유니티(Unity) 웹뷰 사용해보기 (2가지)-Gree &Game Package Manager

by Lee_story_.. 2023. 4. 10.
728x90

먼저  Gree에서 만들어 깃허브로 무료 배포중인 웹뷰를 사용해 보았습니다.

 

 

GitHub - gree/unity-webview

Contribute to gree/unity-webview development by creating an account on GitHub.

github.com

 

먼저 위의 깃허브에서 코드 파일을 받아옵시다.

 

바로 임포트 해주고 

 

웹뷰를 컨트롤할 버튼2개를 만들어 줍시다.

 

그리고 StartWebview 함수와 CloseWebview함수를 만들어 줍시다.

public class MyWebView : MonoBehaviour
{
    private WebViewObject webViewObject;

    public void StartWebView()
    {

        string strUrl = "https://m.naver.com/";

        try
        {
            if(webViewObject == null)
            {
                webViewObject = (new GameObject("WebViewObject")).AddComponent<WebViewObject>();
                webViewObject.Init((msg) =>
                {
                    Debug.Log(string.Format("CallFromJS[{0}]", msg));
                });

                webViewObject.LoadURL(strUrl);
                webViewObject.SetVisibility(true);
                webViewObject.SetMargins(100, 400, 100, 300);
            }
            else{
                webViewObject.SetVisibility(true);
            }
           
        }
        catch (System.Exception e)
        {
            print($"WebView Error : {e}");
        }
    }



}

LoadURL : 연결할 url 

SetVisibility : 보일지 말지

SetMargins :  왼, 위 , 오른, 아래 마진 설정

 

 

그리고 닫기 함수는 간단히 SetVisibility 해주었습니다.

(destroy로 처리해줄 수도 있을것 같습니다!)

     public void CloseWebview()
    {
        try
        {
            webViewObject.SetVisibility(false);
            //Destroy(webViewObject);
        }
        catch (System.Exception e)
        {
            print($"WebView Error : {e}");
        }
    }

 

 

 

잘 뜨는것을 확인 할수 있었습니다!

 

현재는 단순히 웹만 보여주는 수준이고

Unity.call 함수를 이용했을때 웹에서 어떠한 행동시 유니티 쪽으로 정보를 넘겨주는 것도 가능하다고 합니다!

(이부분은 현재 필요하진 않아서..) 

 

 

 

 

 

 

참고 블로그!

 

[유니티][안드로이드] 유니티 웹뷰 사용 하기 - Unity WebView Gree

유니티에서 웹 브라우저를 사용 할 일이 있을 때 WebView를 사용 하여 웹 브라우저를 구현 할 수 있다. 아래는 대표적인 플러그인. Gree Unity Webview https://github.com/gree/unity-webview GitHub - gree/unity-webview C

dragontory.tistory.com

 

 



 

다음은  Game Package Manager!

 

다운 받은 패키지입니다

 

Game Package Manager | 유틸리티 도구 | Unity Asset Store

Use the Game Package Manager from NHN Corp. on your next project. Find this utility tool & more on the Unity Asset Store.

assetstore.unity.com

 

 

이 툴은  NHN에서 제공 해주는 무료 툴로

웹뷰 왜에도 에셋관리, 로그뷰어, ui, 캐시지원, 쉐이더 등등 여러 작업들을 도와주는 툴입니다!

 

사용법에 대해서는 자세히 알지 못하지만.... 일단 오늘은 웹뷰 먼저 사용해보도록 하겠습니다!

 

우선 다운을 받고 나면 아래처럼 tool >> gpm >>manager가 생기네요!

 

여기서  웹뷰만 일단 다운 받아 줍시다.

 

 

여기까지만 완료하면 다음단계부터는

 

제가 설명하는것보다는 밑의 예제들을 직접 해보는게 도움이 될것 같네요...

 

 

GitHub - nhn/gpm.unity: A brand of NHN providing free services required for game development.

A brand of NHN providing free services required for game development. - GitHub - nhn/gpm.unity: A brand of NHN providing free services required for game development.

github.com

 

위 글에서 웹뷰를 여는 부분은 

 

 

showUrl 함수 api로 

연결할 사이트, 형식, 모양 등을 조절할수 있게 만들어져 있네요!

public static void ShowUrl(
    string url,
    GpmWebViewRequest.Configuration configuration,
    GpmWebViewCallback.GpmWebViewDelegate callback,
    List<string> schemeList)

 

 

나머지 기능들도 한번 사용해보겠습니다.

 

참고한 글!

 

쉽지만 어려운 WebView! 이젠 그만, 쉽기로 하자! : NHN Cloud Meetup

GPM은 Game Package Manager의 약자로 2019년 9월 30일에 Asset Store에 론칭된 별점 5점의 Unity Free Asset이며, GPM WebView는 GPM에 포함된 서비스들 중 하나입니다.

meetup.nhncloud.com

 

 

 

만약 흰화면..만 나온다면?? 

 

따로 정리해 두었습니다! 여기서 해결되셨으면 좋겠네요...

 

유니티(Unity) 웹뷰 흰 화면 오류

웹뷰를 사용하는데 흰화면만 뜨고 연결이 안되네요..... 이유를 찾아보니까 2가지 정도는 많이 나오더라구요 먼저 첫번째 AndroidManifest.xml 파일에 android:usesCleartextTraffic="true" 이 한문장을 추가해주

ljhyunstory.tistory.com

 

 

 

 

틀린점이 있다면 댓 달아주세요!

댓글