private bool SetWebviewWindow() { bool hasNetwork = Application.internetReachability != NetworkReachability.NotReachable; bool supported = true; WebviewOptions options = new WebviewOptions(); if (hasNetwork) { #if !UNITY_EDITOR && UNITY_ANDROID webViewObject = parent.gameObject.AddComponent <AndroidWebViewWindow>(); #elif !UNITY_EDITOR && UNITY_IOS webViewObject = parent.gameObject.AddComponent <IOSWebViewWindow>(); #else webViewObject = parent.gameObject.AddComponent <NotSupportedWebviewWindow>(); supported = false; #endif } else { webViewObject = parent.gameObject.AddComponent <NotSupportedWebviewWindow>(); supported = false; } webViewObject.OnLoaded = OnLoaded; webViewObject.OnJS = OnWebMessageReceived; webViewObject.Init(options); return(supported); }
public override void Init(WebviewOptions options) { if (!Application.HasUserAuthorization(UserAuthorization.WebCam)) { Application.RequestUserAuthorization(UserAuthorization.WebCam); } webView = _CWebViewPlugin_Init(name, options.Transparent, options.Zoom, options.UA, options.EnableWKWebView, (int)options.WKContentMode); }
public override void Init(WebviewOptions options = default) { bool hasNetwork = Application.internetReachability != NetworkReachability.NotReachable; string message = hasNetwork ? "Current platform\ndoes not support Webview." : "Network is not reachable."; MessageCanvas canvasPrefab = Resources.Load <MessageCanvas>("NotSupportedCanvas"); messageCanvas = Instantiate(canvasPrefab); messageCanvas.SetMessage(message); }
public override void Init(WebviewOptions options) { if (!Permission.HasUserAuthorizedPermission(Permission.Camera)) { Permission.RequestUserPermission(Permission.Camera); } webView = new AndroidJavaObject("io.wolf3d.webviewplugin.CWebViewPlugin"); webView.Call("Init", name, options.Transparent, options.Zoom, (int)options.AndroidForceDarkMode, options.UA); using (AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) { AndroidJavaObject currentActivity = unityPlayer.GetStatic <AndroidJavaObject>("currentActivity"); AndroidJavaObject view = currentActivity.Get <AndroidJavaObject>("mUnityPlayer").Call <AndroidJavaObject>("getView"); rectangle = new AndroidJavaObject("android.graphics.Rect"); view.Call("getWindowVisibleDisplayFrame", rectangle); windowVisibleDisplayFrameHeight = rectangle.Call <int>("height"); } }
public abstract void Init(WebviewOptions options);