콘텐츠로 이동

리모트 플레이 적용하기

Unity Windows

사전 조건

1. 다운로드 및 임포트

  1. 윈도우용 플러그인에서 리모트 플레이 플러그인을 다운로드합니다.
  2. 다운로드한 리모트 플레이 플러그인 내 RemotePlay.unitypackage를 프로젝트로 임포트합니다.

2. 리모트 플레이 콜백 등록

리모트 플레이 데이터 전송 완료를 확인하도록 아래와 같이 HiveRemotePlayManager.RegisterCallback에 콜백 함수를 등록합니다.

using AOT; // MonoPInvokeCallback 때문에 필요

public class {유저 Game에서 사용하는 클래스} : MonoBehaviour {
#if !UNITY_EDITOR && UNITY_STANDALONE_WIN
    [MonoPInvokeCallback (typeof(HiveRemotePlayManager.RemotePlayCallbackType))]
    public static void RegisterRemoteCallbackFunction(int type, string remotePlayJsonData)
    {
        Debug.Log("REMOTE Callback DATA :" + remotePlayJsonData); // RemoteSDK 에서 보내주는 json data 수신.
    }
#endif

    void Start() {
#if !UNITY_EDITOR && UNITY_STANDALONE_WIN
        HiveRemotePlayManager.RegisterCallback(RegisterRemoteCallbackFunction);
#endif
    }
}

데이터 프로토콜 명세

전송할 리모트 플레이 데이터는 아래의 데이터 프로토콜 명세를 참조하여 정의합니다.

Web - Client Json Protocol 형식

Key Value Type Description ETC
version version number Json 버전 정보 예제 참고
eventType eventType string 이벤트 타입 - Message 항목만 존재 예제 참고
eventValue eventValue object 이벤트 값 오브젝트 예제 참고
eventValue - value eventValue - value string 이벤트 값 예제 참고
eventValue - action eventValue - action string 이벤트 동작 예제 참고
etc etc object 확장 용도 예제 참고

[전송 데이터 예제]

{
    "version"        : "1.0.2411.0",
    "eventType"       : "Message" ,
    "eventValue"     : {
                            "value"  : "Something Message",
                            "action" : "LTR | RTL"
                       },
    "etc"            : { }
}
// value    : Base64  (UTF-8 문장) 인코딩
// action   : LTR (아랍어를 제외한 문자) | RTL (아랍어)