投稿

9月, 2023の投稿を表示しています

【Android, WebGL】Unity, PUN2でクロスプレイを実装する方法【iOSはわからない】

イメージ
PUN2(Photon Unity Networking 2) : を使ってオンライン機能をもったゲームをUnityで作る時に、android, webGL, iOSなど、異なるプラットフォーム同士でも同じ部屋でもちゃんと遊べるようにしたいですね。私の最初のゲーム「直進パズルオンライン」 google play (android) unityroom (webGL) でもそうしたのですが、そこで少し躓いたのでここにメモします。 【前提】 Unity ver. 2021.3.30f PUN2 ver. PUN: 2.40 Photon lib: 4.1.6.11 同じプラットフォームでの通信はOK 【最初にやったこと】 PUN2の設定項目を以下のようにしていました。 これでgoogle playに登録し、androidスマホ同士でオンライン対戦ができていました。ただし、この設定のままWebGL形式でビルドしてunityroomに登録したところ、android同士、WebGL(unityroom)同士では同じ部屋に入ってオンライン対戦できるのに、androidとWebGLのクロスプレイができませんでした。具体的には、同じ部屋に入ったつもりでも、互いに認識せず、違う部屋の判定になっているようでした。 【解決法】 PUN2の設定項目を以下のように変更しました。 通信ProtocolをUDPからWeb Socket Secure(WSS)に変更しました。そのうえでandroid/webGLでビルドし、それぞれgoogle play/unityroom双方に登録したところ、互いに通信ができました。ちなみに、Tcpではうまくいかなかったと思います。(WSSでも最初うまくいかないときがあった。原因は謎。)これでなぜ解決できたのかというとWebGL側にあって、 株式会社フレームシンセシス様 によると、” WebGLビルドでもそこそこいい感じに動く(ただしトランスポートにWebSocketが使用されTCP通信になる) ”とあり、少なくともudp通信はしないみたいです。(私はいまいち意味はわかっていない)そういうわけで、上記対応でうまくいきました。 android, WebGLとiOS間でも通信がうまくいくかどうかも気になるところですが、今Mac/iOSの開発環境がありませんので、調査で

BloggerでAdmobのapp-ads.txtを設定する方法

UnityでGoogle AdMobのapp-ads.txtを設定した方が良いみたいです。不正防止のためらしく、しない理由がありません。 Bloggerを見つけるまではGoogle Sitesを使っていたのですが、私の(超低い)技術力ではapp-ads.txtをサイトに置く方法がわかりませんでした。しかし参考ページによると、Bloggerではhttps://<自分のドメイン>/ads.txt を編集できる機能とリダイレクト機能があるので、https://<自分のドメイン>/app-ads.txtをhttps://<自分のドメイン>/ads.txtにリダイレクトすれば万事OKというわけです。 参考: HAL-JP開発者ブログ 様

初投稿

初めまして、moguと申します。 unityでゲームを作っています。 google playに登録するために開設しました。 せっかく作ったのでゲーム制作についての情報を載せていこうかなと考えています。