Unity,Javascript,ローカルサーバ,S3の順番で連携させる
こんにちは,UnityからWWWを使ってPOSTメソッドを投げるのは,デバッグだとうまく行ったのですがWebPlayerにしたら動きませんでした.原因がわからないのでWebPlayerからブラウザのJSに渡して,そこからローカルサーバに投げる方針に変えました.
まずは,UnityからJSに投げるコードです.WWWを消したのでスリムになりました.
JSONを扱おうと思ったのですが,C#だとJSONの扱いが不得意らしく,Unityだとさらに顕著な感じに見えたので,区切り文字をパスの表現として絶対に使ってはいけない「!」を使うことで,必要な情報を全部投げるようにしてみました.
WebPlayerからJSに文字列を投げるのは,Application.ExternalCall関数で行けます.
JavascriptのコードではAjaxを使ってます.先ほどの文字列を「!」でパースして各種変数に格納してます.その後すぐにAjax呼び出して非同期通信を行っています.
最後にサーバ側の実装ですが,このままアップロードするとEveryoneに閲覧権限がないため,object.write関数を呼び出すときに,引数に誰でも閲覧できるよう権限の設定をしました.
ローカルサーバからS3へキャプチャされた画像をアップロードする
とりあえず,これでTweetボタンを設置する準備が整った感じです.あとはツイートする何かのサイトへ飛ばすか,もしくは動的にTweetボタンを出現させるか,たぶんいろいろな方法があると思います.
これの後は,サーバ側の実装をEC2に設置する感じです.あまりLinuxは得意ではないので,サーバを立てるのが一番の難関になりそうですね…….今回は以上です.