목차 |
본 문서는 Hub 2.6 클라이언트 라이브러리의 Unity Plugin API 명세를 기술한다.
C2SHub2Plugin.cs 파일에 선언된 허브 모듈 초기화에 사용되는 값들을 개발하고 있는 앱에 해당하는 값으로 수정해야 한다.
허브 스테이징 서버 사용 여부
true
: 스테이징 서버(테스트용) 사용false
: 프로덕션 서버사용Android 앱의 main activity name.
네이티브 API와 유니티 플러그인 API와의 가장 큰 차이점은 callback 함수 전달과 호출 방식인데
네이티브 API의 경우, callback 함수 포인터만으로 콜백 함수 전달과 호출이 가능하지만
유니티 플러그인의 경우 C#과 네티이브 코드 간에 함수 포인터를 전달하는 것이 불가능하다.
이 때문에 유니티에서는 네이티브에서 유니티의 C# 객체의 함수를 호출할 수 있도록
UnitySendMessage
라는 네이티브 함수를 제공하고 있는데 이를 이용하면 네이티브 코드의 처리 결과를
유니티의 C# 객체로 전달하는 것이 가능해진다.
때문에 플러그인 API에서는 UnitySendMessage()
호출 시 필요한 GameObject 객체와 함수명을 API 의 시 인자로 받는다.
이러한 callback 함수 호출 방식을 제외하고는 네이티브 API와 플러그인 API는 기능적으로 동일하다.
플러그인 객체는 IC2SHub2Plugin 인터페이스의 함수를 구현하고 있으며, 이 함수들은 기능적으로 네이티브 API와 1:1로 대응된다.
따라서 플러그인 API의 기능 및 반환값 등의 자세한 정보는 해당 API에 대응되는 네이티브 API의 설명을 참고하면 된다.
네이티브 API의 각 항목의 내용을 살펴보시기 전에 Hub API Reference 문서를 읽어보시기 바랍니다.
Unity Plugin API | iOS Native, C Plugin API | 비고 |
---|---|---|
Initialize |
CS_hubInitialize |
Initialize 는 네이티브 API에서 함수 파라미터로 전달하는 것들(appid, gameindex 등..)을 설정 값으로 분리해놓아서 별도의 함수 인자를 갖지 않는다. |
InitializeEx |
CS_hubInitializeEx | |
Uninitialize |
CS_hubUninitialize |
|
Auth |
CS_hubAuth |
|
Logout |
CS_hubLogout |
|
GuestAcquireUid |
CS_hubGuestAcquireUid |
|
GuestBind |
CS_hubGuestBind |
|
ShowDialog |
CS_hubShowDialog |
|
AsyncRequest |
CS_hubAsyncRequest |
|
SocialRequest |
CS_hubSocialRequest |
|
ShowDialogForChatbot |
CS_hubShowDialogForChatbot |
Hub v.2.1.0 이상에서 지원되는 SocialRequest 함수의 파라미터는 아래 상수를 사용한다. 아래 함수는 모두 Assets/Plugins/C2SHub2Plugin.cs 파일에 정의되어 있다.