チャット文字列を受信するためのコールバック登録
リモートプレイチャット機能は、ユーザーがリモートプレイ中に文字列を入力すると、それがホストPCのゲームチャットウィンドウに送信されるように実装できます。
1) ユーザーが以下に示すウェブのリモートプレイ専用のテキストボックスに文字列を入力し、エンターキーを押すと、その文字列がホストPCゲームに送信されます。 * リモートプレイの最大入力長は150文字で、読み方向はLTR(左から右)とRTL(右から左)です。
2) ホストPCゲームでは、文字列は事前に登録されたコールバック関数を通じて受信されます。
3) ホストPCゲームでは、対応する文字列がゲームチャットウィンドウに渡されます。
コールバック関数の登録¶
リモートプレイのチャット機能を使用するには、リモートプレイプラグインをインポートした後にコールバック関数を登録する必要があります。
コールバック関数を登録することは、リモートプレイ中にチャット機能が使用できる準備が整ったことを意味し、ゲームは各ゲーム環境に応じてリモートプレイから受信した文字列をチャット機能に適用できます。
ゲーム内のコールバック関数を通じて受け取った文字列は、UTF-8でエンコードされたデータであり、Base64
に変換されています。さらに、読み取り方向情報が含まれており、多言語サポートが可能です。
以下のように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
}
}
チャット文字列プロトコル¶
ゲーム内のコールバック関数を通じて受信したチャット文字列のプロトコルは次のとおりです。
ウェブ - クライアント JSON プロトコル¶
キー | 値のタイプ | 説明 | ETC | |
---|---|---|---|---|
version | version | number | Json バージョン情報 | 例を参照 |
eventType | eventType | string | イベントタイプ - メッセージ項目のみ存在 | 例を参照 |
eventValue | eventValue | object | イベント値オブジェクト | 例を参照 |
eventValue - value | eventValue - value | string | イベント値 | 例を参照 |
eventValue - action | eventValue - action | string | イベントアクション | 例を参照 |
etc | etc | object | 拡張目的のため | 例を参照 |
チャット文字列データの例¶
ゲーム内のコールバック関数を通じて受信したチャット文字列は、以下のJSONデータ形式を持っています。
{
"version" : "1.0.2411.0",
"eventType" : "Message" ,
"eventValue" : {
"value" : "Something Message",
"action" : "LTR | RTL"
},
"etc" : { }
}
// value : Base64 (UTF-8 문장) 인코딩
// action : LTR (아랍어를 제외한 문자) | RTL (아랍어)