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

    알립니다

    하이브리드 앱 설정을 하기 전에 앱과 웹사이트에 각각 유니티 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://...");
    }

    주의사항

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

    도움이 되었나요?

    더 필요한 내용이 있나요?