Arc Android Tool Plugin

by arclee

WebView for Unity

( Crawled an hour ago )
+

ArcAndroidToolPlugin for Unity

_Copyright (c) 2014 Arclee

加入了 Android Webview 功能. 只能在 Android 上執行. Alt text (使用前)

Alt text (全畫面網頁)

Alt text (90%大小網頁)

Alt text (自動轉向)

Alt text (可輸入文字)

說明

  • 可在 Unity 遊戲中直接插入一個 Andoird WebView.
  • 點擊左上的 x 圖示可關閉 WebView.
  • 可設定關閉圖示的基本大小.(之後會自動隨機手的解析度調整大小)
  • 按手機的 back 鍵可回上一頁.
  • 可設定內部網址關鍵字, 若網址包含該關鍵字則會留在 Unity webview 裡, 否則會另外開一個應用程式來瀏覽網址.
  • 在 WebView 顯示時, 若後方的遊戲的點擊(touch)有效, 使用者要在顯示 WebView 時, 自己要在遊戲中做 MASK 把點擊給擋下來.

導入方法

  • 安裝 ArcAndroidToolPlugin.unitypackage
  • 如果您的專案裡沒有 AndroidManifest.xml :

複製

  \Assets\Plugins\Android\ArcAndroidToolPlugin\AndroidManifest.xml

 \Assets\Plugins\Android\AndroidManifest.xml
  • 如果您的專案裡已經有自己的 AndroidManifest.xml 就要修改它. (可以參考 \Assets\Plugins\Android\ArcAndroidToolPlugin\AndroidManifest.xml 內的寫法)

(1) 修改 AndroidManifest.xml 加入 permission

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

例如:

<?xml version="1.0" encoding="utf-8"?>
<manifest/>
  ...
    <uses-permission android:name="android.permission.INTERNET" />

    <application
    ...
    </application>


</manifest>

(2) 修改 AndroidManifest.xml 加入 ForwardNativeEventsToDalvik

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

例如:

<?xml version="1.0" encoding="utf-8"?>
<manifest/>
  ...
    <application
        <activity android:name="com.unity3d.player.UnityPlayerNativeActivity" android:label="@string/app_name">
          ...
          <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
        </activity>
    </application>


</manifest>

Sample

請看 Assets\ArcAndroidToolPlugin\Sample\sample.unity

  • 一定要先建在 Scene 裡建立一個 GameObject, 加入 arcAndroidWebView.cs 這個 Component.
  • 設定顯示縮放大小 (以下的實作可參考 Webviewtest.cs)
    // 大小在 0 ~ 1 之間.
    arcAndroidWebView.Instance.SetSizeScale(0.9f, 0.9f);
    
  • 設定關閉按鈕的基本大小.(會自動隨機手的解析度調整大小)
    arcAndroidWebView.Instance.SetCloseBtnBaseSize(40.0f);
    
  • 可設定內部網址關鍵字, 設定空字串為永遠留在 Unity 裡.
    //例1:http://m.gamer.com.tw/forum/  的網址留在 Unity 裡顯示.
    arcAndroidWebView.Instance.SetInteralKeyword("http://m.gamer.com.tw/forum/");
    //例2:不論什麼網址, 都留在 Unity 裡顯示.
    arcAndroidWebView.Instance.SetInteralKeyword("");
    
  • 顯示網頁
    arcAndroidWebView.Instance.ShowURL("http://forum.gamer.com.tw/B.php?bsn=27111");
    
  • 強制關閉
    arcAndroidWebView.Instance.CloseURL();
    
  • 正常關閉網頁 按左上角的 x 圖示即可.

Alt text

  • 接收網頁關閉事件

    
      void OnEnable()
      {
          //接收網頁關閉事件..
          arcAndroidWebView.onCloseURLEvent += onCloseURL;
      }
    
      void OnDisable()
      {
          //移除接收網頁關閉事件..
          arcAndroidWebView.onCloseURLEvent -= onCloseURL;
    
      }
    
      void onCloseURL()
      {
          //網頁關閉時要要做什麼事, 都寫在這裡...
          Debug.Log("Webviewtest onCloseURL");
      }