
요즘 모바일 게임들이 웹뷰를 띄우는 경우가 종종 보인다.
예를 들면 111% 회사의 게임들은 웹뷰로 공지와 패치노트를 띄우고 있고,
마비노기 모바일 또한 웹뷰로 여러가지 기능들을 제공한다.
무조건 필요한 기능은 아닐수도 있지만..
게임사 입장에서는 업데이트 없이 유저에게 웹뷰로 최신 데이터를 제공할 수 있다는점이 매력적인 것 같다.
그리고 공지를 할때 다채로운 글씨색과 이모지.. 이미지를 작업자가 더 손쉽게 적용이 가능하다는 점..?
유저 입장에서도 게임 UI의 하나처럼 동작하기 때문에 링크를 눌러서 외부 브라우저를 통해 보는것보다 유저 경험에 좀 더 좋지 않을까? 라는 생각을 해본다.
UniWebView 5
유니티는 기본적으로 웹뷰를 지원하지 않고 있고 구현하려면 native로 구현해야 한다.
개발자의 마인드로 하나부터 열까지 다 구현하면 좋겠지만, 그것이 쉬운길은 아니다.
다른 회사들의 솔루션은 어떨지 모르겠지만 나는 이 UniWebView 5 라는 에셋으로 구현을 해보았다.
마침 반값 할인하길래 덜컥 구매했다.
UniWebView 컴포넌트
UniWebView5에서 웹뷰를 구현하는 기본 컴포넌트다.
프로퍼티들의 이름이 설명이 필요 없을 정도로 잘 만들어진 것 같다.
간단 테스트를 위해서라면 저곳에 Url을 적기만 하면 된다.
기본적으로 제공하는 프리팹이 있긴한데 해당 컴포넌트가 붙은거 말고는 아무것도 없다.
에디터에서는 안보여서 빌드를 해서 확인했다.
네이버,구글,공지 띄워보기
허접한 UI를 대충 만들고 버튼을 붙였다.
초록색 부분이 웹뷰로 채워져야 할 공간이다.
Reference Rect Transform에 웹뷰 사이즈를 맞춰야하는 UI를 넣어주면 알맞게 맞춰준다고해서 웹 뷰 부분은 일부러 부모인 브라우저의 사이즈와 맞추지 않았다.
테스트를 위해 페이지를 따로 만들기는 귀찮았기에.. 노션을 이용해서 여러가지를 적어 게시를 했다.
using UnityEngine;
public class WebView : MonoBehaviour
{
public UniWebView uniWebView;
public void Open()
{
this.gameObject.SetActive(true);
LoadNaver();
uniWebView.Show();
}
public void Close()
{
this.gameObject.SetActive(false);
}
public void LoadNaver()
{
uniWebView.Load("https://www.naver.com");
}
public void LoadGoogle()
{
uniWebView.Load("https://www.google.com");
}
public void LoadNotice()
{
uniWebView.Load("노션 공지 URL");
}
}
코드는 이런식으로 작성 해주었다.
안드로이드로 빌드를 해서 확인을 해보니 웹뷰가 잘 작동한다.
추후에 내가 개발해야하는 게임에 웹뷰를 붙여야하는 상황이 온다면.. 조금 더 깊게 파보고 싶다.
'게임 엔진 > Unity' 카테고리의 다른 글
[어드레서블] - 서버에서 다운받기 (3) | 2024.08.10 |
---|---|
[어드레서블] - 기본 및 사용법 (0) | 2024.08.07 |
Jenkins로 유니티 빌드 자동화 (1) | 2024.05.09 |
Unity 라이브러리 추천 - RestClient (0) | 2024.03.24 |
Github Action으로 Unity 자동 빌드 제작해보기 (CI/CD) - 3편 (1) | 2024.03.23 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!