Milkcocoa for Unity の使い方
MilkcocoaをUnityで使うライブラリ「Milkcocoa for Unity」を公開しています。
現在最新バージョンは0.0.3です。
ダウンロード
GitHub or unitypackage
主な用途
- リアルタイム通信を手軽に実施したい
- 手軽にアプリケーション外の何かと連携したい
Milkcocoaとは
BaaS(Backend as a Service)といわれるサービスの一つで、リアルタイム通信と小さなデータベースが自分でサーバを管理することなく実現できるものです。
同時接続数10クライアントまで無料。
⇒Milkcocoa
前準備(Milkcocoaの登録)
Milkcocoaのサービスに登録し、アプリケーションIDを取得します。
以降、アプリケーションIDは APP_ID と呼称します。
具体的な方法は公式ページ参照
インストール
- アセットをダウンロードする⇒Download
- Unityのプロジェクトウィンドウにドロップする
UnityEditorでの設定
- Milkcocoaのプレハブを、hierarchyにドロップする(任意)
- APP_IDとdatapathを変更する
コードの書き方
サンプルプロジェクト
以下のシーンにサンプルプロジェクトが入っています。参考にしてください。
/Milkcocoa/Demo/MilkcocoaTest
APP_IDを設定すれば使えます。
また、以下に実際のコード例を記します。
例1. メッセージを受ける側
using UnityEngine; using System; using Milkcocoa; public class example1 : MonoBehaviour { MilkcocoaClient milkcocoa; void Start () { milkcocoa = FindObjectOfType<MilkcocoaClient>(); milkcocoa.OnSend(milkcocoaEventHandler); } public void milkcocoaEventHandler(MilkcocoaEvent e) { // example print Debug.Log(e.GetValues()); // example search if (e.data.GetField("params").HasField("chat")) { string id = e.data.GetField("params").GetField("chat").GetField("id").str; string message = e.data.GetField("params").GetField("chat").GetField("message").str; string username = e.data.GetField("params").GetField("chat").GetField("name").str; if(id != milkcocoa.clientId) { // 自分以外のメッセージ } } } }
例2. メッセージを送る側
using UnityEngine; using System; using Milkcocoa; public class example2 : MonoBehaviour { MilkcocoaClient milkcocoa; void Start () { milkcocoa = FindObjectOfType<MilkcocoaClient>(); } private void sendMessage(string str) { JSONObject jsonobj = new JSONObject(delegate(JSONObject values) { values.AddField("chat", delegate(JSONObject chat) { chat.AddField("id", milkcocoa.clientId); chat.AddField("name", Uri.EscapeDataString("大鳥こはく")); chat.AddField("message", Uri.EscapeDataString(str)); }); }); milkcocoa.Send(jsonobj); } }