Unityでgree/unity-webviewを使ってLandscapeでWebViewを表示するときの注意点

UnityでWebViewを表示しようと思ってググるとgreeのこのプラグインがよく使われているので、試してみました。
gree/unity-webview · GitHub

ざっくりとサンプルを書くとこんな感じです。

using UnityEngine;
using System.Collections;

public class WebviewSample : MonoBehaviour {
  public string url;
  WebViewObject webViewObject;

  // Use this for initialization
  void Start () {
    webViewObject = (new GameObject("WebViewObject")).AddComponent<WebViewObject>();
    webViewObject.Init((msg) => {
      Debug.Log(msg);
    });
    webViewObject.LoadURL("http://google.com/");
    webViewObject.SetMargins(0, 0, 0, 100);
    webViewObject.SetVisibility(true);
  }

  // Update is called once per frame
  void Update () {

  }
}

あとは、AndroidManifest.xmlに以下を追加し、変更点を加える。

インターネットを使えるようにする。

<uses-permission android:name=”android.permission.INTERNET”/>

これをしないとWebView内のタッチがDOM側に通知されない。

<meta-data android:name=”unityplayer.ForwardNativeEventsToDalvik” android:value=”true” />

iOSでlandscape時に横幅いっぱいにWebViewが表示されない

この問題を修正したプルリクがあり、あれちゃんと対応されているなーと思っていたんですが、
Merge pull request #13 from endavid/fix/iOSLandscape · 3343201 · gree/unity-webview
どうもunity-webview.unitypackageがこのコードを含んだ状態になっていないようで、これをいくらimportしてもうまくいかなくてハマりました。

以下のふたつのファイルをimport後に上書きするとこの問題は解消されます。

  1. unity-webview/plugins/WebViewObject.cs at master · gree/unity-webview
  2. unity-webview/plugins/iOS/WebView.mm at master · gree/unity-webview

参考リンク

unity-webviewを使ってサイトを表示してみました!! 〜i-tai.net〜
Unity上でWebViewを表示する | 代打、俺
Unity で WebView を表示してみた。 | Lonely Mobiler

Unity4ゲームコーディング 本当にゲームが作れるスクリプトの書き方
浅野 祐一 荒川 巧也
SBクリエイティブ
売り上げランキング: 9,521

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>