【Unity】Cross Platform Native Plugins – Ultra Pack使ってみる

モバイル用の色んな機能が使えるCross Platform Native Plugins – Ultra Packというアセットを使ってみた。

今回はWebViewだけ。

機能一覧

• アドレスブック
• レシートバリデーション付きの課金 (アップルストア、Google Playストア)
• メディアライブラリー(イメージ、ビデオ、Youtube)
• ネットワーク接続
• 通知システム(ローカルおよびプッシュ)
• シェアリング(FB、Twitter、メール、メッセージング、WhatsApp)
• Twitter SDK
• UIダイアログ(アラート、プロンプト)
• Rate My App(私のアプリを評価してください)
• WebView

WebView

最初何をすればいいのかサッパリわからなくて、結構時間かかりました。WebViewって実機じゃないと動かないから、いちいちビルドして試したんだよね。USBでWindowsPCとスマホを繋げばリアルタイムでいけるっぽいけど。

まずは以下のPrefabをHierarchyにドラッグ。

Assets/Standard Assets/VoxelBusters/NativePlugins/Prefab/WebView.prefab

そして以下のようなコードを書く。webViewには上でドラッグしてきたPrefabを指定。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using VoxelBusters.NativePlugins;

public class Sample : MonoBehaviour {
    public WebView webView;

    private void Start () {
        // フルスクリーン表示
        webView.SetFullScreenFrame();

        // Webサイト読み込み
        webView.LoadRequest("http://www.google.com");
    }
}

これだけで表示できました。簡単。

使いそうなプロパティはこの辺かな。

// 表示サイズ指定
webView.Frame = new Rect(0, 0, 600, 600);

// 読み込み終わったら即表示
webView.AutoShowOnLoadFinish = true;

// 閉じるボタン追加
webView.ControlType = eWebviewControlType.CLOSE_BUTTON;

使わない機能を除去する

Unityエディタからチェックボックスで選べます。

Window > VoxelBusters > NativePlugins > Open NPSettings > Application Settings

全機能入れるとビルドサイズが2.5MBくらい大きくなるけど、ここで使うのだけ選択しておけばサイズを減らせます。

まとめ

サンプルコードあるし、リファレンスサイトもあるから何とかなるね。

しかしなんでUnity本体にはWebView付いてないんだろ。

コメントを残す

メールアドレスが公開されることはありません。