안녕하세요.
Unity에서 SDK 함수를 호출하는 과정을 모르겠습니다.
가이드에는 Unity에서 WebGL로 빌드하고 이를 vite 프로젝트로 감싸라고 언급되어 있는데, 이는 단순히 Unity로 만들어진 게임을 앱인토스 환경에 맞게 “올릴 수 있는 형태로 빌드”하는 방법일 뿐이라, SDK를 활용하려면 어떻게 할 지 감이 안 잡힙니다. 그래도 최대한 방법을 찾아보려 노력을 해봤습니다.
서버 사용 하기
- Unity코드에서 서버로 요청
- 해당 요청을 다시 클라이언트로 보내서 이를 vite 프로젝트 내 코드에서 수용
- 다시 서버로 콜백 정보 보내기
- 다시 클라이언트로 보내 Unity 코드에서 받아서 활용하는 형태가 되겠죠.
SDK 호출 한 번 하는데 C(Unity) → S → C(Vite) → S → C(Unity) 이렇게 될 것입니다.
하려면 어떻게든 하겠지만 1인 개발자 입장에서 이 과정 자체도 너무 복잡하고 서버 구축하고 보안 처리 하고 배포하고.. 꽤 부담스럽습니다.
Claude에게 자문을 구한 바로는, 자바스크립트 브릿지(.jslib)를 만들고, 이를 불러와 호출하라고 합니다.
- Unity단에서 JS 브릿지(~.jslib)의 함수 호출
- JS브릿지는 JS단에서 토스 SDK 함수를 호출
- SDK 호출해서 얻는 콜백 정보를 JS단에서 Unity 단으로 전달
이런 플로우로 진행이 되는 것으로 생각되는데요, 비교적 간단합니다.
문제는, 첫째로 제가 이런 쪽 지식이 없어서 이렇게 해서 정말 되는건지 모르겠고,
둘째로 콜백 전달 시 SendMessage를 사용하는데, 단순히 문자열로 함수를 호출하는 형태인지라 이 과정에서 보안 상 문제가 발생하지 않을까 하는 우려가 있습니다. 토스 플랫폼 상에서 작동하기 때문에 괜찮을 것 같기는 하면서도요.
관련한 내용을 가이드에 추가해주시기를 요청드리고 싶습니다만, 바쁘신 와중에 부담을 드릴 것 같아 조심스럽습니다. 일단은 거시적인 원리라도 알려주시면 정말 감사드리겠습니다!