하이브리드 앱 설정하기 - 유니티 SDK (v4)

알립니다

하이브리드 앱 설정을 하기 전에 앱과 웹사이트에 각각 유니티 SDK웹 SDK를 설치해 주세요.

하이브리드 앱에서 웹 사이트 코드를 변경하지 않아도 에어브릿지 유니티 SDK가 인앱 웹 사이트에서 발생하는 에어브릿지 관련 작업을 처리하도록 설정할 수 있습니다.

유니티 SDK로 웹 SDK 동작 처리하기

유니티 SDK는 웹 SDK에서 진행되는 이벤트 전송, 디바이스 설정, 유저 설정에 관한 명령을 대신 처리할 수 있습니다. 웹뷰에 웹 사이트를 표시하기 전에 Airbridge.CreateWebInterfaceScript 함수와 Airbridge.HandleWebInterfaceCommand 함수를 이용해 설정해 주세요.

webToken웹 SDK 토큰입니다. 웹 SDK 토큰은 에어브릿지 대시보드의 [설정]>[토큰 관리]에서 확인할 수 있습니다.

postMessageScript 는 웹 SDK가 유니티 SDK에 전달하는 명령어가 저장된 payload 변수를 유니티 영역에 전달하는 자바스크립트 코드입니다.

command 는 웹 SDK가 리액트 네이티브 SDK에 전달하는 명령어입니다.

123456789101112131415161718192021222324252627282930313233343536373839404142
WebViewObject webViewObject;
string postMessageScript;

public void Display()
{
	string PostMessageGenerator(string arg) =>
		$@"
if (window && window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.unityControl) {{
	window.webkit.messageHandlers.unityControl.postMessage({arg});
}} else {{
	var iframe = document.createElement('IFRAME');
	iframe.setAttribute('src', 'unity:' + {arg});
	document.documentElement.appendChild(iframe);
	iframe.parentNode.removeChild(iframe);
	iframe = null;
}}";

	postMessageScript = Airbridge.CreateWebInterfaceScript("YOUR_WEB_SDK_TOKEN", PostMessageGenerator("payload"));

	webViewObject.Init(
		cb: (msg) =>
		{
			// do something
    
			// Allow the Airbridge Unity SDK to process the forwarded messages from the WebView. 
			string command = msg;
			Airbridge.HandleWebInterfaceCommand(command);
		},
		err: (msg) => { /* do something */ },
		httpErr: (msg) => { /* do something */ },
		started: (msg) => { /* do something */ },
		hooked: (msg) => { /* do something */ },
		ld: (msg) =>
		{
			// do something
         
			webViewObject.EvaluateJS(postMessageScript);
		}
	);

	webViewObject.LoadURL("https://...");
}

주의사항

아래 사항을 주의해 주세요.

도움이 되었나요?

더 필요한 내용이 있나요?